
软件成本估算宣贯.pdf
3页软件开发成本估算软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的软件开发成本估算的经验模型1. Putnam 模型1978 年 Putnam提出的,一种动态多变量模型L = Ck * K1/3 * td4/3其中: L-源代码行数 (以 LOC计) K-整个开发过程所花费的工作量(以人年计)td-开发持续时间(以年计)Ck-技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表Ck的典型值开发环境开发环境举例2000 差没有系统的开发方法,缺乏文档和复审8000 好有合适的系统的开发方法,有充分的文档和复审11000 优有自动的开发工具和技术从上述方程加以变换,可以得到估算工作量的公式:K = L3/(Ck3*td4)还可以估算开发时间:td = L3/(Ck3*K)1/42.COCOMO模型(constructive cost model) 这是由 TRW 公司开发, Boehm提出的结构化成本估算模型。
是一种精确的、易于使用的成本估算方法COCOMO模型中用到以下变量:DSI-源指令条数不包括注释1KDSI = 1000DSIMM-开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年TDEV- 开发进度 ( 以月计 ) COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3 种:1. 组织型 (organic): 相对较小、较简单的软件项目开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大( 50000行)2. 嵌入型 (embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起对接口,数据结构,算法的要求高软件规模任意如大而复杂的事务处理系统,大型/ 超大型操作系统,航天用控制系统,大型指挥系统等3. 半独立型 (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.05TDKV = 10.5(MM)0.38半独立型MM = 3.0*(KDSI)1.12TDKV = 10.5(MM)0.35嵌入型MM = 3.0*(KDSI)1.20TDKV = 10.5(MM)0.32。
