成本估算是信息系统工程项目管理中的一项重要任务。开发成本主要是指开发过程
中所花费的工作量及相应的代价,开发成本估算应该以整个开发过程中所花费的人工代
价为依据。

请围绕“信息系统开发成本估算”论题,依次从以下三个方面进行论述。
(1)概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。
(2)论述在估算开发成本时可以采用的方法和模型,并进一步分析这些估算方法和
模型的优缺点。
(3)详细论述在你参与分析和开发的应用项目中具体采用的估算开发成本的技术、
方法、模型、工具及其实际效果。
分析
成本估算是一个十分容易被忽视,但却又是十分重要的一个内容。其重要的原因是
没有成本估算,项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组
织未能够有效掌握它。项目估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:
首先根据需求进行规模估算,也就是预计系统的规模,通常以代码行数、功能点数为单
位;然后在估计的规模的基础上,根据项目的特定因素(例如技术能力、使用的语言和
平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量,通常
以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算,根据人员及
其他成本(如设备、房租、差旅等)对总的开发成本进行估算。估算的基础是经验数字
和经验模型。
从上面的描述中,我们可以看出规模估算是系统开发成本估算的基础(数据来源),
而工作量估算则是系统开发成本估算的关键(决定了开发成本)。
规模估算最常用的方法包括 LOC(代码行)估算法、FP(功能点)估算法。LOC
估算法主要根据历史项目记录,以经验数据进行推测;而 FP 估算法则通过一个较严谨
的经验模型计算公式来进行估算。FP 估算法是一种比较通行的软件规模估算方法。
而工作量估算可以采用的模型、方法和技术就比较多了,大致可以分为算法方法、
类比法、自底向上法 3 种。
1.算法方法
算法方法估算是自顶向下的方式实现,使用数学方式表达出估算所含的各种参数之
间的关系,如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的,也可
是动态的。最常见的算法方法估算模型包括 Mark II 估算、COCOMO81、COCOMOII、
COCOMO 组、Putnam 估算模型等。
(1)Mark II FP 估算:不是一个严格的算法模型,是基于各种因素和它们的影响
的主观评价之间关系的一些理解。
(2)COCOMO:是根据产品规模和几个特征计算工作量和日历时间的估算算法模
型。它是由 Barry Boehm 博士开发的,首发于 1981 年,即 COCOMO81,而 COCOMO
II 则是其新版本,不过由于它们各有特色,因此还共同存在于估算实践中。是一个较严
格,并经受了大量实践考验的一个经典估算模型。
(3)COCOMO 组:包括重点应用于 COTS 组件项目的 COCOTS 模型;用来预测
每千 LOC 或 FP 中残留错误的 COQUALMO 模型;着重于开发系统的成本在开发活动
上的分布的 COSSEMO 模型;着重在预测新技术、提高生产率的发明方面最有效的成
26 / 2827 / 28
本分配的 COPROMO 模型。
(4)Putnam 估算模型:它是一个工作量动态的、多变量的估算模型,它对交付时
间十分敏感。
(5)静态模型:除了以上动态模型外,还有一些常用的静态模型,其中最常用的
是 Watson 和 Felix 模型。其计算公式是不变的:工作量=5.2×(KLOC) 0.91,持续时间(月)
=4.1×(KLOC)0.36,可以用来生成较粗略的估算值。
算法方法估算法虽然定义严谨,但是由于这些算法只是源于几十个项目的数据总
结,因此其结果并不是精确的,但其仍然还是具有较高的参考价值。并且随着开发团队
数据的积累和经验的堆积,产生的估算也会越来越精确。
2.类比估算法
类比估算法则是自顶向下的察看系统,它借助经验丰富的人员的“本能感受”去识
别待估项目和已完成的项目之间的相似与差异之处,并评估这些差别对评估的影响。这
种方法的主观意识较强,估算的结果的精确度与估算人员的经验有很大的联系。
3.自底向上估算法
自底向上估算法自底向上估算是将项目分解成为较小的活动和任务,对每个较低层
的任务做估算,然后将所有的较低层的任务估算值加在一起,就可以得到项目总的工作
量估算值。由于这种估算通常是由程序员来进行小任务块的估算,因此容易让程序员产
生责任感,进度更有保障。
而有了工作量估算后,就可以计算出工作人员成本,但在进行开发成本估算时还应
该考虑硬件、软件、通信、差旅、培训,以及其他管理成本。
解答要点
我们可以从上面的描述中总结出撰写关于“论信息系统开发成本估算”的论文,主
要应该注意以下几个方面的要点:
(1)由于许多软件开发成本估算模型都需要一些参数依据,因此应该对于项目的复
杂度、涉及到的关键技术、团队情况等因素进行阐述,以便能够连贯地说明估算的过程。
(2)由于工作量估算是成本估算的关键,其估算的结果决定了成本估算,而成本估算28 / 28
则是在工作量的基础上做一些简单的财务计算,因此可以理解为工作量估算的方法和模型。
(3)文章中应该列举出算法方法估算法、类比估算法,以及自底向上估算法三种模
型,并且应该抓住它们各自鲜明特点进行深入的阐述。
(4)在前面描述的基础上,针对本项目的特色进行分析,引出最合适的模型,然后
再结合实例,详细地说明应用的具体方案。在编写时,一定要注意突出其真实性。
(5)文章应该花一定篇幅来说明估算的效果,也就是估算的误差值是多少,并且可
以简要地分析这些误差值会来源于何处。
有不懂的问题可以加入高项备考企鹅峮,不仅能收获学习资料还能组团备考