首页 百科知识 软件质量度量模型

软件质量度量模型

时间:2022-06-19 百科知识 版权反馈
【摘要】:下面对McCall软件质量度量模型、ISO软件质量度量模型、软件过程成熟度模型进行简要介绍。表2-4给出了McCall软件质量度量模型中软件质量特性与评价准则之间的关系。

一、软件质量度量模型

一般来说,影响软件质量的因素可以分为如下两大类:①可以直接度量的因素(如单位时间内1000行代码中所产生的错误数);②只能间接度量的因素(如可用性或可维护性)。下面对McCall软件质量度量模型、ISO软件质量度量模型、软件过程成熟度模型进行简要介绍。

1.McCall软件质量度量模型

McCall软件质量度量模型的软件质量概念基于正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、复用性和互连性之上。而这11个特性分别面向软件产品的运行、修正、转移,它们之间的关系如图2-7所示。进一步,McCall等给出了一个三层次式模型的框架,如图2-8所示。

图2-7 McCall软件质量度量模型

图2-8 McCall质量度量模型框架

通常,对以上11个质量特性直接进行度量是很困难的,在有些情况下甚至是不可能的。因此,McCall定义了一些评价准则,使用它们对反映质量特性的软件属性分级,以此来估计软件质量特性的值。这些评价准则为:可跟踪性;完备性;一致性;安全性;容错性;准确性;简单性;执行效率;存储效率;存取控制;存取审查;可操作性;易训练性;简明性;模块独立性;自描述性;结构性;文档完备性;通用性;可扩充性;可修改性;自检性;机器独立性;软件系统独立性;通信共享性;数据共享性;I/O容量;I/O速率;可通信性。软件属性一般分级范围从0(最低)到10(最高)。

表2-4给出了McCall软件质量度量模型中软件质量特性与评价准则之间的关系。

表2-4 软件质量特性与评价准则之间的关系

需要特别注意的是,正确性和容错性是相互补充的。正确的程序不一定是可容错的程序。反过来说,可容错的程序不一定是完全正确的程序。这就要求一个可靠的软件系统应当在正常的情况下能够正确地工作;而在意外的情况下,也能做出适当的处理,隔离故障,尽快地恢复。在表2-4中给出的各个评价准则应取什么值,由特定产品的性质和它们之间的相互关系来确定。

2.ISO软件质量度量模型

ISO软件质量度量模型由三层组成:①高层——软件质量需求评价准则(SQRC);②中层——软件质量设计评价准则(SQDC);③低层——软件质量度量评价准则(SQMC)。ISO的三层次模型来自McCall等人的模型,高层、中层和低层分别对应于McCall模型中的特性、度量准则和度量。在这个标准中,三层次中的第一层称为质量特性,第二层称为质量子特性,第三层称为度量。ISO认为,应对高层和中层建立国际标准,在国际范围内推广软件质量管理技术,而低层可由各使用单位视实际情况制定。ISO软件质量度量模型如图2-9所示。

图2-9 ISO软件质量度量模型

3.软件过程成熟度模型

1987年9月,美国卡内基—梅隆大学软件工程研究所(SEI)提出了软件过程成熟度模型(CMM模型),并于1991年和1993年分别进行了两次修改,现已成为具有广泛影响的模型。

软件过程成熟度是指一个具体的软件过程被明确定义、管理、度量、控制和其实效的程度。CMM模型为较全面地描述和分析软件过程能力的发展程度,建立了一个描述一个组织的软件过程成熟度的分级标准。利用该标准,软件组织可以评估自己当前的过程成熟度,并通过提出更严格的软件质量标准和过程标准,来选择自己的改进策略,以达到高级的成熟度。CMM模型提供了一种结构,将软件过程成熟度分成五个级别(如图2-10所示),各级别的主要特征如下:

(1)初始级(Initial):软件过程杂乱无章,几乎没有明确定义的规则或步骤,软件过程是不可确定和不可预见的,成功完全依赖于个人努力和杰出的专业人才,管理和工作无序,项目成效不稳定。

(2)可重复级(Repeatable):建立了基本的项目管理过程来跟踪成本、进度和机能,有必要的过程准则来重复以前在同类项目上的成功。

(3)确定级(Defined):管理和工程的软件过程已经文档化、标准化,并综合成为整个软件开发组织的标准软件过程,所有的项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件,过程控制好,制度完善,责任明确。

(4)管理级(Managed):制定了软件过程和产品质量的详细度量标准。软件过程和产品的质量都被开发组织的成员所理解和掌握。

(5)优化级(Optimizing):加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能够不断持续地改进。

图2-10 CMM模型的五层结构

CMM定义了每个成熟度级别的关键过程范围(见表2-5),一个软件组织只有满足该范围内的每个目标,才能被认为达到该成熟度级,这实际上也是软件组织达到更高一级成熟度的指导。

CMM建立了一个可用的标准描述,在签订软件项目合同时,可以参考这些标准进行风险评估,而软件企业可以利用CMM框架来改进其开发和维护过程。

尽管CMM列出了每个成熟度级别的特征和关键过程,但是并没有回答如何做才能达到高一级的成熟度级别的问题,没有提出特定的软件技术,也没有涉及如何具体的进行人员管理,这些都需要应用CMM的组织在实践过程中根据具体情况加以解决。

表2-5 软件过程成熟度级别的关键过程范围

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈