浅析软件质量和能力成熟度模型
2014-04-29陈冠峰
陈冠峰
摘 要 软件质量问题是当前软件开发过程中最受关注的问题。本文从最基本的软件质量概念说起,分析软件质量的重要性以及提高软件质量的基本方法,详细描述了现在较为常用的能力成熟度模型。
关键词 软件质量 软件质量管理模型 能力成熟度模型 CMM
中图分类号:TP31 文献标识码:A
0引言
随着移动互联网的兴起,目前国内软件产业已经蓬勃发展,拥有很大的规模。软件产品质量也受到了越来越多来自各个行业软件公司的关注。软件能力成熟度就是对于软件组织在定义、实施、度量、控制和改善其软件过程的时间中各个发展阶段的模块,其核心就在于把软件开发视为一个有序可控的过程。可以把软件能力成熟度视为保证软件产品质量的一种过程控制能力。
1软件质量概念的提出
在信息如此发达的当代社会,软件质量的重要性被越来越多的人所接受。近几年,软件质量研究一直是软件研究发展较快的新方向。这是因为在软件实践的过程当中,我们积累了很多的经验,需要加以概括并总结成知识,抽象为科学,这样可以让其他人遵循其中的规律,从而可以更好地实践软件过程。另一方面,人们在软件开发的过程当中,会有许多失败的经验,这就迫使人们不得不进入这一领域,研究软件质量的概念和模型,研究影响软件质量的因素,研究如果通过这些因素来控制软件的质量。
2如何提高软件质量
软件质量管理在上世纪70年代软件危机之后被引起重视,其发展从早期的成品测试、度量发展到对产品形成过程的质量和保证,人们为解决软件危机做出了许多方面的努力。概括地说,有三类方法可以用来改进软件质量:控制软件生产过程、提高软件生产者组织性和软件生产者个人能力。
(1)净化软件工程:就是通过统计的方法来维护软件工程管理过程,其特点是:劳动质量管理,重视开发过程当中的定量分析,这一方法按照原义解释就是指干干净净生产,以提高产品质量。
(2)评估软件能力成熟度:用软件能力成熟度模型来评估软件生产组织研制软件能力的成熟度。CMM是从软件生产的组织过程角度,来评估其生产能力和技术水平。软件能力成熟度分5级。
(3)提高软件生产力和个人技能:用个人软件过程作为一个工具和方法,它给软件工程师提供了测试和分析工具,并帮助软件工程师理解自己的软件生产水平和技巧高低,以求得到提高。
3软件质量管理模型与标准
目前国外较为成熟的质量模型除ISO 9000和CMM外,还有国际标准SPICE,TickIT,Six Sigma,Trillium等。
3.1 ISO 9000质量标准
ISO 9000是一个质量系统标准系列,它包含了综合的质量管理概念和指南,是现代质量管理和质量保证理论结晶,也是在实际开发过程中所总结出的经验教训。
ISO9000软件标准系列包含如下内容:
ISO 9000 - 《质量管理体系–基础和术语》
ISO 9001 - 《质量质量体系–要求》
ISO 9004 - 《质量管理体系–业绩改进指南》
ISO 9011 - 《质量和环境管理体系审核指南》
常用的ISO构架框图如图1:
3.2 CMM
1993年,美国防部在卡内基梅隆大学的软件研究院正式发表了能力成熟度。这是评估软件生产部门软件生产能力成熟度的模型,是从软件生产组织过程角度来评估其达到的水平等级。该等级分为5级,分别为:
5级-优化。过程变化管理、技术变化管理、缺点防止;
4级-管理。软件质量管理、过程定量化管理;
3级-确定。仔细观察、整体协调、软件生产工程、集成软件管理、训练规划、组织过程确定、组织过程中心点
2级-重复。软件构形管理、软件质量保证、软件合同管理、软件工程跟踪和统筹、软件工程计划、需求管理
1级-初始。经验和个人行为。
3.3 ISO-SPICE
ISO-SPICE是ISO和IEC(国际电子技术委员会)共同制定的关于软件过程评估框架的国际标准。该框架包含了软件项目过程中的计划、管理、监督、控制和改进,这些过程涉及软件的获取、供应、开发、操作、发展和支持等。它提供了一个结构化的过程来进行软件过程的质量评估。
4结论
软件质量是一复杂的系统工程问题,换句话说,它必须要用系统的方法来研究。软件过程是以个人智力为基础的有组织的团队行生产活动。用全面质量管理的思想方法,把软件研制和运用过程系统科学地管理起来,这个就是软件质量管理观点和思路。要将软件开发作为一个系统工程来进行过程管理的根本原因在于影响软件质量因素太多,太复杂,难以控制。所以我们才要将整个软件过程给控制起来,其中主要包括确定系统需求、软件需求、初步设计、详细设计、编程、测试等等。
参考文献
[1] 毛明志,詹瑾,黄春贤.软件质量管理综述[J]. 科技管理研究,2006.9.
[2] 徐瑞恩,深入探讨软件成熟度模型[J].软件世界,2001.04.25.