早期功能点分析

Nesma识别三种功能点分析方法:

  • 详细功能点分析
  • 估计功能点分析
  • 指示功能点分析

所有这三种方法都是独立的功能调整大小测量 (FSM) 自己的方法. 高级FPA方法和指示性FPA方法不需要详细的用户要求, 而使用这些方法确定的功能大小与使用详细FPA方法确定的功能大小非常接近. 因此,这两种方法非常适合在软件开发生命周期的早期应用,或者在需要快速确定功能大小的情况下.

The information on this page is also available as a free document
in Dutch, English, Portuguese and Japanese.

详细的FPA

这是通常的功能点分析方法,执行方法如下:

  • 确定所有功能类型的所有功能 (ILF, EIF, 没有, 是的, 情商)
  • 评价每个功能的复杂性 (低, 平均, 高)
  • 计算未调整的功能点总数

高级FPA (又名. 预估FPA)

高级功能点分析方法执行如下:

  • 确定所有功能类型的所有功能 (ILF, EIF, 没有, 是的, 情商)
  • 评估每个数据功能的复杂性 (ILF, EIF) 低和所有交易功能 (没有, 是的, 情商) 平均
  • 计算未调整的功能点总数

所以, 与详细的功能点分析方法进行这种近似的唯一区别在于,并不是每个函数都可以确定复杂性, 但默认情况下.

指示性FPA

指示功能点分析方法如下:

  • 确定数据功能的数量 (ILF和EIF);
  • 如下计算应用程序的未调整功能点总数: 指示大小 (fp) = 35 x ILF数量 + 15 x EIF数量

因此,这种近似仅基于逻辑文件 (ILF和EIF).

指示性功能点分析基于以下假设:将有大约三个EI (加上, 更改, 并删除ILF中的信息), 两个EO, 每个ILF平均一个EQ, 每个EIF大约有一个EO和一个EQ.

指示性例子, 高级详细FPA

本节通过一个小案例研究说明了三种FPA方法: 维护客户数据和产品数据的应用程序, 并参考供应商数据. 一个想要更精确的功能尺寸, 一个用户需要的更详细的用户要求. 因此,本案例研究按精度提高的顺序介绍了三种功能点分析方法:

  • 指示功能点分析
  • 高水平 (估计的) 功能点分析
  • (详细) 功能点分析

指示性FPA

对于指示性功能点分析,仅需要有关数据功能的信息.

用户要求:

  • 用户想要维护客户数据和产品数据, 并参考供应商数据.

这个 (粗) 规格足以指示功能点数:

  • ILF: 客户与产品
  • EIF: 供应商
数据功能

功能类型

功能点
(默认)

顾客

ILF

35

产品

ILF

35

供应商

EIF

15

指示功能尺寸

85 fp

高级FPA

为了执行高级功能点分析,我们还需要有关事务功能的信息, 因此需要更详细的用户要求: 用户要求:

  • 用户要添加, 更改, 删除客户数据, 想查询客户, 并且还需要有关客户的四个不同报告以及计算出的数据
  • 用户要添加, 更改, 删除产品数据, 想查询产品, 并且还需要一份包含计算数据的产品报告
  • 用户想使用供应商编号查询供应商, 并且还需要一份关于供应商的报告,并附上总结果

用户需求的这一更详细的规范显示了交易功能的实际数量, 因此可以估算功能点数.

数据或交易功能

功能类型

复杂 (默认)

功能点 (未经调整)

顾客

ILF

7

产品

ILF

7

供应商

EIF

5

添加客户

没有

平均

4

变更客户

没有

平均

4

删除客户

没有

平均

4

询问客户

情商

平均

4

报告 1 对客户

是的

平均

5

报告 2 对客户

是的

平均

5

报告 3 对客户

是的

平均

5

报告 4 对客户

是的

平均

5

添加产品

没有

平均

4

变更产品

没有

平均

4

删除产品

没有

平均

4

查询产品

情商

平均

4

产品报告

是的

平均

5

询问供应商

情商

平均

4

供应商报告

是的

平均

5

估计功能尺寸

85 fp

详细的FPA

进行详细的功能点计数, 一个不仅需要每种功能类型的功能数量 (没有, 是的, 情商, ILF, EIF), 但还需要确定每个功能的功能复杂性 (低, 平均, 高). 在FPA中, 一个功能的复杂性 (数据或交易) 功能确定, 基于DET的数量, 与该功能相关的RET和引用的文件类型. 这就是为什么用户要求 (正如我们在上面的示例中讨论估算的功能点数时所述) 需要更详细地分析: 哪些数据元素 (DETs) 和逻辑文件 (引用的文件类型) 由事务功能使用 (没有, 是的, 情商), 以及哪些逻辑数据组 (可再生能源) 和数据元素 (DETs) 数据功能 (ILF, EIF) 由组成. 用户需求的详细分析可能导致以下功能点计数:

数据或交易功能

功能类型

复杂

功能点 (未经调整)

顾客

ILF

平均

10

产品

ILF

7

供应商

EIF

5

添加客户

没有

6

变更客户

没有

平均

4

删除客户

没有

3

询问客户

情商

3

报告 1 对客户

是的

4

报告 2 对客户

是的

平均

5

报告 3 对客户

是的

4

报告 4 对客户

是的

7

添加产品

没有

平均

4

变更产品

没有

3

删除产品

没有

3

查询产品

情商

平均

4

产品报告

是的

平均

5

询问供应商

情商

3

供应商报告

是的

平均

5

功能尺寸

85 fp

结论

在此特定案例研究中,所有这三种方法均导致相同的函数大小 85 功能点. 通常结果并不完全相同, 但是彼此之间还是很亲近的. 下面显示了对估计的和指示性的功能点分析方法的准确性的研究结果。.

研究结果基于 100+ 项目数据库

使用约的数据库 100+ 开发和实施的应用程序Nesma对估计和指示性FPA近似方法的准确性进行了研究. 使用所有三种FPA方法同时测量已实施的应用程序. 结果显示在两个图表中:

1. 通过高级功能点分析方法测量的大小与通过详细功能点分析方法测量的大小:

estdetfp

2. 通过指示性功能点分析测量的大小与通过详细功能点分析方法测量的大小:

inddetfp

有很好的相关性 (直线) 在两种情况下. 在指示功能点分析图中, 然而, 有很大的偏差 (高达约 50%) 在某些情况下. 因此,使用指示性功能点分析时应格外小心. 这种指示性FPA方法的优势在于,仅在很短的时间内就可以轻松估算出应用程序的大小.

在具有更多功能的应用程序中 (或更少) 比正常数量的投入或产出, 一个人可能需要改变乘数 35 和 15, 但是该方法背后的原理通常可以使用.

何时使用哪种方法进行功能点计数

详细的功能点分析比估计或指示性分析更准确, 但它也会花费更多时间,并且需要更详细的规格. 取决于使用哪种功能点分析方法的项目经理和系统生命周期的各个阶段.

高级功能点分析和详细功能点分析的结果非常接近. 两种FPA方法的结果均无统计学差异. 这就是为什么许多组织默认选择使用高级FPA方法的原因, 而不是详细的FPA方法.

在许多应用程序中,指示性功能点分析可以令人惊讶地很好地估计应用程序的大小. 进行指示性功能点分析通常相对容易, 因为数据模型可用或可以轻松完成. 使用此方法时要小心, 因为它只是大小的粗略指示, 可能会出现偏差.