APP下载

浅析常用的软件质量管理模型

2015-05-30王云鹏

2015年44期
关键词:评价模型质量管理

王云鹏

摘 要:软件质量管理是软件开发领域的一个瓶颈。本文在阐明了软件质量概念的基础上综述了软件质量管理的发展历程和常用的软件质量管理模型,并分析了它们的优缺点。

关键词:软件质量;评价模型;质量管理

软件质量是一个模糊的不确定的概念。1994年,国际标准化组织公布的国际标准ISO 8042将软件质量定义为:反应实体满足明确的和隐含的需求的能力的特性的总和。GB/T 11457-2006《软件工程术语》中定义软件质量为:①软件产品中能满足给定需要的性质和特性的总体。②软件具有所期望的各种属性的组合程度。③顾客和用户觉得软件满足其综合期望的程度。

由此我们可以这样理解软件质量:影响软件质量的决定性因素是软件需求,对不符合需求的软件进行质量进行评价是没有意义的。

一、软件质量的发展历程

自上世纪70年代软件危机以来,软件质量管理越来越引起人們的重视。其发展历程经历了最初的软件测试、度量管理到现在的过程管理。人们越来越认识到,软件的质量特征与硬件有着诸多不同,因此必须构建一套适用于软件的质量评价管理方法。为此,各国的学者进行了大量的探索和研究。其中软件工程的诞生标志着软件管理进入了系统化的阶段,软件质量管理逐步实现了系统化和规范化。软件质量管理最早是主要针对软件测试和软件开发技术。1974年软件生存周期的概念被提出,1976年结构化分析方法,1980年计算机辅助软件工程使得软件开发自动化水平进一步提高。1991年国际化标准组织发布了一个软件质量评价通用模型,被称为ISO/IEO 9126标准。这个模型主要从评价过程的角度对定义了软件质量模型并提供了一个通用的评价模型。2001年IOS/IEO 9126标准得到了进一步的扩充,在原有的基础上对软件开发者如何计划,组织软件质量评价工作进行了详细的描述。

软件质量管理从成品测试逐步发展到软件过程控制,其研究范围不断扩大,不仅体现了从技术控制到管理控制的过渡,而且促使软件质量管理实现了全面化,规范化和系统化。软件质量管理目前已经细分出了软件过程改进和软件质量度量等重要的子领域。

二、软件质量管理的常用模型

1.FURPS模型

FURPS模型是由Hewlett-Packard提出的一套考虑软件质量因素的模型,其中FURPS是功能性(function)、易用性(usability)、可靠度(reliability)、性能(performance)及可支持性(supportability)五个词英文前缀的缩写。具体的评估方式可以如下:

(1)功能性:特性、功能,通过评价程序的运行能力、程序函数的通用性和软件整体安全性来评价。(2)可用性:通过评价整体美观性、一致性、相关文档和人的因素来评估。(3)可靠性:通过统计软件错误的频率和严重程度、输出结果的准确度、程序的可预测性和平均失效间隔时间、系统恢复能力来评价软件的可靠性。(4)性能:性能是通过度量相应时间、处理速度、资源消耗量和吞吐量和效率等指标来评估。(5)可支持性:可支持性主要是指程序的可扩展性,可适应性和服务性、可测试性。兼容度。可配置性,安装软件的难易程度,问题可以被局部化解决的容易程度。

2.CMM

CMM(Capability Maturity Model for Software),软件能力成熟度模型,是1986年美国软件工程研究所提出的,最初旨在为美国政府提供软件质量的评估。1991年CMM1.0正式推出后,又相继的升级为CMM1.1和CMM2.0版本,并被纳入国家标准组织。CMM通过开发过程的角度来描述软件开发的能力,将整个开发过程分为五个等级,企业可以按照这等级要求去提高软件开发的能力。这五个等级分别是:

(1)初始级。初始级通常是杂乱无章的,靠企业或个人的能力去开发研究。(2)可重复级。可以复现最早取得的成功经验,建立了基本的项目管理纪律,此时软件过程以及达到一个相对稳定的程度。(3)定义级。以及刑成了软件管理的文档,并且可以依据此文档来约束整体的开发流程。在这个等级上,开发风险将大大降低。(4)定量管理级。这一阶段开始对软件开发的各种数据进行收集整理,产生定量的控制。(5)优化级。把重心放在对过程的不断优化中,以达到主动防御缺陷,利用新的技术来不断改进过程。

3.ISO 9126

国际标准化组织在1991年制定了一套软件质量测量标准 ISO/IEC 9126,这套软件质量标准分为三个层次,分别为软件质量需求评价准则(SQRC),软件质量设计评价准则(SQDC),软件质量度量评价准则(SQMC)。其中软件质量需求评价准则包含6个质量特性,软件质量设计评价准则包含21个质量子特性。整个评价模型从上至下形成一个树形结构,在最底层的度量指标中得到一组度量,然后依次向上得出高一层次的度量指标,最终完成整个软件的评价工作。

4.Mccall

McCall等人于1978年提出了McCall软件质量评价模型,该模型定性的将软件质量要素分为三类,共11个要素。其基本思想是把软件质量分为三个层次,每一个层次反映软件质量的一个重要的方面,称为质量要素。每一个质量要素又很多衡量标准构成,每一个衡量标准又由一系列具体的度量指标构成。这种评价模型主要是从定性的角度来进行评价,但其中的度量指标也可以使用检查表的方式来进行评分,评分方案为0分到10分。

McCall认为软件质量模型包括产品修正,产品转移,产品运行。其中产品修正包括可维护性、灵活性和可测试性。产品转移包括可移植性、可复用性和互连性。产品运行包括正确性、可靠性、效率、可使用性和完整性。

5.Boehm

Boehm等人在70年底末提出了基于分层的软件质量模型,这个模型和McCall有很多类似的地方,但是它的质量要素数量更多,而且创造性的提出了基于硬件的质量要素。其总体思想是站在软件交付者的角度来考虑整个软件的功效,淡化软件开发过程,认为任何软件开发过程都是一个耗时,耗力和金钱的过程。Boehm从三个维度来刻画其认为的软件功效,分别为可移植性,有效性和可维护性。每一个维度又可以继续细分为一系列的质量要素。

三、软件质量管理模型的优缺点对比

通过比较分析可以看出,以上五个模型各有各的缺点。FURPS模型的主要问题是没有考虑到软件的重用性和移植性的问题,在软件开发产业化的今天,可移植性和跨平台性是非常重要的,它可以直接影响软件的用户数量和经济效益。CMM模型非常强调软件过程管理,注重文档化的过程和设计,并且主要面向企业开发设计。因此对于小型组织或个人开发难以适用。另一方面。CMM的台阶化的成熟度框架也要求企业必须一步一步的“攀爬”这几个阶梯,这在一定程度上限制了企业软件质量管理的进程。ISO/9126的意义在于将软件质量特征分为内部特征和外部特征,充分考虑了软件在不同生命周期的不同形态的问题,但是该模型没有给出软件质量特征的具体的度量方法。McCall模型首次将软件质量特征和软件度量联系了起来,但它的度量项过于主观,缺少定性指标的支撑。而且该模型也没有从软件生命周期的不同阶段来考虑,仅仅考虑了一种产品形态,不利于早起软件质量问题的发现和降低维护成本。Boehm模型和McCall相似,也是一种纵向层次特征构成的软件质量模型,但该模型包括了一些硬件质量要素,从而可以从更底层的角度度量软件质量。

总体来说,以上五个软件质量评价模型各自的度量指标有既有相似的地方,又各不相同,在具体的实践中应结合实际情况来具体分析应用。(作者单位:重庆交通大学经管学院)

参考文献:

[1] 王青.欲善其事 先利其器——网驰质量管理平台为软件项目保驾[J].计算机世界,2003-07-14.

[2] 毛明志 葛晓炜.有效的软件开发项目风险管理模型[J].科技管理研究,2005(12):247-250.

[3] 杨芙清.软件工程技术发展思索[J].软件学报,2005(01).

猜你喜欢

评价模型质量管理
浅谈智能建筑电气施工管理及质量控制