工作量估算方法
基于WBS的工作量估算
基于WBS的工作量估算方法,是最常见的一种估算方法,也是厂商最常用的。基于WBS的工作量的估算方法,又称为由底向上法(自下而上法),通常的估算步骤如下:
1)寻找类似的历史项目,进行项目的类比分析,根据历史项目的工作量凭经验估计本项目的总工作量;
2)进行WBS分解,力所能及地将整个项目的任务进行分解;
3)参考类似项目的数据,采用类比法或专家法,估计WBS中每类活动的工作量;
4)汇总得到项目的总工作量;
5)与第1)步的结果进行印证分析,根据分析结果,确定估计结果。
基于代码行的工作量估算
基于代码行(SLOC)的工作量估算,是从开发者的技术角度出发来度量软件。代码行数是软件开发者最早进行规模测量的主要方法。进行工作量估算时,先采用WBS法、类比法等统计出软件项目的代码行数,然后将代码行数转换为人天数。其中,将代码行(SLOC)转换成人天数主要有2种方法。
1)生产率方法:要求有开发商每人天开发的代码行数,估算出代码行数后,直接利用代码行数÷SLOC/人天,即得工作量人天数。
2)参数模型法:利用模型,将代码行数转换成人天数。
常见的模型有:
Putnam模型
Putnam1978 年提出的一种动态多变量模型。估算工作量的公式是:K = L^3/(Ck^3*td^4)
其中:L 代表源代码行数(以行计),K代表整个开发过程所花费的工作量(以人年计),td 表示开发持续时间(以年计),Ck表示技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异。
COCOMOⅡ模型
COCOMOⅡ模型指出,软件开发工作量与软件规模呈指数关系,并且工作量受16个成本驱动因子的影响。COCOMO Ⅱ的计算步骤如下:
1)估算软件规模Size,这里以千代码行(KSLOC)计。
2)评估比例因子SF,求指数E。
3)求成本驱动因子值EMi。求标称进度工作量PM:
IBM模型
IBM模型是1977年IBM公司的Walston和Felix提出的。其中估算工作量的公式如下:E=5.2×L^0.91 ,L是源代码行数(以千行计),E是工作量(以人月计)
基于功能点的工作量估算
基于功能点(FP)的工作量估算,是从用户的角度来度量软件。进行工作量估算时,先估计出软件项目的功能点数,然后将功能点数(FP)转换为人天数。其中,估算功能点数的主要方法有3种:IFPUG法、MarkⅡ法、COSMIC FFP法。这三种方法现在都已经成为国际标准,并有详细的操作手册。
将功能点(FP)转换成人天数主要有2种方法。
1)生产率法:要求有开发商每人天开发的功能点数,估算出功能点数后,直接利用功能点数÷功能点/天,即得工作量人天数。对于开发商每人天开发的功能点数,SPR有统计,中国的值大约在5.5个功能点/人月。
2)经验模型法:可以依照本企业的历史数据得到关于功能点和工作量的统计方程;也可以采用已有的经验模型,例如:COCOMOⅡ模型