📜  软件工程|功能点(FP)分析

📅  最后修改于: 2021-01-09 14:54:15             🧑  作者: Mango

功能点(FP)分析

Allan J. Albrecht最初于1979年在IBM开发函数点分析,后来国际功能点用户组(IFPUG)对其进行了进一步的修改。 FPA用于估算软件项目,包括根据软件产品的功能或函数大小进行测试。但是,功能点分析可用于产品的测试评估。产品的功能尺寸是根据功能点来衡量的,函数点是衡量软件应用程序的衡量标准。

FPA的目标

功能点分析的基本和主要目的是根据客户,客户和利益相关者的要求,衡量并提供软件应用程序功能的大小。此外,它用于在整个项目中始终衡量软件项目开发及其维护,而与工具和技术无关。

以下是有关FP的要点

1.通过计算应用程序中使用的功能的数量和类型来找出应用程序的FP。可以将应用程序中使用的各种功能分为五类,如表所示:

FP属性的类型

Measurements Parameters Examples
1.Number of External Inputs(EI) Input screen and tables
2. Number of External Output (EO) Output screens and reports
3. Number of external inquiries (EQ) Prompts and interrupts.
4. Number of internal files (ILF) Databases and directories
5. Number of external interfaces (EIF) Shared databases and shared routines.

然后单独评估所有这些参数的复杂性。

FPA功能单元如图所示:

2. FP表征了软件系统的复杂性,因此可以用来描述项目时间和人力需求。

3.开发项目所需的工作量取决于软件的功能。

4. FP是与编程语言无关的。

5. FP方法用于数据处理系统,业务系统(如信息系统)。

6.上述五个参数也称为信息域特征。

7.上面提到的所有参数都分配了一些权重,这些权重已经通过实验确定,并显示在表中

5-FP属性的权重

Measurement Parameter Low Average High
1. Number of external inputs (EI) 7 10 15
2. Number of external outputs (EO) 5 7 10
3. Number of external inquiries (EQ) 3 4 6
4. Number of internal files (ILF) 4 5 7
5. Number of external interfaces (EIF) 3 4 6

将功能复杂度乘以针对每个函数的相应权重,然后将这些值相加以确定子系统的UFP(未调整功能点)。

在这里,对于一个测量参数类型,加权因子将是简单,平均或复杂的。

因此,通过以下公式计算功能点(FP)。

FP =总数* [0.65 + 0.01 * ∑(f i )]
=总数* CAF

其中,总数是从上表获得的。

CAF = [0.65 + 0.01 * ∑(f i )]

∑(f i )是所有14个问卷的总和,并显示复杂度调整值/因子CAF(其中i介于1到14之间)。通常,向学生提供∑(f i )的值

还要注意∑(f i )的范围是0到70,即

0 <= ∑(f i )<= 70

和CAF的范围是0.65至1.35,因为

  • ∑(f i ) = 0时,CAF = 0.65
  • ∑(f i ) = 70时,CAF = 0.65 +(0.01 * 70)= 0.65 + 0.7 = 1.35

基于软件的FP度量,可以计算许多其他指标:

  • 错误/ FP
  • $ / FP。
  • 缺陷/ FP
  • 文档/ FP页数
  • 错误/ PM。
  • 生产力= FP / PM(工作量以人/月为单位)。
  • $ /页文档。

8.可以从FP估计应用程序的LOC。也就是说,它们是可以互换的。此过程称为回火。例如,1 FP等于大约100行COBOL代码。

9. FP指标主要用于衡量管理信息系统(MIS)软件的大小。

10.但是,上面获得的函数点是未经调整的函数点(UFP)。子系统的这些(UFP)通过考虑一些其他的常规系统特征(GSC)进一步调整。它是一组需要考虑的14个GSC。调整UFP的步骤如下:

  • 这14个GSC的每一个的影响程度(DI)的评估范围为0到5。(b)如果特定GSC没有影响,则将其权重视为0,如果影响力很大,则将其权重是5
  • 将所有14个GSC的分数相加,以确定总影响度(TDI)。
  • 然后,使用以下公式从TDI计算值调整因子(VAF): VAF =(TDI * 0.01)+ 0.65

请记住,VAF的值在0.65至1.35之间,因为

  • 当TDI = 0时,VAF = 0.65
  • 当TDI = 70时,VAF = 1.35
  • 然后将VAF与UFP乘以得到最终的FP计数: FP = VAF * UFP

示例:为以下数据计算函数点,生产率,文档,每函数成本:

  • 用户输入数量= 24
  • 用户输出数量= 46
  • 查询数量= 8
  • 文件数= 4
  • 外部接口数量= 2
  • 努力= 36.9 pm
  • 技术文件= 265页
  • 用户文档= 122页
  • 成本= $ 7744 /月

各种处理复杂度因子为:4、1、0、3、3、5、4、4、3、3、2、2、4、5。

解:

Measurement Parameter Count Weighing factor
1. Number of external inputs (EI) 24 * 4 = 96
2. Number of external outputs (EO) 46 * 4 = 184
3. Number of external inquiries (EQ) 8 * 6 = 48
4. Number of internal files (ILF) 4 * 10 = 40
5. Number of external interfaces (EIF) Count-total → 2 * 5 = 10
378

因此所有f i (i←1至14)的总和= 4 + 1 + 0 + 3 + 5 + 4 + 4 + 3 + 3 + 2 + 2 + 4 + 5 = 43

FP =总数* [0.65 + 0.01 * ∑(f i )]
= 378 * [0.65 + 0.01 * 43]
= 378 * [0.65 + 0.43]
= 378 * 1.08 = 408

文档总页数=技术文档+用户文档
= +="" 122="387页

文档=文档/ FP页面
= 387="" 408="0.94

区分FP和LOC

FP LOC
1. FP is specification based. 1. LOC is an analogy based.
2. FP is language independent. 2. LOC is language dependent.
3. FP is user-oriented. 3. LOC is design-oriented.
4. It is extendible to LOC. 4. It is convertible to FP (backfiring)

=>


=>