什么是功能点分析——FPA
一、功能点分析的诞生
传统上,软件开发项目产生的“产品数量”被认为是编写的编程源代码的数量。即代码来源(SLOC 或 KLOC)。在早期的同构软件开发环境中,SLOC 的数量和感知的软件相对大小具有相当直接的关系。
然而,随着技术的进步,软件是使用混合语言、可重用模块、COT 组件、实用程序、代码生成器和高级语言构建的,SLOC 与软件的相对大小之间的关系变得越来越难以预测。
开发人员需要能够准确估计交付软件产品的工作量和成本,并比较不同解决方案、技术和工具的效率和成本效益。但是为了做到这一点,他们需要能够量化他们正在构建的软件规模。在1970年代后期,IBM 的 Allan Albrecht 确定软件产品所需的资源与该软件产品中功能的数量、类型和复杂性之间存在相当可预测的关系。
他开发了一种确定功能需求大小的方法,称为功能点分析。在过去的 30 年中,这种通过调整功能用户需求来确定软件相对大小的概念已经取得了进步,因此现在该概念已转变为称为“功能大小测量”的 ISO 标准。
有四种用于功能调整的 ISO 方法,分为两大类,那些源自 Albrecht 的原始方法(IFPUG 功能点分析和 NESMA 功能点分析)和源自他的方法的扩展(MK II 和 COSMIC 功能调整方法)。
二、功能点分析的简介
功能点分析 (FPA) 是一种用于确定软件工作产品规模的技术。自 1970 年代后期以来,功能点分析 (FPA) 一直用于根据用户对功能需求的外部业务视图来评估交付给用户的功能。与测量物理实现的视图或内部技术视图相比,它测量应用程序的逻辑视图。
FPA 从以下方面衡量这些功能要求:
- 用户可以使用该软件执行的业务交易(例如,查询故障记录),
- 软件可以存储和访问的业务数据(例如,FAULT 文件)。
执行功能点分析的过程称为“功能点计数”,它涉及对这些事务和数据组件中的每一个进行识别、分类和加权,权重被组合以给出作为未调整功能点计数的功能大小。
功能点分析技术用于评估软件提供的功能(通常称为“功能点计数”),“功能点”是软件功能大小的度量单位。
一旦有了功能点计数,就可以单独使用软件产品的结果度量,也可以将其与其他度量相结合,可以得到以下指标:
- 软件开发的规模(例如要交付或工作的软件单元)
- 质量指标(例如每个软件单元的缺陷数)
- 生产力(例如每个软件单元的成本)
- 绩效(例如每个软件单元的人力资源)
相关文章
- 拯救童年系列-GameBoy介绍及FPGA实现
- Hibernate缓存何时使用和如何使用
- 优秀的 Verilog/FPGA开源项目介绍(七)- CAN通信
- 博客平台遭虚假勒索攻击、新黑客组织称对以色列的攻击负责|11月16日全球网络安全热点
- 三层架构与MVC谜团之答案揭晓
- Science|AI揭示了蛋白质复合物的结构
- 软件开发人员的“七重苦”
- 流量回放工具之GoReplay input_file 源码分析
- Compound 的潜在风险和改进
- 网络江湖内功篇之基于业务的网络监测技术
- Spring Cloud面试题
- Hibernate的缓存解读
- 只需1/500数据便可掌握Atari游戏!清华叉院助理教授提出小数据RL模型,引爆AI社区
- iptables 介绍
- 一个专注于微信公众号 Markdown 排版的平台
- 前端劝退之前端知识体系(前端面试体系)
- 思科 + Meta = ?
- 宝塔下的BC实战渗透
- Druid源码阅读6-PreparedStatementPool源码及使用场景分析
- IEEE Fellow姚新:在多目标动态优化问题中,演化计算仍有独特优势