常用的5种软件成本度量方法
常用的软件成本度量方法包括Wideband Delphi、SLIM、PRICE-S、SEER-SEM和COCOMOⅡ等。
Wideband Delphi
Wideband Delphi是一种基于专家经验的主观估算方法,估算活动的组织者向估计专家阐述估算的事项及相关背景,估计专家独立进行估算,当专家的估计值差异足够小,满足一定阈值要求或者估计轮次达到上限时停止估计,然后采用加权平均的方式确定估算结果。
SLIM
SLIM估算方法假设软件开发工作量的分布规律符合Rayleigh曲线,且每个点对应一个主要的开发活动,SLIM方法中软件功能规模S计算公式如下:
S=CK1/3td3/4
式中,C为技术因子;K为按人年计算的项目总工作量(包含维护工作量);td为以年为计算单位的交付前剩余时间,理论上,td是Rayleigh曲线上的最大值点。
PRICE-S
PRICE-S模型最初由美国无线电公司开发,并用于大名鼎鼎的阿波罗登月计划的软件项目估算。PRICE-S由3个子模型组成:
用于预测成本和制定计划的采购子模型。
用于估算软件规模的规模子模型。
用于估算软件运维阶段的早期成本的生存周期成本子模型。
SEER-SEM
使用SEER-SEM估算方法需要了解软件项目基本信息,如规模、技术复杂度、生产率等。
使用SEER-SEM,首先需要计算软件有效规模Se。有效规模的计算公式如下:
Se=新规模+原规模(0.4重设计+0.25重实现+0.35重测试)
得到项目的有效规模后,就可以计算项目的工时:
K=D0.4(Se/Cte)1.2
式中,K为软件项目所需的工时,D为复杂性程度(根据项目添加人员的速度对项目难度进行评级),Se为有效规模,Cte为考虑综合因素后的生产率系数。
计算项目工期的公式如下:
td=D-0.2(Se/Cte)0.4
式中,td为预期的软件项目工期。
COCOMO Ⅱ
COCOMOⅡ是当今世界上应用最广泛的软件成本估算模型之一,它以软件规模作为估算的主要依据,使用17个工作量乘数与5个规模因子(见下表)来体现不同软件项目在项目环境、运行平台、人员、产品等方面的差异。
早期设计模型成本驱动因子 | 后体系结构模型成本驱动因子 |
---|---|
产品可靠性与复杂性PCPX | RELY、DATA、CPLX、DOCU |
可复用性开发RUSE | RUSE |
平台难度PDIF | TIME、STOR、PVOL |
人员能力PERS | ACAP、PCAP、PCON |
人员经验PREX | APEX、PLEX、LTEX |
设施FCIL | TOOL、SITE |
要求的开发进度SCED | SCED |
Driver | Very low | Low | Nominal | High | Very high | Extra high |
---|---|---|---|---|---|---|
PREC | 6.20 | 4.96 | 3.72 | 2.48 | 1.24 | 0.00 |
FLEX | 5.07 | 4.05 | 3.04 | 2.03 | 1.01 | 0.00 |
RESL | 7.07 | 5.65 | 4.24 | 2.83 | 1.41 | 0.00 |
TEAM | 5.48 | 4.38 | 3.29 | 2.19 | 1.10 | 0.00 |
PMAT | 7.80 | 6.24 | 4.68 | 3.12 | 1.56 | 0.00 |
COCOMOⅡ是一个可扩展的结构化成本估算模型。使用者可以对模型不断进行校准,加入新的成本驱动因子,就能在新的运行环境下获得准确的估算结果。
这正是:
成本度量有方法,五种方法各不同
因人而异去选择,适合自己价值多
参考书目:软件成本度量国家标准实施指南: 理论方法与实践,作者: 张旸旸,出版社: 电子工业出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。