功能点分析是什么意思?是它用于软件的成本估算吗?或者是否有任何适当的定义可以定义功能点分析?你能不能给我一个简短的描述。
2 回答
虽然我同意 Leo 的回答,但我会尝试更实际的描述:
这是什么
功能点分析 (FPA) 是 ISO 批准的当前五种功能尺寸确定标准之一(参见 ISO/IEC 14143)。FPA 实际上是 ISO/IEC 20926 标准的广泛使用的短期术语,标题为“IFPUG 功能尺寸测量”。
FPA 是一种评估软件功能需求量的方法(术语“度量”实际上是一种误导)。为了达到这个等级,使用了一种在早期被称为“功能分解”的技术。这个概念实际上非常接近于用“用例”来描述需求,尽管详细的规则和符号有很大的不同。
简而言之,功能需求被分解为“基本功能”,然后用分值对每个功能进行评级。所有基本功能的总点数用作“大小”或要求数量的指示。这称为以“功能点”(fp) 为单位表示的“功能大小”。
功能分解的自然表示是功能树。
FPA 标准还具有一套对现有应用程序的更改进行评级的规则,因此它可用于对现有系统的扩展(“增强”或“发布”)的适应功能要求进行评级。
它不是什么
FPA 本身并不是一种工作量估算技术。显然,功能需求的大小和实现工作量之间的关系可以而且经常是相当松散的。功能点可以用作更复杂的估计模型(例如 COCOMO)的(一个)输入,这些模型必须考虑所有其他努力驱动因素。
FPA不是“软件度量”——功能大小始终与软件满足的用户需求相关。虽然您可以计算和衡量代码行数或代码复杂性,但功能大小是分析过程的结果。
何时使用
当需求已知但实施细节尚未指定或评估时,FPA 有助于在早期阶段估算软件项目的工作量。功能需求反映在功能规模上,非功能需求需要输入到估算模型中。您需要拥有/使用良好且经过验证(且值得信赖)的模型,否则功能大小对此目的无用。
FPA 还可以帮助从“恢复成本”的角度评估应用程序的“价值”。
最终,在 IT 客户/供应商关系的背景下,FPA 可以用作定价的基础。客户将根据商定的“每 fp 价格”而不是每小时费率向客户开具发票。
什么时候不使用
根据定义,FPA 需要对功能要求有基本的了解。因此,如果您没有或不知道功能要求,即使不是不可能,也很难使用 FPA。
FPA 也不适合对个人的表现进行评级,因为它是对应用程序的一个相当全面的评级,不能仅用于确定其中一部分的大小。
权威答案,来自 IFPUG
http://www.ifpug.org/about-ifpug/about-function-point-analysis/
功能点分析 (FPA) 是一种具有明确业务意义的规模测量. FPA 技术由 IBM 的 Allan Albrecht 于 1979 年首次公开,它以对软件用户有意义的方式量化软件中包含的功能。该度量与软件旨在解决的业务需求直接相关。因此,它可以很容易地应用于广泛的开发环境和开发项目的整个生命周期,从早期需求定义到全面操作使用。其他业务度量,例如开发过程的生产力和支持软件的单位成本,也可以很容易地得出。功能点度量本身是在多个阶段得出的。使用一组标准化的基本标准,每个业务功能都是根据其类型和复杂性的数字索引。对这些指数进行总计以给出初始大小度量,然后通过将与整个软件相关的许多因素进行归一化。最终结果是一个称为功能点索引的数字,用于衡量软件产品的大小和复杂性。
总之,功能点技术提供了一种客观的、比较的措施,有助于软件生产的评估、规划、管理和控制。
附言。当有人对功能点有任何争议时(主要是因为政府合同通常在 FP 中定义)