软件度量指标
软件度量是一个衡量标准,包含许多涉及一定程度测量的活动。它可以分为三类:产品度量、过程度量和项目度量。
产品度量描述产品的特性,例如大小、复杂性、设计特性、性能和质量水平。
过程度量可用于改进软件开发和维护。例如,开发过程中缺陷去除的有效性、测试缺陷到达的模式以及修复过程的响应时间。
项目度量描述项目特性和执行情况。例如,软件开发人员的数量、软件生命周期中的人员配置模式、成本、进度和生产率。
一些度量属于多个类别。例如,项目的在制品质量度量既是过程度量又是项目度量。
软件度量的范围
软件度量包含许多活动,包括以下内容:
- 成本和工作量估算
- 生产率度量和模型
- 数据收集
- 数量模型和度量
- 可靠性模型
- 性能和评估模型
- 结构和复杂性度量
- 能力成熟度评估
- 基于度量的管理
- 方法和工具的评估
软件测量是这些活动的多种集合,范围从预测特定阶段软件项目成本的模型到程序结构的度量。
成本和工作量估算
工作量表示为一个或多个变量的函数,例如程序的大小、开发人员的能力和重用级别。已经提出了成本和工作量估算模型来预测软件生命周期早期阶段的项目成本。提出的不同模型包括:
- Boehm的COCOMO模型
- Putnam的瘦模型
- Albrecht的功能点模型
生产率模型和度量
生产率可以被认为是价值和成本的函数。每个都可以分解成不同的可衡量的尺寸、功能、时间、金钱等。生产率模型的不同可能组成部分可以在下图中表示。
数据收集
任何测量程序的质量显然取决于仔细的数据收集。收集的数据可以提炼成简单的图表,以便管理人员了解开发的进度和问题。数据收集对于对关系和趋势进行科学调查也是必不可少的。
质量模型和度量
已经开发了质量模型来测量产品的质量,没有它,生产率就没有意义。这些质量模型可以与生产率模型相结合,以测量正确的生产率。这些模型通常以树状方式构建。上层分支包含重要的高级质量因素,例如可靠性和可用性。
分治法已被实施为衡量软件质量的标准方法。
可靠性模型
大多数质量模型都将可靠性作为组成因素,但是,预测和测量可靠性的需要导致了可靠性建模和预测的单独专门化。可靠性理论中的基本问题是预测系统最终何时会发生故障。
性能评估和模型
它包括外部可观察的系统性能特性,例如响应时间和完成率,以及系统的内部工作,例如算法的效率。这是质量的另一个方面。
结构和复杂性度量
在这里,我们测量软件表示的结构属性,这些属性在执行之前可用。然后,我们尝试建立经验预测理论以支持质量保证、质量控制和质量预测。
能力成熟度评估
该模型可以评估开发的许多不同属性,包括工具的使用、标准实践等等。它基于每个优秀的承包商都应该使用的关键实践。
基于度量的管理
对于管理软件项目,测量至关重要。为了检查项目是否按计划进行,用户和开发人员可以依靠基于测量的图表。当软件嵌入到产品中时,标准的测量和报告方法尤其重要,因为客户通常不熟悉软件术语。
方法和工具的评估
这取决于实验设计、可能影响结果的因素的正确识别以及因素属性的适当测量。