通过对需求说明书的分析,我们可以使用“功能点”来对软件产品所提供给用户的功能加以度量。
规模估算
估算步骤
1. 识别功能点的类型。
2. 识别待估算应用程序的边界和范围。
3. 计算数据类型功能点所提供的未调整的功能点数量。
4. 计算人机交互功能所提供的未调整的功能点数量。
5. 确定调整因子。
6. 计算调整后的功能点数量。
简单介绍
通过对需求说明书的分析,我们可以使用“功能点”来对软件产品所提供给用户的功能加以度量。程序长度和复杂性都是对程序的事后分析,软件功能性却可在软件开发的初期进行分析,这对我们预测项目规模,规划项目时间表非常有帮助。
Albrecht的度量方式是先按需求描述对功能点计数,得到未调整功能点,再按系统涉及到的技术功能点对该数值进行修正。
按照软件表示技术,一项需求可描述为若干外部输入、外部输出、外部请求、外部文件、内部文件的集合。对集合中每一子项进行计数,并按其复杂性指派相应的权重,可得未调整功能点UFC:
UFC = ∑ ni=1(项目i的权重*权重i)
任何需求的实现,总与一定的技术有关。Albrecht定义了14项技术特性,对应每一特性有一个从0到5的关联值Fi(0说明此项技术特性与功能实现毫无关系,5说明此项技术特性是系统建立必不可少的组成部分)。一项需求的技术复杂性特性值TCF即由这些评分合成,公式如下:
TCF = 0.65 + 0.01 ∑ 14i=1Fi
最后,功能点的度量值FP,为以上二者的乘积:
FP = UFC * TCF
估算过程
估算的过程主要包括规模估算、规模调整、估算工作量、估算工期和确定预算。上一部分主要讲解了估算规模和规模调整这两部分。
根据调整后软件规模,估算工作量,公式如下:AE=(PDR*S)*SWF*RDF
估算工期可根据工作量-工期模型计算,公式如下:D=1.277*(AE/HM 1 )0.404,当期望工期短于估算工期的下限时,应对项目需求进行分析并适当调整。通常,压缩工期会增加项目工作量,及导致生产效率降低。
在获得了工作量估算结果后,可采用以下公式估算项目预算:P=AE/HM 2 *F 2 +DNC
审批预算时应考虑以下因素:预算的合理性;可用于本项目的资金情况;概算或年初总预算额;其他预算项目可行性及
投资收益率对比和平衡。(以上内容均摘自行标《
软件研发成本度量规范》)