软件工程与开发技术(西电第二版)第21章能力成熟度模型

上传人:tian****1990 文档编号:83092357 上传时间:2019-02-26 格式:PPT 页数:25 大小:731.50KB
返回 下载 相关 举报
软件工程与开发技术(西电第二版)第21章能力成熟度模型_第1页
第1页 / 共25页
软件工程与开发技术(西电第二版)第21章能力成熟度模型_第2页
第2页 / 共25页
软件工程与开发技术(西电第二版)第21章能力成熟度模型_第3页
第3页 / 共25页
软件工程与开发技术(西电第二版)第21章能力成熟度模型_第4页
第4页 / 共25页
软件工程与开发技术(西电第二版)第21章能力成熟度模型_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《软件工程与开发技术(西电第二版)第21章能力成熟度模型》由会员分享,可在线阅读,更多相关《软件工程与开发技术(西电第二版)第21章能力成熟度模型(25页珍藏版)》请在金锄头文库上搜索。

1、,第21章 能力成熟度模型,21.1 CMM的发展过程 21.2 CMM体系结构 21.3 CMM关键过程域 21.4 小结,21.1 CMM的发展过程 CMM的思想内核及其结构基于几个推行产品质量管理的科学家的理论。这些学者是:沃尔特谢华特(Walter Shewart)、埃华茨丹明(Ewards Deming)、约瑟夫佐兰(Joseph Juran)和菲力浦克罗斯比(Philip Crosby)。 20世纪30年代,谢华特在贝尔实验室工作时,最先提出了一套运用统计学进行质量管理的控制原则。此后,统计学家丹明和佐兰将其理论加以完善并付诸于实践。后来丹明又揭示了一种号称丹明链式反映的现象,内容

2、如下:,(1) 一个企业改进它的生产过程并且坚持不懈地按此运动。 (2) 质量改进了。 (3) 因为减少了返工、错误和延误,设计的更好,更有效地使用了资源,成本下降了。 (4) 因为上升了的质量和降低了的成本,产品的市场占有率提高了。 (5) 利润增加了。,丹明、佐兰以及其他学者的这种做法,被人们称为“全面质量管理”(Total Quality Management)。丹明也被人们誉为现代质量思想理论的鼻祖。 后来,全面质量管理的思想被IBM公司的罗恩拉德斯(Ron Radice)和瓦茨汉佛莱(Watss Humphrey)应用于软件工程领域。1986年,汉佛莱从IBM退休后,加入了SEI。他

3、带去的思想与实践就成为了以后的CMM的主要基础。1987年,SEI发表了他们的第一份CMM研究报告。,1986年11月,SEI应美国联邦政府的要求,在Mitre公司的协助下开始进行有关软件能力成熟度的研究。1987年9月开发出了一套软件能力成熟度框架和一套软件能力成熟度问卷,用以评估软件供应商的工程能力,这就是最早用以探索软件工程过程成熟度的一个工具。 四年之后的1991年,SEI自己总结了成熟度框架和初版成熟度问卷的实践经验,并以此为标准推出了CMM1.0版。,CMM1.0使用将近两年之后,SEI在1992年4月举行了一个CMM研讨会,参加研讨会的有200余名经验丰富的软件专家。SEI在广泛

4、听取他们的意见之后,又于1993年推出了CMM1.1版。这也是迄今世界上比较流行的、通用的CMM版本。 十余年来,CMM的应用、改进、提升工作一直在不断地进行。按照SEI原来的计划,CMM的改进版本CMM2.0版应当在1997年11月完成,在取得实践反馈意见之后,于1999年正式推出(从已经获得的CMM2.0的讨论稿来看,它与CMM1.1的实质内容并没有大的变化)。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更紧迫的项目CMMI。,CMMI(Capability Maturity Model Integration)即“能力成熟度模型集成”,这也是美国国防部的一个设

5、想,他们想把现存所有的以及将被发展出来的各种能力成熟度模型集成到一个框架中去。这个框架有两个功能,第一,软件获取方法的改革;第二,建立一种从集成产品与过程发展的角度出发,包含健全的系统开发原则的过程改进方法。 随着人们对CMM研究的不断深入,其他一些学科也结合自身的特点,陆续推出了自己的CMM模型。例如人力资源能力成熟度模型P-CMM、系统集成能力成熟度模型SE-CMM等。为了便于区分,在有可能引起混淆的地方,将软件成熟度模型用SW-CMM来称呼。,21.2 CMM体系结构 21.2.1 CMM的等级结构,图21.1 CMM的等级结构,“初始级”的特点是无秩序的,有时甚至是混乱的。软件过程定义

6、几乎处于无章法和步骤可循的状态。处于这种状态的开发组织也有可能开发出成功的产品,但是成功的取得完全依靠于个别精英的超常劳动和特定的机遇。 “可重复级”已经建立了基本的项目管理过程,可以用来对软件工程的成本、进度和功能特性进行跟踪。对于类似的应用项目,开发过程有固定的章程可循并能够重复以往的成功。,“已定义级”的特点是用于管理方面的和工程方面的软件过程均已文档化、标准化,并形成了整个软件开发组织的标准软件过程。全部开发项目均采用和实际情况相吻合的、按照对方要求适当裁剪后的标准软件过程来进行操作。在持续的开发过程中,组织的软件过程数据和软件财富数据不断积累并得到有效使用。 “已管理级”的特点是软件

7、过程和产品质量有详细的度量标准。软件产品的质量和软件工程过程得到了定量的认识和管理。,“持续优化级”是CMM的最高等级,但并不是意味着过程的改进到此为止。在这个等级中的软件开发组织能够主动地预防软件产品缺陷的发生,并通过对来自过程、新概念、新技术等方面的各种有用信息的定量分析,不断地、持续地对自身的软件过程进行改进提升。 CMM的5个等级是向下覆盖的。也就是说,只有满足了本等级之下所有等级的目标要求,才有望达到本等级的水平。,21.2.2 CMM的内部结构 除了等级1外,每个成熟度等级都由几个关键过程域组成。每个关键过程域又划分为五个称做公共特性的部分。公共特性规定一些关键惯例,如果这些关键惯

8、例都得到了认真执行,就能够达到当前关键过程域所对应的目标。图21.2显示了CMM体系的这种结构。,图21.2 CMM体系结构,成熟度等级:一个成熟度等级是通往某成熟软件过程的一个妥善定义的前进平台。五个成熟度等级构成CMM的顶层结构。 软件过程能力:软件过程能力描述通过遵循某软件过程能实现预期结果的程度。一个组织的软件过程能力提供了一种方法,用以预测本组织承担下一个软件项目时预期的最可能结果。,关键过程域集合:每个成熟度等级由若干关键过程域组成。每个关键过程域标识出一串相关的活动(关键惯例),当这些活动都切实完成时,就达到了一组对满足过程成熟度等级要求来说至关重要的目标。CMM给每个成熟度等级

9、定义了一些关键过程域。例如等级2的一个关键过程域是“软件项目策划”,它包括3项目标、25项关键惯例。 目标集合:概括了一个关键过程域中的关键惯例,并可用于确定一个组织或项目是否已有效地实施该关键过程域。目标表示每个关键过程域的范围、边界和意图。例如,“软件项目策划”关键过程域的一个目标是“软件估计形成文件,供策划和跟踪软件项目使用。”,公共特性:将关键惯例分别归入执行承诺、执行能力、执行的活动、度量与分析和实施验证等五个公共特性中。公共特性是一种属性,它能够反映出一个关键过程域的实施和制度化是不是有效的、可重复的和持久的。“执行的活动”这个公共特性描述实施活动,其余四个公共特性描述制度化因素,

10、它们使得软件工程过程成为一种组织文化。 关键惯例:每个关键过程域用若干关键惯例加以描述,当实施这些关键惯例时,能帮助实现该关键过程域的目标。关键惯例描述对关键过程域的有效实施和制度化贡献最大的基础设施(对应于制度化的公共属性)和活动(非制度化的公共属性)。例如,软件项目策划这个关键过程域的一个关键惯例是“按照文件化的规程制定项目的软件开发计划”。,可以通过一组特定目标的完成情况来衡量特定的关键活动域中的工作是否到位。而目标的完成与否,又可以通过检查与此目标相关的关键惯例的实施情况来进行评价。关键惯例既不要求也不阻碍使用特定的软件技术,例如原型法,面向对象设计或者重用软件的需求、设计、代码或其他

11、技术成分的使用。,21.2.3 关键过程域的结构 CMM中各个等级、各个关键过程域均由5种公共属性组成。其中,有4种属性被称为“制度化”属性,另一种属性称为“活动”,是一种执行性属性。为达到特定关键活动域对应的目标,凡是制度化的属性必须形成规范,成为组织软件过程的基础设施;执行性属性可用在实现目标上等价的其他活动替换。关键过程域的具体构成参见图21.3。,图21.3 CMM的关键过程域(KPAs)结构,21.3 CMM关键过程域 CMM涵盖了软件工程过程中的全部基本环节和所有的保护性环节,包括18个关键过程域、52项目标和316项关键惯例(制度型和活动型)。 通过对大量软件开发组织成功惯例的分

12、析,CMM的开发者认为,抽去具体工程项目的特点,一般来看,有一些因素在保证软件工程过程能力方面具有决定性的影响。CMM将对于提高软件工程过程具有决定性影响的这些方面称之为“关键过程域”。每一个关键过程域的结构如上所述,都包括由五类公共属性构成的关键惯例。,关于公共特性可以解释如下: 执行承诺:组织必须采取的确保过程得以建立和持续下去的措施。执行承诺一般涉及到组织方针的建立和高级管理者的支持。 执行能力:为了胜任软件过程的实施,项目组或开发组织中必须具备的先决条件。执行能力一般涉及资源、组织机构和培训。,执行的活动:对于那些为实施某个关键过程域所必须的岗位和规程的描述。执行的活动一般涉及制定计划

13、和规程、进行工作、跟踪计划执行情况和(必要时)采取纠正措施。 度量与分析:对于过程测量和测量结果分析的需求的描述。测量和分析一般包括可能采取的旨在确定执行活动的状态和有效性的测量活动。 验证实施:确保活动的执行符合已建立的过程的步骤。验证一般包括管理者和软件质量保证组对于各类工程活动和管理活动所作的审查和审核。,21.4 小 结 本章主要介绍了有关软件能力成熟度模型CMM的基本概念,包括CMM的历史沿革、基本架构、等级划分、内部构成等。 通过本章的学习,我们理解了软件过程能力在软件产业中的重要作用。效率的改善、品质的提升都有赖于过程的成熟,而过程的成熟程度可以利用CMM来评价,并按照CMM的预

14、定框架提升现有的过程能力。,成熟的软件过程能力是逐步达到的,根据CMM的划分,在能力提升的途径上分为5个向下覆盖的等级层次。成熟度的高低可以用18个关键过程域中的目标完成情况来评价。要想完成某一个关键过程域中的任何一个目标,就必须建立起一组制度来满足4种具有制度化特征的公共属性要求,并且要保证按照制度化公共属性的要求完成一组活动。 CMM是一个抽象的软件成熟度模型。它总结了成功软件企业的成功经验并将其条理化。提出了一个以有纪律的、协调的方式提高软件产品的管理和开发工作的概念结构。正因为它的抽象性,它不涉及具体的软件生命周期模型,也不涉及具体的软件工程方法论,更与具体的软件开发工具无关。它能够适用于任何一个软件开发组织,用以提高其软件工程过程能力。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号