1 软件开发成本估算软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价
不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗
另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的
因此, 软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的
软件开发成本估算的经验模型1
Putnam 模型1978 年 Putnam提出的,一种动态多变量模型
L = Ck * K1/3 * td4/3其中: L-----------源代码行数 ( 以 LOC计) K-----------整个开发过程所花费的工作量(以人年计)td-----------开发持续时间(以年计)Ck----------技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环2 境而异,见下表Ck 的典型值开发环境开发环境举例2000 差没有系统的开发方法,缺乏文档和复审8000 好有合适的系统的开发方法,有充分的文档和复审11000 优有自动的开发工具和技术从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4) 还可以估算开发时间: td = [L3/(Ck3*K)]1/42
COCOMO模型 (constructive cost model) 这是由 TRW公司开发, Boehm提出的结构化成本估算模型
是一种精确的、易于使用的成本估算方法
COCOMO模型中用到以下变量:DSI-------源指令条数
1KDSI = 1000DSI
MM-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年TDEV----- 开发进度
( 以月计 ) 3 COCOMO模型中,考虑开发环境,软件开发项目的