8.4 基于经验的软件估算:COCOMO经验估算模型
8.5. 基于经验的软件估算
基于回归分析的经验估算模型
通过对以往软件项目中搜集的数据进行回归分析而导出
COCOMO经验估算模型
- Constructive Cost Model,构造性成本模型,用于对软件开发项目的规模、成本、进度等方面进行估算
- COCOMO模型是一个综合经验模型,模型中的参数取值来自于经验值,并且综合了诸多的因素、比较全面的估算模型
- 在欧盟国家应用较为广泛
COCOMO经验估算模型层次 - 支持不同的阶段
- 基本COCOMO模型
- 系统开发的初期,估算整个系统的工作量(包括维护)和软件开发和维护所需的时间
- 中间COCOMO模型
- 估算各个子系统的工作量和开发时间
- 详细COCOMO模型
- 估算独立的软构件,如各个子系统的各个模块的工作量和开发时间
COCOMO经验估算模型——基本模型
- E = a * (KLOC)^b ;
- E是工作量(人月) ,a和b是经验常数
- D = c * E^d ;
- D是开发时间(月) ,c和d是经验常数,其取值见下表
COCOMO经验估算模型——中间模型
-
E = a * (KLOC)^b * EAF
- EAF 影响因子
- EAF的计算=Fi ( i=1..15)
- 调节因子及其取值由统计结果和经验决定,不同的软件开发组织在不同的时期可能会有不同的取值
-
其中,E表示工作量(人月),EAF表示工作量调节因子,a,b为经验常数,其取值见下表
案例
-
案例分析:用基本COCOMO模型估算项目的工作量、开发时间和参加项目开发的人数
-
CAD软件:目标代码行33.2KLOC,属于中等规模,半独立型,因而a = 3.0, b = 1.12, c = 2.5, d = 0.35
-
E = 3.0*(33.2)^1.12 =152 PM
-
D = 2.5*(152)0.35 = 14.5 (月)
-
参加项目人数N = E/D = 152/14.5 = 11(人)
---------------------------
“朝着一个既定的方向去努力,就算没有天赋,在时间的积累下应该也能稍稍有点成就吧。”