软件能力成熟度模型CMM
- 格式:ppt
- 大小:993.50 KB
- 文档页数:15
软件能力成熟度模型的五个等级软件能力成熟度模型的五个等级导语:在软件开发和管理领域,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一个被广泛应用的评估和改进软件开发能力的框架。
CMM根据不同的组织在软件开发过程中的能力水平,将其分为五个等级,逐步提升组织的软件开发能力。
本文将详细介绍软件能力成熟度模型的五个等级,并对每个等级所代表的特点和优势进行分析。
一、初始级(Level 1 - Initial)初始级是软件能力成熟度模型中最低的等级。
在这个等级中,组织没有明确的软件开发过程,开发工作往往是以临时和非结构化的方式进行的。
在这种情况下,项目的成功往往依赖于个别的开发人员的经验和个人技能。
缺乏标准化的开发流程、文档化的要求和质量控制,容易导致开发过程中的混乱和错误。
二、重复级(Level 2 - Repeatable)重复级是软件能力成熟度模型中的第二个等级。
在这个等级中,组织开始意识到软件开发过程的重要性,并开始建立一些基本的规范、流程和工具来规范开发过程。
组织能够重复地执行一些已经被证明是成功的软件开发实践。
这些实践可以帮助组织在不同的项目中保持一定的一致性,提高软件质量和生产效率。
三、定义级(Level 3 - Defined)定义级是软件能力成熟度模型中的第三个等级。
在这个等级中,组织进一步明确了软件开发过程,并进行了规范化和文档化。
组织能够定义一套标准的开发流程和过程,并将其应用于所有的软件开发项目。
组织还会建立一些针对不同项目要求的指南和标准,以确保开发过程的一致性和高质量。
四、管理级(Level 4 - Managed)管理级是软件能力成熟度模型中的第四个等级。
在这个等级中,组织开始对软件开发过程进行量化和度量,以便对项目进行更加准确和全面的管理。
组织会使用一些度量指标来评估和监控软件开发过程的质量和效率,以及在开发过程中发现和解决问题的能力。
软件能力成熟度模型――CMM的理论和实践吉林大学计算机学院李文辉主要参考讲义:1.Capability Maturity Model for Software, Version 1.1Mark C. PaulkBill CurtisMary Beth ChrissisCharles V. Weber2.Key Practices of the Capability Maturity Model,Version 1.1Mark C. PaulkCharles V. WeberSuzanne M. GarciaMary Beth ChrissisMarilyn BushCapability Maturity Model for Software, Version 1.1前言软件危机(software crisis)CMM的发展过程(SEI /Software Engineering Institute/Carnegie Mellon University)CMM产生的理论基础1.过程成熟度框架(The Process Maturity Framework)1.1 不成熟和传输组织的比较1.2构成过程成熟度基础的基本概念1.3能力成熟度模型概述2.软件过程成熟度的五个等级成熟度等级成熟度等级的五个级别的主要特征2.1等级的行为特征×成熟度可以通过以下各项对其特征加以描述:1.组织为建立或改进软件过程所进行的活动2.对每个项目所进行的活动3.所产生的横跨各项目的过程能力×等级1:×等级2:1.具有项目级的方针和执行这些方针的规程2.基于在类似们项目上的经验对新项目进行规划和管理3.达到等级2的目的是使软件项目的有效管理过程制度化4.一个有效过程可特征化为:实用的、已文档化的、已实施的、已培训的、已测量的、能改进的5.等级2组织的过程能力可概括为有纪律的。
×等级3:1.有组织级的标准软件过程2.存在一个负责组织的软件过程活动的组,SEPG3.实施全组织的培训计划4.项目剪裁组织的标准软件过程去建立他们自己的软件过程(项目定义软件过程)5.等级3组织的软件过程能力可概括为标准和一致的×等级4:1.组织对软件产品和过程都设置定量的质量目标2.组织内建立了软件过程数据库3.开始定量地认识软件过程4.软件过程变化较小,一般在可接受的范围内5.等级4组织的软件过程能力概括为可预测的×等级5:1.整个组织集中精力进行不断的过程改进2.缺陷预防3.技术更新4.等级5组织的软件过程能力可特征化为不断改进2.2理解成熟度等级描述模型规范模型CMM不是处方,它并不告诉组织如何进行改进×理解初级×理解可重复级和已定义级×理解已管理级和优化级2.3软件过程的可视性等级1―――一个黑盒等级2―――项目里程碑处具有管理可视性等级3―――盒子的内部结构可视等级4―――软件过程被配备上度量,并得到定量地控制等级5―――对过程不断改进3.4过程能力和性能预测随着成熟度增加,预定目标结结果与实际结果间的差距减少随着成熟度增长,实际结果相对预定目标结果的偏差范围减小随着成熟度增加,预定目标结果得到改善2.5跳越成熟度等级跳跃等级是违反生产规律的4.CMM的可操作定义四种用法3.1成熟度等级的内部结构3.2成熟度等级3.3关键过程区域每个关键过程区域识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标分别叙述等级2-等级5的每个KPA3.4共同特点执行约定――必须执行的活动执行能力――先决条件执行的活动描述为了建立过程能力必须作什么,而其他的实践是执行的活动中所描述的实践规范化的基础3.5关键实践5.运用CMM4.1软件过程评估和软件能力评价方法4.2软件过程评估和软件能力评价之间的差别4.3CMM在过程改进方面的其他用法Key Practices of the Capability MaturityModel2.能力成熟度模型概述2.1介绍能力成熟度模型软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。
“软件能力成熟度模型”(1)背景介绍:CMM是“软件能力成熟度模型”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,初始的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM模型实施过程改进取得较大的成功,所以在全世界范围内被广泛使用。
CMMI是SEI于2000年发布的CMM的新版本,目前CMMI已经发展到1.2版本,并且只接受1.2版本的评估结果。
CMMI目前包含了三个模型,分别是CMMI-DEV、CMMI-SVC以及CMMI-ACQ模型。
CMMI-DEV:最新版本是SEI于2006年8月份发布的CMMI for Development v1.2版本。
该版本集成了软件工程、硬件工程和系统工程三大学科领域。
图表1 CMMI-DEV模型集成CMMI-DEV模型按照阶段式表达方式将成熟度分为五个等级,每个等级包含相应的过程域,如下图所示:图表2 CMMI-DEV各成熟度等级包含的过程域CMMI-SVC:该模型SEI于2009年2月份发布,最新版本是CMMI for Services v1.2版本。
该模型可以应用于IT、医疗卫生、教育等各类服务领域。
该模型采用了CMMI的基础架构,在此基础上增加了服务相关的特有过程域。
对于已经实施CMMI- DEV 的企业,提供了快速、便捷的理解和导入机制。
图表3 CMMI-SVC和CMMI其他模型的关系CMMI-SVC模型按照阶段式表达方式也分成五个等级,每个等级包含相应的过程域,如下图所示:图表4 CMMI-SVC各成熟度等级的过程域CMMI-ACQ:该模型SEI于2007年11月份发布,最新版本是CMMI for Acquisition v1.2版本。
该模型基于CMMI模型体系架构,整合了CMMI采购模型、软件采购模型以及政府及产业采购的最佳实践等,用于指导采购方进行采购管理。
软件能力成熟度模型(CMM)认证考试(答案见尾页)一、选择题1. 软件能力成熟度模型的英文缩写是什么?A. SDLCB. OMTC. CMMD. IFECS2. CMM模型的最高等级是什么?A. 1级初始级B. 2级已管理级C. 3级定义级D. 4级管理级3. 在CMM模型中,下列哪项是“定义级”的关键目标?A. 定义项目的需求和范围B. 确保项目按时完成C. 确保项目按照预定的成本和质量标准完成D. 确保项目过程和产品的质量得到持续改进4. CMM模型中的“管理级”对应的是哪一层级?A. 初始级B. 已管理级C. 定义级D. 优化级5. 在CMM模型中,“集成级”是第几级?A. 1级B. 2级C. 3级D. 4级6. CMM模型的核心是什么?A. 风险管理B. 过程管理C. 质量管理D. 技术管理7. 在CMM模型中,“执行级”对应的是哪一层级?A. 初始级B. 已管理级C. 定义级D. 优化级8. CMM模型的目的是什么?A. 提高软件开发的效率和质量B. 确保软件项目的成功C. 提供一个标准化软件开发的框架D. 提高软件产品的可用性和可维护性9. 在CMM模型中,“优化级”是第几级?A. 1级B. 2级C. 3级D. 4级10. CMM模型的发展经历了哪些阶段?A. 初始级、已管理级、定义级、管理级、优化级B. 初始级、已管理级、定义级、优化级C. 初始级、已管理级、定义级、管理级、优化级、持续改进级D. 初始级、已管理级、定义级、管理级、优化级11. 软件能力成熟度模型(CMM)是一种用于评估和提高软件过程能力的模型。
它的最高等级是()。
A. 初始级B. 可重复级C. 已定义级D. 优化级12. CMM模型的第一级是()。
A. 初始级B. 可重复级C. 已定义级D. 优化级13. 在CMM模型中,用于评估软件过程能力的三个关键过程域是()。
A. 项目管理、工程和支持过程B. 需求管理、工程和支持过程C. 项目管理、开发和支持过程D. 项目管理、需求管理和支持过程14. CMM模型的第二级是()。
什么是CMM、CMM的背景:CMM(Capability Maturity Model) 是能力,成熟度模型的缩写。
CMM的工作最早开始于 1986年11月,当时为了满足美国联邦政府评估软件供应商能力的要求,美国卡内基·梅隆大学的软件工程研究院(SEI)牵头,在Mitre公司的协助下,于1987年9月发布了一份能力成熟度框架(Capability Maturity Framework), 以及一套成熟度问卷 (Maturity Questionnaire).很多人认为这套问卷就代表了CMM模型,其实它只是用于探索软件过程成熟度的一个工具,真正的模型出现在四年以后。
SEI总结了自1987年以来对成熟度框架和初版成熟度问卷的实战经验,并以此为基础,推出了CMM1.0 版。
这个推出于 1991年的 CMM1.0 集中了四年来对软件公司评估的经验以及广泛的用户反馈,在成熟度框架的基础上建立了一个可用的模型,这个模型可以更加有效地帮助软件企业建立和实施过程改进计划。
CMM1.0 版使用两年之后,于1992年四月进行了一个研讨会,参加研讨会的有约两百名富有经验的软件专业人员。
在广泛听取了他们的反馈意见之后, SEI于 1993 年推出了CMM1.1 版。
近几年来,CMM又推出了2.0 版本,同时进入了ISO 体系,称为 ISO/IEC15504 或 SPICE. SPICE 从1995年起进入实地测试阶段,可能于2001年发布。
CMM 致力于软件开发过程的管理及工程能力的提高与评估。
该模型在美国和北美地区已得到广泛应用同时正在被越来越多的欧洲和亚洲等国家的大型信息技术企业所采纳,实际上已成为软件开发过程改进与评估的事实上的工业标准。
我们的邻居,软件大国印度,十分重视软件开发过程的管理及与其相关的理论与标准的发展。
据统计,在印度的2000多家软件公司中有75家软件公司通过了ISO9000认证,60多家软件公司通过了CMM认证,其中达到CMM5级一家,4级三家,3级4家。
软件能力成熟度模型(CMM)是一个用于评估和改进软件开发能力的框架,它通过定义五个不同的成熟度等级来帮助组织了解他们软件开发过程的状态,并提供指导他们改进的路径。
这五个等级分别是初始级、重复级、定义级、管理级和优化级。
在本文中,我将从这五个等级出发,深入探讨软件能力成熟度模型等级和过程,以期帮助读者更全面地理解这一主题。
### 1. 初始级在软件能力成熟度模型中,初始级是指组织在软件开发过程中缺乏一致性和可预测性。
在这个阶段,软件开发过程通常是不受控制的,因为缺乏标准化的过程和程序。
这意味着在初始级的组织中,软件开发过程是混乱的,不可靠的,并且难以管理和预测。
### 2. 重复级在重复级,组织开始意识到需要对软件开发过程进行一定程度的标准化和文档化,以确保在软件开发过程中能够重复使用成功的实践。
在这个阶段,组织可能会创建一些基本的流程,并且对这些流程进行持续改进,以确保在软件开发过程中的可预测性和一致性。
### 3. 定义级在定义级,组织已经实现了对软件开发过程的标准化,并且能够对这些过程进行量化和测量。
这意味着组织可以更好地控制和管理软件开发过程,并且能够更好地预测成果和生产力。
在这个阶段,组织通常会将标准化的软件开发过程进行文档化,并且建立一些度量指标来监控和改进这些过程。
### 4. 管理级在管理级,组织不仅能够量化和测量软件开发过程,还能够根据这些度量指标来进行持续改进和优化。
这意味着组织已经具有较高的管理水平,能够监控和控制软件开发过程,并且能够在持续改进中实现更高的成果和生产力。
在这个阶段,组织通常会建立一个持续改进的文化,并且不断提高对软件开发过程的认识和理解。
### 5. 优化级在优化级,组织已经实现了对软件开发过程的最高理解和控制。
这意味着组织能够根据对软件开发过程的深刻理解来实现最佳的成果和生产力,并且能够持续改进和优化软件开发过程。
在这个阶段,组织不断寻求创新和改进,以保持其在软件开发领域的领先地位。
软件能力成熟度模型:CMM五个级别介绍CMM 为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。
第一级只是一个起点,任何准备按CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。
从纯粹的个人行为发展到有计划有步骤的组织行为…第一级:初始级(Initial);第二级:可重复级(Repeatable);第三级:已定义级(Defined);第四级:受管理级(Managed);第五级:优化级(Optimizing)。
初始级初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
关注点:工作方式处于救火状态,不断的应对突如其来的危机;工作组:软件开发组、工程组;提高:需要建立项目过程管理,建立各种计划,开展QA 活动。
可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。
因此,第二级的焦点集中在软件管理过程上。
一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。
可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
关注点:规则化引入需求管理、项目管理、质量管理、配置管理、子合同管理等;引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;提高:SEPG、建立软件过程库和文档库已定义级在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。
在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。
CMM是Capability Maturity Model for Software的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。
它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此 CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM是由美国卡内基-梅隆大学软件工程研究所(CMU SEI)研究制定,并在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。
CMM把软件开发过程的成熟度由低到高分为五级,等级越高,表明该企业软件开发失败风险越低,整体开发时间越短,并能减少开发成本,降低错误发生率,提高产品质量。
按照《使用软件工程》的标准,CMM将软件分为5个等级:(如图一所示)图一1.初始级(initial)工作无序,项目进行过程中常放弃当初的规划管理无章,缺乏健全的管理制度开发项目的成效不稳定,产品的性能和质量依赖于个人能力和行为。
2.可重复级(Repeatable)管理制度化,建立了基本的管理制度和规程,管理工作有章可循初步实现标准化,开发工作较好的实施标准稳定课跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件3.已定义级(Defined)开发的过程,包括技术工作和管理工作,均已实现标准化,文档化。
建立了完善的培训制度和专家评审制度全部技术活动和管理活动均可稳定实施项目的质量,进度和费用均可控制。
对项目进行中的过程,岗位和指责均有共同的理解。
4.已管理级(Managed)产品和过程已建立了定量的质量目标。
过程中活动的生产率和质量是可度量的。
已建立过程数据库。
已实现项目产品和过程的控制可预测过程和产品质量趋势。
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
CMM是是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。
CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
CMM是由美国卡内基梅隆大学软件工程研究所1987年研制成功的,是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。
目前,我国已有软件企业通过了CMM标准认证。
SW-CMM(Capability Maturity Model For Software 软件生产能力成熟度模型,以下简称"CMM"),是87年由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。
CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM目前通用流行的版本是1.1(Version1.1)。
《按照软件工程研究所(SEI)的原来计划,CMM的改进版版本2.0(V2.0)是要在1997年的11月完成的。
但是,美国国防部办公室要求软件工程研究所(SEI)延迟发放公布CMM版本2.0,直至他们完成另一个更为紧迫的项目-CMMI。