IT项目管理中软件开发成本估算主要是指软件开发过程中的工作量和相应成本。与传统工业产品不同,软件的成本不包括原材料和能源的消耗,主要是人类的劳动力消耗。此外,软件没有明显的制造过程,其开发成本是根据一次性开发过程的成本计算的。因此,软件开发成本的估算应以软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试为基础。
软件开发成本估算经验模型
Putnam模型
1978年Putnam一种动态多变量模型。
L=Ck*K1/3*td4/3
其中:L-----------源代码行数(以LOC计)
K-----------整个开发过程的工作量(以人年计)
td-----------开发持续时间(以年计)
Ck----------技术状态常数反映了阻碍发展进展的限制,因发展环境而异,见下表
Ck典型值开发环境开发环境
2000差没有系统的开发方法,缺乏文档和审查
8000好有合适的系统开发方法,有足够的文档和审查
拥有自动开发工具和技术
可以从上述方程中获得估计工作量的公式:K=L3/(Ck3*td4)
开发时间也可以估计:td=[L3/(Ck3*K)]1/4
COCOMO模型(constructive cost model)
这是由TRW公司开发,Boehm结构化成本估算模型。成本估算方法准确易用。
COCOMO以下变量用于模型:
DSI-------不包括注释。1KDSI=1000DSI。
MM-------开发工作量(以人月计)1MM=19人日=152人时=1/12人年
TDEV-----开发进度。
COCOMO软件开发项目的类型可分为三类:
组织型(organic):相对较小和简单的软件项目。开发人员对开发目标有充分的了解,具有丰富的软件系统相关工作经验,熟悉软件的使用环境,受硬件限制较小,程序规模不是很大(<50000行)
嵌入型(embedded):要求在密切相关的硬件、软件和操作的限制下运行,通常与一些复杂的硬件设备紧密结合。对接口、数据结构和算法的要求很高。任意软件规模。如大而复杂的事务处理系统、大/超大操作系统、航天控制系统、大指挥系统等。
半独立型(semidetached):介于上述两种软件之间。规模和复杂性均为中等或更高。最大可达30万行。
估算公式:
基本COCOMO模型估算工作量和进度的公式如下
工作量:MM=r*(KDSI)c
进度:TDKV=a(MM)b
经验常数r,c,a,b取决于项目的总体类型。
COCOMO模型按其细节可分为三级:基本COCOMO模型,中间COCOMO模型,详细COCOMO模型COCOMO该模型是一种静态单变量模型,它使用已估计的原始代码行数(LOC)计算软件开发工作量的自变量经验函数。COCOMO模型在基本COCOMO在模型的基础上,利用产品、硬件、人员、项目等影响因素调整工作量估算。详细说明COCOMO模型包括中间COCOMO该模型的所有特性,但进一步考虑了软件工程中每一步(如分析、设计)的影响。
基本COCOMO模型
通过统计63个历史项目的历史数据,得到以下计算公式。
整体类型工作量进度MM=10.4*(KDSI)1.05 TDKV=10.5(MM)0.38半独立型&n