SW-CMM(Capability
Maturity Model For Software 软件生产能力成熟度模型,以下简称"CMM"),是87年由美国卡内基梅隆大学软件工程研究所(CMU
SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。CMM目前通用流行的版本是1.1(Version1.1)。
SJ/T11235是信息产业部电子第4研究所联合北京力友和质量管理咨询有限公司、信息产业部电子第5所、创智公司、联想神州数码公司等单位为我国软件企业改进软件过程和提高软件开发规范水平而起草的一个标准。该标准基于过程统计的全面质量管理,参照了能力成熟度模型等国外先进的软件过程管理理念、方法和模型,包含了从软件需求提出、软件设计、开发、编码、测试、交付运行到软件退役的整个生命周期中各个软件过程的各项基本要素。这个标准中,每个过程由若干惯例组成。这些惯例是根据各个软件组织长期开发实践活动的成功经验逐渐总结、提炼形成的,被认为是具有共性的最佳实践。
一、CMM和SJ/T11235模型构成
SW-CMM是SEI开发最早的一个能力成熟度模型。在此基础上,SEI相继开发了P_CMM、SE_CMM、SA-CMM等能力成熟度模型。通常说的CMM是指SW_CMM。P_CMM是指人力成熟度模型,SE_CMM是指系统工程能力成熟度模型。SA-CMM是软件获取成熟度模型。这几个成熟模型在所关注的过程有相互交叉的内容,为了便于软件企业制定过程标准和过程改进,SEI在2000年取消了单独的SW_CMM2.0继续开发,转而综合研究了开发出集成能力成熟度模型(Capability
Maturity Model Integration,CMMI)。该模型包括CMMI-SE, CMMI-SE/SW
,CMMI-SE/SW/IPPD/SS等模型组件,CMMI-SE/SW/IPPD/SS包含了CMMI-SE, CMMI-SE/SW模型组件,有连续表示(Continuous
Representation)和阶段表示(Staged Representation)两种。两种表示方法各有不同的使用对象,熟悉SE_CMM模型者用连续表示更容易,而熟悉SW_CMM
模型者用分级表示更容易。因为SE_CMM是连续模型而SW_CMM是分级模型。不管是连续模型还是阶段模型都是由一系列过程方面组成。过程方面是CMMI模型认为产品生产的主要方面,是质量保证必须控制的方面,CMMI-SE/SW/IPPD/SS共有24个过程方面,它来源于CMMI的原始模型SW_CMM、SE_CMM等模型。CMMI阶段模型中有5个阶段,它按成熟度等级分组。5个阶段或者成熟度等级的概念可以追溯到菲利浦.克罗斯比(Crosby)的著作"质量是免费的"
("Quality Is Free "),它描述五个等级,最高等级为等级5。实际上,Crosby提出的等级更接近于连续模型中的等级,因为他在许多过程方面也采用等级的概念,相当于连续模型的能力级别。
而SJ/T 11235 的主体实施内容是和国际上的CMMI标准相一致的,他主要参考了CMMI模型中SW和SE模型组件,是一种分级模型。(与之对应的信息产业部标准SJ/T11234是参照CMMI连续模型编写)共分为五个成熟度等级:第1级:初始级;第2级:受管理级;第3级:已定义级;第4级:定量管理级;
第5级:持续优化级。从2级到5级都是有诺干个过程方面组成。如图1所示。
图1 成熟度等级
每个过程方面的实现,用相应的一组目标(通用目标和特定目标)来衡量。模型中为每个目标规定了相应的一组惯例(通用惯例和特定惯例),通过实施这些惯例来达到相应的目标。换句话说,如果针对某个成熟度等级,实施了该等级定义的各个过程方面的各个惯例并且达到了目标要求,也就表明软件能力达到了这个成熟度等级。围绕成熟度等级的过程方面、目标和惯例等是构成模型的部件。除了过程方面、目标和惯例外,模型中还包含子惯例、典型工作产品、详细说明、示例以及引证,它们也是本模型的组成部件。模型的概念见图2。
图2 模型的概念和组成图
二、SJ/T11235和CMM的区别
SJ/T11235模型3级共有18(其中2级7个,3级11个)个过程域,相对应,SW-CMM共有18个过程域。虽然SJ/T11235中的很多过程域与SW-CMM中的基本相同,但有几个过程域的范围和内容发生了重要的变化,另外也有几个新增加的过程域。两个模型2、3级的过程域比较见表2。
通过比较可以看出,2级的内容变化不大。"软件分包管理"重新命名为"供应协议管理",所包括的范围也更广泛,包含了供应和采购方面的一些内容,所以不应裁减。"度量与分析"在SW-CMM中是一个公共特性,在CMMI中成为一个单独的过程域。
3级的变化是最大的。原来在SW-CMM中的覆盖了所有软件工程实践的"软件产品工程"被扩展为5个过程域:"需求制定"主要涉及的是各个层次的需求分析活动;"技术方案"包含设计和实施;"产品集成"主要是集成、组装产品部件并形成最终交付产品;"验证"是指要通过诸如测试、同行评审等活动展示产品与具体需求的符合性;"确认"则是通过客户的验收测试等活动确定产品满足了客户的真正需要。"集成项目管理"包括了SW-CMM的"集成软件管理"和"组间协调"两个过程域。"风险管理"和"决策分析与制定"都是新的过程域,后者主要用来管理解决某一个问题的时候,识别和评价不同的解决方案这方面的活动的。
由于增加了很多新的实践,新的模型比原来的模型大了很多--SJ/T11235有近40个目标、137个特定惯例,而SW-CMM只有33个目标、93个活动。模型大小的变化对过程改进和评估活动的工作量都有非常大的影响。
SJ/T11235和SW-CMM的目标对比见表2。
三、结束语
SJ/T11235是国内专家参照CMMI分级模型编写一个软件开发标准。他和SW_CMM有许多共同点,但在内容和表现形式上却有所不同,她包含了SW_CMM过程要求,强调和规范软件企业开发的更多的过程要素。同时,他是国内专家综合考虑了我国国情而编写的一个标准,她将更加适合指导我国软件企业的生产开发活动。
参考文献
1. 王青. 现代质量管理理论在软件组织的应用. 计算机工程与应用, 2001, (23): 71~87
2. 严圣武,张大庆,王建昌,质量控制[M]万象出版社
3. W.Edwards Deming the New Economics for Industry, Govement,
Education [M] 1993
4. Muscovite H, Kim K. QFD Optimizer: A novice friendly
quality function deployment decision support system for
optimizing product designs. Computers & Industrial Engineering,
1997, 32(3): 641~655
5. Grosby,P.B. Quality Is Free: The Art of Making Quality
Certain. New York:McGraw-Hill,1979.
6. Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, and
Charles V. Weber, "Capability Maturity Model for Software,
Version 1.1", Software Engineering Institute, CMU/SEI-93-TR-24,
DTIC Number ADA263403, February 1993.
7. CMU/SEI. CMMISM for Systems Engineering/Software Engineering/Integrated
Product and Process Development/Supplier Sourcing, Version
1.1, Continuous Representation (CMMI-SE/SW/IPPD/SS, V1.1,
Continuous)
8. CMU/SEI. CMMISM for Systems Engineering/Software Engineering/Integrated
Product and Process Development/Supplier Sourcing, Version
1.1, Staged Representation (CMMI-SE/SW/IPPD/SS, V1.1, Staged)
9. 《软件能力成熟度模型 SJ/T11235-2001》中华人民共和国电子行业标准
|