软件工程 |功能点 (FP) 分析
函数点分析最初由 Allan J. Albercht 于 1979 年在 IBM 开发,并由国际函数点用户组 (IFPUG) 进一步修改。
最初的定义由 Allan J. Albrecht 给出:
FPA gives a dimensionless number defined in function points which we have found to be an effective relative measure of function value delivered to our customer.
FPA 提供了一种标准化的方法来确定软件工作产品的功能大小。该工作产品是后续版本的软件新开发和改进项目的输出。它是在项目实施时重新定位到生产应用程序的软件。它从用户的角度测量功能,即基于用户请求和接收的回报。
函数点分析 (FPA) 是功能规模测量的一种方法或一组规则。它根据用户对功能需求的外部看法来评估交付给用户的功能。它测量应用程序的逻辑视图,而不是物理实现的视图或内部技术视图。
函数点分析技术用于分析软件提供的功能,未调整函数点 (UFP) 是测量单位。
FPA的目标:
- FPA 的目标是衡量用户请求和接收的功能。
- FPA 的目标是独立于用于实施的技术来衡量软件开发和维护。
- 它应该足够简单,以尽量减少测量过程的开销。
- 它应该是各种项目和组织之间的一致措施。
FPA的类型:
- 事务功能类型 –
- 外部输入 (EI): EI 处理来自应用程序边界之外的数据或控制信息。 EI是一个基本过程。
- 外部输出 (EO): EO 是一个基本过程,它生成发送到应用程序边界之外的数据或控制信息。
- 外部查询 (EQ): EQ 是一个基本过程,由导致数据检索的输入-输出组合组成。
- 外部输入 (EI): EI 处理来自应用程序边界之外的数据或控制信息。 EI是一个基本过程。
- 数据功能类型 –
- 内部逻辑文件 (ILF):在应用程序边界内维护的一组用户可识别的逻辑相关数据或控制信息。
- 外部接口文件(EIF):一组用户可识别的逻辑相关数据暗示软件,但维护在另一个软件的边界内。
- 内部逻辑文件 (ILF):在应用程序边界内维护的一组用户可识别的逻辑相关数据或控制信息。
FPA 的好处:
- FPA 是一种通过计算包中包含的所有功能来确定购买的应用程序包大小的工具。
- 它是一种工具,可通过计算特别符合其要求的功能来帮助用户发现应用程序包对其组织的好处。
- 它是一种测量软件产品单元以支持质量和生产力分析的工具。
- 它是一种估算软件开发和维护所需成本和资源的工具。
- 它是软件比较的归一化因子。
FPA的缺点:
- 它需要主观评价,涉及很多判断。
- 许多成本和工作量模型都是基于 LOC 的,因此需要更改函数点。
- 与 LOC 相比,有 函数点研究数据较少。
- 创建设计规范后运行。
- 主观判断,评估准确率低。
- 由于学习曲线长,要熟练掌握并不容易。
- 这是一个非常耗时的方法。