《软件工程与开发技术》课件第21章_第1页
《软件工程与开发技术》课件第21章_第2页
《软件工程与开发技术》课件第21章_第3页
《软件工程与开发技术》课件第21章_第4页
《软件工程与开发技术》课件第21章_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第21章能力成熟度模型21.1CMM的发展过程21.2CMM体系结构21.3CMM关键过程域21.4小结 21.1CMM的发展过程

CMM的思想内核及其结构基于几个推行产品质量管理的科学家的理论。这些学者是:沃尔特·谢华特(WalterShewart)、埃华茨·丹明(EwardsDeming)、约瑟夫·佐兰(Joseph

Juran)和菲力浦·克罗斯比(PhilipCrosby)。

20世纪30年代,谢华特在贝尔实验室工作时,最先提出了一套运用统计学进行质量管理的控制原则。此后,统计学家丹明和佐兰将其理论加以完善并付诸于实践。后来丹明又揭示了一种号称丹明链式反映的现象,内容如下:

(1)一个企业改进它的生产过程并且坚持不懈地按此运动。

(2)质量改进了。

(3)因为减少了返工、错误和延误,设计的更好,更有效地使用了资源,成本下降了。

(4)因为上升了的质量和降低了的成本,产品的市场占有率提高了。

(5)利润增加了。丹明、佐兰以及其他学者的这种做法,被人们称为“全面质量管理”(TotalQualityManagement)。丹明也被人们誉为现代质量思想理论的鼻祖。

后来,全面质量管理的思想被IBM公司的罗恩·拉德斯(RonRadice)和瓦茨·汉佛莱(WatssHumphrey)应用于软件工程领域。1986年,汉佛莱从IBM退休后,加入了SEI。他带去的思想与实践就成为了以后的CMM的主要基础。1987年,SEI发表了他们的第一份CMM研究报告。

1986年11月,SEI应美国联邦政府的要求,在Mitre公司的协助下开始进行有关软件能力成熟度的研究。1987年9月开发出了一套软件能力成熟度框架和一套软件能力成熟度问卷,用以评估软件供应商的工程能力,这就是最早用以探索软件工程过程成熟度的一个工具。

四年之后的1991年,SEI自己总结了成熟度框架和初版成熟度问卷的实践经验,并以此为标准推出了CMM1.0版。

CMM1.0使用将近两年之后,SEI在1992年4月举行了一个CMM研讨会,参加研讨会的有200余名经验丰富的软件专家。SEI在广泛听取他们的意见之后,又于1993年推出了CMM1.1版。这也是迄今世界上比较流行的、通用的CMM版本。

十余年来,CMM的应用、改进、提升工作一直在不断地进行。按照SEI原来的计划,CMM的改进版本CMM2.0版应当在1997年11月完成,在取得实践反馈意见之后,于1999年正式推出(从已经获得的CMM2.0的讨论稿来看,它与CMM1.1的实质内容并没有大的变化)。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更紧迫的项目——CMMI。

CMMI(CapabilityMaturityModelIntegration)即“能力成熟度模型集成”,这也是美国国防部的一个设想,他们想把现存所有的以及将被发展出来的各种能力成熟度模型集成到一个框架中去。这个框架有两个功能,第一,软件获取方法的改革;第二,建立一种从集成产品与过程发展的角度出发,包含健全的系统开发原则的过程改进方法。

随着人们对CMM研究的不断深入,其他一些学科也结合自身的特点,陆续推出了自己的CMM模型。例如人力资源能力成熟度模型P-CMM、系统集成能力成熟度模型SE-CMM等。为了便于区分,在有可能引起混淆的地方,将软件成熟度模型用SW-CMM来称呼。

21.2CMM体系结构

21.2.1CMM的等级结构

图21.1CMM的等级结构“初始级”的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态。处于这种状态的开发组织也有可能开发出成功的产品,但是成功的取得完全依靠于个别精英的超常劳动和特定的机遇。

“可重复级”已经建立了基本的项目管理过程,可以用来对软件工程的成本、进度和功能特性进行跟踪。对于类似的应用项目,开发过程有固定的章程可循并能够重复以往的成功。“已定义级”的特点是用于管理方面的和工程方面的软件过程均已文档化、标准化,并形成了整个软件开发组织的标准软件过程。全部开发项目均采用和实际情况相吻合的、按照对方要求适当裁剪后的标准软件过程来进行操作。在持续的开发过程中,组织的软件过程数据和软件财富数据不断积累并得到有效使用。

“已管理级”的特点是软件过程和产品质量有详细的度量标准。软件产品的质量和软件工程过程得到了定量的认识和管理。“持续优化级”是CMM的最高等级,但并不是意味着过程的改进到此为止。在这个等级中的软件开发组织能够主动地预防软件产品缺陷的发生,并通过对来自过程、新概念、新技术等方面的各种有用信息的定量分析,不断地、持续地对自身的软件过程进行改进提升。

CMM的5个等级是向下覆盖的。也就是说,只有满足了本等级之下所有等级的目标要求,才有望达到本等级的水平。21.2.2CMM的内部结构

除了等级1外,每个成熟度等级都由几个关键过程域组成。每个关键过程域又划分为五个称做公共特性的部分。公共特性规定一些关键惯例,如果这些关键惯例都得到了认真执行,就能够达到当前关键过程域所对应的目标。图21.2显示了CMM体系的这种结构。图21.2CMM体系结构成熟度等级:一个成熟度等级是通往某成熟软件过程的一个妥善定义的前进平台。五个成熟度等级构成CMM的顶层结构。

软件过程能力:软件过程能力描述通过遵循某软件过程能实现预期结果的程度。一个组织的软件过程能力提供了一种方法,用以预测本组织承担下一个软件项目时预期的最可能结果。关键过程域集合:每个成熟度等级由若干关键过程域组成。每个关键过程域标识出一串相关的活动(关键惯例),当这些活动都切实完成时,就达到了一组对满足过程成熟度等级要求来说至关重要的目标。CMM给每个成熟度等级定义了一些关键过程域。例如等级2的一个关键过程域是“软件项目策划”,它包括3项目标、25项关键惯例。

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

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

CMM中各个等级、各个关键过程域均由5种公共属性组成。其中,有4种属性被称为“制度化”属性,另一种属性称为“活动”,是一种执行性属性。为达到特定关键活动域对应的目标,凡是制度化的属性必须形成规范,成为组织软件过程的基础设施;执行性属性可用在实现目标上等价的其他活动替换。关键过程域的具体构成参见图21.3。图21.3CMM的关键过程域(KPAs)结构 21.3CMM关键过程域

CMM涵盖了软件工程过程中的全部基本环节和所有的保护性环节,包括18个关键过程域、52项目标和316项关键惯例(制度型和活动型)。

通过对大量软件开发组织成功惯例的分析,CMM的开发者认为,抽去具体工程项目的特点,一般来看,有一些因素在保证软件工程过程能力方面具有决定性的影响。CMM将对于提高软件工程过程具有决定性影响的这些方面称之为“关键过程域”。每一个关键过程域的结构如上所述,都包括由五类公共属性构成的关键惯例。关于公共特性可以解释如下:

执行承诺:组织必须采取的确保过程得以建立和持续下去的措施。执行承诺一般涉及到组织方针的建立和高级管理者的支持。

执行能力:为了胜任软件过程的实施,项目组或开发组织中必须具备的先决条件。执行能力一般涉及资源、组织机构和培训。

执行的活动:对于那些为实施某个关键过程域所必须的岗位和规程的描述。执行的活动一般涉及制定计划和规程、进行工作、跟踪计划执行情况和(必要时)采取纠正措施。

度量与分析:对于过程测量和测量结果分析的需求的描述。测量和分析一般包括可能采取的旨在确定执行活动的状态和有效性的测量活动。

验证实施:确保活动的执行符合已建立的过程的步骤。验证一般包括管理者和软件质量保证组对于各类工程活动和管理活动所作的审查和审核。

21.4小结

本章主要介绍了有关软件能力成熟度模型CMM的基本概念,包括CMM的历史沿革、基本架构、等级划分、内部构成等。

通过本章的学习,我们理解了软件过程能力在软件产业中的重要作用。效率的改善、品质的提升都有赖于过程的成熟,而过程的成熟程度可以利用CMM来评价,并按照CMM的预定框架提升现有的过程能力。成熟的软件过程能力是逐步达到的,根据CMM的划分,在能力提升的途径上分为5个向下覆盖的等级层次。成熟度的高低可以用18个关键过程域中的目标完成情况来评价。要想完成某一个关键过程域中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论