简单功能点方法

简单函数点(SFP)方法是一种轻巧的功能测量方法。

简单功能点方法是由Roberto Meli在2010年设计的,该方法符合ISO14143-1标准,并且与国际功能点用户组(IFPUG)功能点分析(FPA)方法兼容。原始方法(SIFP)是在罗马举行的公共会议上首次提出的( SMEF2011

该方法随后在简单函数点关联的手册中描述: 简单函数函数大小测量方法参考手册,在创意共享属性 - 归因于 - 突出剂4.0国际公共许可下可用。

ifpug的采用

在2019年,IFPUG采集了简单的功能点方法,以向其用户社区提供简化的功能点计数方法,以使功能尺寸测量更容易但在软件项目的早期阶段可靠。简短的名字变成了SFP。 SPM(简单功能点实践手册)由IFPUG在2021年底发布。

基本概念

提出SFP方法时,使用最广泛的软件功能大小测量方法是IFPUG FPA。但是,IFPUG FPA有一些缺陷(现在仍然存在):

  • 应用不容易。它需要经过认证的人员,根据Capers Jones的说法,根据总指标的专家,测量的生产率相对较低(根据Capers Jones的说法,每天400至600个功能点在200至300个功能点之间)。
  • 该测量是部分主观的,因为执行测量的人必须对其一些测量规则进行适当的解释。
  • 该方法在软件开发社区中的扩散非常有限。

为了克服至少一些问题,定义了SFP方法以提供以下特征:

  • 易于应用;
  • 基于非常简单的定义,不太受解释的影响;
  • 易于学习:具体来说,熟悉IFPUG FPA的人几乎没有努力就可以很快学习SFP;
  • 与IFPUG FPA兼容;具体来说也就是说,在UFP中表达的大小的度量应等于SIFP中表达的度量(在本文中,我们将“ UFP”用于未调整的功能点,以指定由IFPUG FPA和SIFP定义的度量单位,并将其定义为定义的度量单位。由SFP)。

寻求的特征如下:

IFPUG FPA要求

  1. 识别逻辑数据文件和交易,
  2. 逻辑数据文件分为内部逻辑文件(ILF)和外部接口文件(EIF),
  3. 每个事务都归类为外部输入(EI),外部输出(EO),外部查询(EQ),
  4. 每个ILF和EIF都根据其记录元素类型(RET)和数据元素类型(DET),
  5. 每个EI,EO和EQ都会根据所引用的文件类型(FTR)加权,并通过测量的应用程序的边界进行交换。

在这些活动中,SFP仅需要前两个,即识别逻辑数据文件和交易。活动4)和5)是最耗时的,因为它们要求对每个数据文件和交易进行详细检查:跳过这些阶段使SFP方法比IFPUG FPA更快,更易于应用。此外,大多数主观解释是由于活动4)和5),也部分是由于活动3):跳过这些活动使SFP方法也不太容易发生主观解释。

SFP定义中使用的概念是IFPUG FPA定义中使用的概念的一小部分,因此学习SFP比学习IFPUG FPA更容易,而且对于那些已经知道IFPUG FPA的人来说,这是立即的。实际上,只有逻辑数据文件和交易的概念才能知道。

最后,分配给数据文件和交易的权重使SFP中的大小平均非常接近功能点所表达的大小。

定义

逻辑数据文件在SFP方法中命名为逻辑文件(LF)。同样,交易被命名为基本过程(EP)。与IFPUG FPA不同,基本功能组件没有分类或加权( ISO14143-1标准中定义的BFC)。

EP的大小为4.6 SFP,而LF的大小为7.0 SFP。因此,SFP中表达的大小基于数据文件数(#LF)和事务数(#EP)。属于要测量的软件应用程序:

SFP方法的经验评估

经验研究已经进行,旨在

  • 评估SFP和UFP度量的可转换性
  • 比较支持软件开发工作估计的SFP和UFP措施

SFP和FPA措施之间的可转换性

对ISBSG数据集中未调整功能点(UFP)和简单功能点(SIFP)表示的大小的比较。蓝线代表完美的等效性

在SIFP方法的原始建议中,使用ISBSG的数据集,包括来自768个项目的数据,用于评估UFP和SIFP测量中的可转换性。这项研究表明,平均

另一项研究还使用ISBSG数据集来评估UFP和SIFP措施之间的可转换性。该数据集包括来自766个软件应用程序的数据。通过普通的最小平方回归,发现

基于这些经验研究,似乎 (请注意,这种近似等效性平均成立:在两项研究中,都观察到平均相对误差约为12%)。

但是,第三项研究发现 。这项研究仅使用了来自25个Web应用程序的数据,因此转换率可能会受到特定应用程序类型或数据集大小相对较小的影响。

2017年,一项研究评估了使用七个不同数据集的UFP和SIFP测量之间的可转换性。每个数据集的特征是特定的转换率。具体来说,发现 , 和 。明显地,对于数据集,找不到线性模型。相反,统计学意义的模型被发现。

总之,可用的证据表明,一个SIFP大约等同于一个UFP,但是此等效性取决于所考虑的数据,除了平均而言是正确的。

考虑到IFPUG SFP基本元素(EP,LF)完全等同于原始SIFP元素(UGEP,UGDG),因此IFPUG SFP方法的先前结果也存在。

使用SFP进行软件开发工作估算

来自基于UFP和基于SIFP的模型的相对努力估计错误的框图。未显示异常值。

IFPUG FPA主要用于估计软件开发工作。因此,任何旨在衡量软件功能大小的替代方法都应以与IFPUG FPA相同的准确性来支持努力估计。换句话说,有必要验证基于SFP的努力估计至少与基于UFP的估计值一样好。

为了执行此验证,分析了一个ISBSG数据集,并在日志传输后使用普通的最小二乘回归得出了努力与大小的模型。然后比较了努力估计错误。事实证明,这两个模型产生了极其相似的估计精度。

以下研究分析了一个数据集,其中包含来自25个Web应用程序的数据。普通的最小二乘回归用于得出基于UFP和基于SIFP的努力模型。同样在这种情况下,没有观察到统计学上显著的估计差异。