功能点估算法

更新时间:2022-05-30 10:48

通过对需求说明书的分析,我们可以使用“功能点”来对软件产品所提供给用户的功能加以度量。

规模估算

估算步骤

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

审批预算时应考虑以下因素:预算的合理性;可用于本项目的资金情况;概算或年初总预算额;其他预算项目可行性及投资收益率对比和平衡。(以上内容均摘自行标《软件研发成本度量规范》)

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}