–转载
功能点(FP)分析详细解释
Allan J. Albrecht最初于1979年在IBM开发功能点分析, 后来国际功能点用户组(IFPUG)对其进行了进一步的修改。 FPA用于估算软件项目, 包括根据软件产品的功能或功能大小进行测试。但是, 功能点分析可用于产品的测试评估。产品的功能尺寸是根据功能点来衡量的, 功能点是衡量软件应用程序的衡量标准。
FPA的目标
功能点分析的基本和主要目的是衡量软件应用程序功能的大小, 并根据客户, 客户和利益相关者的要求提供它们。此外, 它可用于在整个项目中始终测量软件项目的开发及其维护, 而与工具和技术无关。
以下是有关FP的要点
1.通过计算应用程序中使用的功能的数量和类型来找出应用程序的FP。可以将应用程序中使用的各种功能分为五类, 如表所示:
FP属性的类型
然后单独评估所有这些参数的复杂性。
FPA功能单元如图所示:
功能点(FP)分析
2. FP表征了软件系统的复杂性, 因此可以用来描述项目时间和人力需求。
3.开发项目所需的工作量取决于软件的功能。
-
FP是与编程语言无关的。
-
FP方法用于数据处理系统, 业务系统(如信息系统)。
6.上面提到的五个参数也称为信息域特征。
7.上面提到的所有参数都分配了一些权重, 这些权重已经通过实验确定, 并显示在表中
5-FP属性的权重
将功能复杂性乘以针对每个功能的相应权重, 然后将这些值相加以确定子系统的UFP(未调整功能点)。
功能点(FP)分析
在这里, 对于一个测量参数类型, 加权因子可以是简单, 平均或复杂的。
因此, 通过以下公式计算功能点(FP)。
FP =总数* [0.65 + 0.01 * ∑(fi)]
=总数* CAF
其中, 总数是从上表获得的。
CAF = [0.65 + 0.01 * ∑(fi)]
∑(fi)是所有14个问卷的总和, 并显示复杂度调整值/因子CAF(其中i介于1到14之间)。通常, 向学生提供∑(fi)的值
另请注意, ∑(fi)的范围是0到70, 即
0 <= ∑(fi)<= 70
和CAF介于0.65至1.35之间, 因为
1.当∑(fi)= 0时, CAF = 0.65
2.当∑(fi)= 70时, CAF = 0.65 +(0.01 * 70)= 0.65 + 0.7 = 1.35
基于软件的FP度量, 可以计算许多其他指标:
1.错误/ FP
2.$ / FP。
3.缺陷/ FP
4.文档/ FP页数
5.错误/ PM。
6.生产率= FP / PM(工作量以人/月为单位)。
7.$ /页文档。
8.可以从FP估计应用程序的LOC。也就是说, 它们是可以互换的。此过程称为回火。例如, 1 FP等于大约100行COBOL代码。
- FP指标主要用于衡量管理信息系统(MIS)软件的大小。
10.但是, 上面获得的功能点是未经调整的功能点(UFP)。子系统的这些(UFP)通过考虑更多常规系统特征(GSC)进行进一步调整。它是一组需要考虑的14个GSC。调整UFP的步骤如下:
1.这14个GSC的每一个的影响度(DI)的评估范围为0到5。(b)如果某个GSC没有影响力, 则将其权重视为0;如果影响力很大, 则其权重是5
2.将所有14个GSC的分数相加, 以确定总影响度(TDI)。
3.然后, 使用以下公式从TDI计算值调整因子(VAF):VAF =(TDI * 0.01)+ 0.65
请记住, VAF的值在0.65至1.35之间, 因为
1.当TDI = 0时, VAF = 0.65
2.当TDI = 70时, VAF = 1.35
3.然后将VAF与UFP乘以得到最终的FP计数:FP = VAF * UFP
示例:为以下数据计算功能点, 生产率, 文档, 每功能成本:
1.用户输入数量= 24
2.用户输出数量= 46
3.查询数量= 8
4.文件数= 4
5.外部接口数量= 2
6.努力= 36.9 pm
7.技术文件= 265页
8.用户文档= 122页
9.成本= $ 7744 /月
各种处理复杂度因子为:4、1、0、3、3、5、4、4、3、3、2、2、4、5。
解:
因此所有fi(i←1至14)的总和= 4 + 1 + 0 + 3 + 5 + 4 + 4 + 3 + 3 + 2 + 2 + 4 + 5 = 43
FP =总数* [0.65 + 0.01 * ∑(fi)]
= 378 * [0.65 + 0.01 * 43]
= 378 * [0.65 + 0.43]
= 378 * 1.08 = 408
功能点(FP)分析
文档总页数=技术文档+用户文档
= 265 + 122 = 387页
文档=文档/ FP页面
= 387/408 = 0.94
功能点(FP)分析
区分FP和LOC
FP
LOC
- FP基于规范。 1. LOC是基于类推的。
- FP与语言无关。 2. LOC与语言有关。
- FP是面向用户的。 3. LOC是面向设计的。
4.它可以扩展到LOC。 4.可以转换为FP(回火)