软件尺寸

软件尺寸软件尺寸估计软件工程中的一项活动,用于确定或估算软件应用程序或组件的大小,以便能够实施其他软件项目管理活动(例如估计或跟踪)。大小是软件的固有特征,就像重量是有形材料的固有特征一样。

背景

软件尺寸与软件努力估计不同。尺寸估计一件软件的可能大小,而努力估算可以预测构建它所需的努力。软件大小与生产所需的努力之间的关系称为生产力

例如,如果软件工程师构建了一个基于Web的小型计算器应用程序,我们可以说项目工作量为280个小时。但是,这没有提供有关软件产品本身大小的任何信息。相反,我们可以说应用程序大小为5,000个LOC(代码行)或30 fps(功能点),而无需确定生产所需的项目工作。

功能性软件调整方法

从历史上看,最常见的软件大小方法论一直在计算应用程序源中编写的代码行。另一种方法是进行功能大小测量,以通过执行功能点分析来表达功能大小作为数字。原始尺寸方法是IFPUG 。 IFPUG FPA功能大小方法(FSM)已成功使用 - 尽管在估计复杂算法方面的准确性较差,并且比估计代码行相比要难以使用更难使用。原始功能大小测量方法的适应已经出现了,这些标准是:宇宙函数点MK II功能点,NESMA函数点和FISMA功能点。这些标准的其他变体包括面向对象的功能点(OOFP)和更新的变体作为加权微功能点,哪些因素算法和控制流的复杂性。

最佳功能大小的方法取决于许多因素,包括应用程序的功能域,发展组织的过程成熟度以及FSM方法的使用程度。功能点的用途和好处除了衡量项目生产力和估算计划的项目之外,其中包括监视项目进度以及评估商业现成(COTS)软件包的要求覆盖。

其他软件尺寸方法包括基于用例的软件尺寸,依赖于计算软件中发现的用例和特征的数量和特征,以及宇宙功能尺寸的测量,该尺寸解决了尺寸的软件,该软件的存储数据量非常有限作为“过程控制”和“实时”系统。

IFPUG方法和宇宙方法都是ISO/IEC标准。

非功能性软件大型方法

IFPUG方法大小的软件或组件的非功能性方面的方法称为SNAP,因此非功能尺寸通过快照点测量。 SNAP模型由四个类别和14个子类别组成,以衡量非功能要求。非功能要求映射到相关的子类别。每个子类别的大小,并且需求的大小是其子类别的大小的总和。快照尺寸的过程与函数点大小过程非常相似。在应用程序边界内,非功能性要求与相关类别及其子类别相关联。然后,使用一组标准化的基本标准,每个子类别的类型和复杂性都进行大小。这种要求的大小是其子类别的大小的总和。然后总计这些尺寸以给出软件应用程序非功能尺寸的度量。

附加信息

几种软件质量标准要求使用有效的尺寸方法作为组织标准软件工程生命周期的一部分。例如,能力成熟度模型集成CMMI )提出了这样的要求。除非充分使用软件尺寸,否则不能评估组织(认证)为CMMI 2级或3级。

也可以看看