软件测量

软件测量框架基于三个原则 :

  • 对要检查的实体进行分类

  • 确定相关的衡量目标

  • 确定组织已达到的成熟程度

分类要检查的实体

在软件工程中,主要存在三类实体.它们是 :

  • 流程

  • 产品

  • 资源

所有这些实体都有内部和外部实体.

  • 内部属性是纯粹根据流程,产品或资源本身进行衡量的属性.例如:模块的大小,复杂性,依赖性.

  • 外部属性是那些只能根据其关系来衡量的属性与环境.例如:用户遇到的故障总数,搜索数据库和检索信息所需的时间长度.

可以为每个实体测量的不同属性如下:<

进程

进程是与软件相关的活动的集合.以下是一些可以直接测量过程的内部属性 :

  • 过程的持续时间或一个其活动

  • 与流程或其中一项活动相关的工作量

  • 在此过程中或其中一项活动中出现的指定类型的事件数

流程的不同外部属性是成本,可控性,有效性,质量和稳定性.

产品

产品不仅是管理层承诺提供的项目,还包括任何工件或文档在软件生命周期中生成.

不同的内部产品属性包括大小,工作量,成本,规格,长度,功能,模块性,重用,冗余和语法正确性.其中包括这些规模,工作量和成本相对容易衡量.

不同的外部产品属性包括可用性,完整性,效率,可测试性,可重用性,可移植性和互操作性.这些属性不仅描述了代码,还描述了支持开发工作的其他文档.

资源

这些是流程活动所需的实体.它可以是软件生产的任何输入.它包括人员,材料,工具和方法.

资源的不同内部属性是年龄,价格,大小,速度,内存大小,温度等.不同的外部属性是生产力,经验,质量,可用性,可靠性,舒适性等.

确定相关的测量目标

特殊测量只有在有助于理解时才有用过程或其产生的产品之一.只有当项目明确定义了流程和产品目标时,才能执行流程或产品的改进.对目标的清晰理解可用于在流程成熟度框架的上下文中为给定项目生成建议度量.

目标 - 问题 - 度量(GQM)范例

GQM方法提供了一个框架,涉及以下三个步骤 :

  • 列出主要目标开发或维护项目

  • 从每个目标中获取必须回答的问题,以确定目标是否得到满足

  • 决定必须衡量什么才能够充分回答问题

使用GQM范例,首先我们表达了组织的总体目标.然后,我们生成问题,使得答案是已知的,以便我们可以确定目标是否得到满足.之后,根据我们需要的衡量标准来分析每个问题,以便回答每个问题.

典型目标以生产力,质量,风险,客户满意度等方式表示.目标和问题将根据受众群体构建.

为了帮助生成目标,问题和指标,Basili& Rombach提供了一系列模板.

  • 目的 :  (表征,评估,预测,激励等)(流程,产品,模型,指标等),以便理解,评估,管理,工程,学习,改进等.示例:表征产品以便学习它.

  • 透视 : 从开发人员,经理,客户等角度检查(成本,有效性,正确性,缺陷,变更,产品措施等).示例:从客户的角度检查缺陷.

  • 环境 : 环境包括以下内容:流程因素,人员因素,问题因素,方法,工具,约束等.示例:此软件的客户是那些不了解工具的人.

测量和过程改进

通常测量对于 :

  • 了解流程和产品

  • 建立基准

  • 访问和预测结果

根据SEI给出的过程的成熟度水平,测量类型和测量程序将有所不同.以下是可在每个成熟度级别应用的不同测量程序.

1级:临时

在此级别,输入是不明确的,而输出是预期的.从输入到输出的转换是未定义和不受控制的.对于此级别的流程成熟度,需要进行基线测量以提供测量的起点.

级别2:可重复

在此级别,流程,约束和资源的输入和输出是可识别的.可重复的过程可以通过下图描述.

可重复

输入度量可以是需求的大小和波动性.可以根据系统规模,人员工作量方面的资源以及成本和进度表方面的约束来衡量产出.

3级:定义

在此级别,定义了中间活动,并且已知并理解其输入和输出.下图描述了定义过程的一个简单示例.

可以检查,测量和评估中间活动的输入和输出.

已定义

第4级:管理

在此级别,早期项目活动的反馈可用于设置当前活动的优先级,以及之后的项目活动.我们可以衡量流程活动的有效性.测量反映了整个过程的特征以及主要活动之间和之间的相互作用.

Managed

第5级:优化

在此级别,来自活动的度量用于通过删除和添加流程活动来改进流程并根据测量反馈动态改变过程结构.因此,流程变更可能会影响组织和项目以及流程.该过程将充当传感器和监视器,我们可以根据警告信号显着改变过程.

在给定的成熟度级别,我们可以收集该级别和所有级别的测量值低于它.

确定成熟度

流程成熟度建议仅测量可见的内容.因此,流程成熟度与GQM的组合将提供最有用的度量.

  • 1级,该项目可能有不明确的要求.在这个层面上,需求特征的测量很困难.

  • 2级,要求定义明确且附加可以收集每种要求的类型和每种类型的变更数量等信息.

  • 3级,中间活动是根据每项活动的进入和退出标准定义的

目标和问题分析将是相同的,但指标会随着到期.过程越成熟,测量就越丰富. GQM范例与流程成熟度一致,已被用作帮助管理者设计测量程序的几种工具的基础.

GQM有助于理解测量属性的必要性,和过程成熟度表明我们是否能够以有意义的方式衡量它.它们共同为测量提供了背景.