软件项目管理中开发成本估算主要是指软件开发过程中的工作量和相应成本。与传统工业产品不同,软件项目管理的成本不包括原材料和能源的消耗,主要是人类的劳动力消耗。此外,软件没有明显的制造过程,其开发成本是根据一次性开发过程的成本计算的。因此,软件开发成本的估算应以软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试为基础。软件开发成本估算的经验模型Putnam模型1978年Putnam一种动态多变量模型。
L=Ck*K1/3*td4其中:L-----------源代码行数(以LOC计)K-----------整个开发过程的工作量(以人年计)td-----------发展持续时间(以年计)Ck----------技术状态常数反映了阻碍发展进展的限制,因发展环境而异Ck的典型值开发环境开发环境举例2000差没有系统的开发方法,缺乏文档和审查8000好有合适的系统开发方法,有足够的文档和审查11000有自动开发工具和技术可以从上述方程中获得估计工作量的公式: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