【正确答案】对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。一个项目是否开发,从经济上来说是否可行,归根结底是取决于对成本的估算。成本估算方法有:
(1)自顶向下估算方法。估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行分配。
自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏系统级的如集成、用户手册和配置管理之类的事务的成本估算,且估算工作量小、速度快。它的缺点是经常不清楚低级别上的技术性困难问题,而往往就是这些困难会使成本增加。
(2)自底向上估算方法。自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发工作量。这种方法的优点是对每一部分的估算工作交给负责该部分工作的人员来做,所以估算较为准确。其缺点是其估算往往缺少与软件开发有关的系统级工作量,如集成、配置管理、质量管理、项目管理等,所以估算往往偏低。
(3)差别估算方法。差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。该方法的优点是可以提高估算的准确度,缺点是不容易明确“差别”的界限。
此外还有许多方法,大致可分为三类:
(1)专家估算方法。依靠一个或多个专家对要求的项目作出估算,其精确性取决于专家对估算项目的定性参数的了解和他们的经验。
(2)类推估算方法。自顶向下的方法中,它是将估算项目的总体参数与类似项目进行直接比较而得到的结果。自底向上方法中,类推是在两个具有相似条件的工作单元之间进行的。
(3)算式估算方法。专家估算法和类推估算法的缺点在于它们依靠带有一定盲目和主观的猜测对项目进行估算。算式估算法则是企图避免主观因素的影响。用于估算的方法有两种基本类型:由理论导出和由经验得出。
【答案解析】