1 、引言

  从20 世纪80 年代,人们开始研究软件质量模型,并取得了不少成果,得到了一些有效的质量模型,包括McCall 模型、Boehm 模型、ISO9126 模型等。

  通过对这3 个模型的深入研究发现,这3 个模型都着重分析了软件质量属性的影响因素,这些模型研究的对象是软件产品,即在软件质量属性和软件设计、编程的特性之间建立关联映射。

  这些模型可以帮助认识软件产品的质量特性,尽管其对质量特征和产品特性的度量本身是有用的,但在软件过程质量度量中显得无能为力。

  软件过程质量的度量是对软件开发过程中的各个方面质量指标进行度量,目的在于预测过程的未来性能,减少过程结果的偏差,对软件过程的行为进行目标管理,帮助发现软件开发过程中的瓶颈或问题所在,为过程控制、过程评价、持续改善等提供量化管理的基础。

  2 、以过程为基础的软件过程质量度量流程的构建

  软件过程质量度量遵守一般软件过程度量的流程,在软件过程度量流程的基础上结合软件过程质量度量本身的特点,增加了“建立过程数据库”和“预测产品质量”两个活动。

  以软件开发过程为核心,围绕软件开发过程开展了9 个与过程质量度量相关的活动。这9 个活动以“确认问题”为起点,按顺时针方向进行实施。

  外圆周上的实线圆表示的活动和过程强关联,过程度量受过程控制性的影响,虚线圆内的活动表示和过程弱关联。在度量过程中建立过程数据库有利于数据的收集、分析和整理,并可为其他项目进行数据比对分析提供依据。通过对产品质量的预测,可以发现未来产品可能存在的不足,以便提前采取有效措施来降低前期活动产生的不利影响,同时也可为后期的过程改进提供建议。

  其中每个活动的输入来源于上一个活动在当前时间的数值及相应的外部输入,使得当前得到的度量分析结果总能反映截至当前时间为止过程的运作情况,进而达到过程评价、过程控制及过程改进的目的。

  3 、软件过程质量度量模型的构建及度量元的分解

  3.1 软件过程质量度量模型的构建

  下面以软件开发生命周期过程中的各个活动阶段为基础,构建了一个5 层的软件过程质量度量模型。在度量模型中将软件过程质量分解为各个阶段的过程质量,每个阶段的过程质量主要受过程的共性质量要素(和多个过程活动都相关的质量要素,如:进度、资源和费用、开发性能等)和过程的个性质量要素(只和当前的过程活动相关的质量要素)的影响,每个质量要素又可进一步分解成一个或多个质量子要素,这为获取后的度量元提供了基础。

  在该度量模型中可以将共性质量要素分解到各个过程活动中,形成树状层次结构,这样可以避免网状结构给度量带来的复杂性。其中阶段过程质量为阶段共性过程质量与阶段个性过程质量的加权和。