CMM简介软件能力成熟度模型
- 格式:ppt
- 大小:159.50 KB
- 文档页数:31
软件能力成熟度模型的五个等级软件能力成熟度模型的五个等级导语:在软件开发和管理领域,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一个被广泛应用的评估和改进软件开发能力的框架。
CMM根据不同的组织在软件开发过程中的能力水平,将其分为五个等级,逐步提升组织的软件开发能力。
本文将详细介绍软件能力成熟度模型的五个等级,并对每个等级所代表的特点和优势进行分析。
一、初始级(Level 1 - Initial)初始级是软件能力成熟度模型中最低的等级。
在这个等级中,组织没有明确的软件开发过程,开发工作往往是以临时和非结构化的方式进行的。
在这种情况下,项目的成功往往依赖于个别的开发人员的经验和个人技能。
缺乏标准化的开发流程、文档化的要求和质量控制,容易导致开发过程中的混乱和错误。
二、重复级(Level 2 - Repeatable)重复级是软件能力成熟度模型中的第二个等级。
在这个等级中,组织开始意识到软件开发过程的重要性,并开始建立一些基本的规范、流程和工具来规范开发过程。
组织能够重复地执行一些已经被证明是成功的软件开发实践。
这些实践可以帮助组织在不同的项目中保持一定的一致性,提高软件质量和生产效率。
三、定义级(Level 3 - Defined)定义级是软件能力成熟度模型中的第三个等级。
在这个等级中,组织进一步明确了软件开发过程,并进行了规范化和文档化。
组织能够定义一套标准的开发流程和过程,并将其应用于所有的软件开发项目。
组织还会建立一些针对不同项目要求的指南和标准,以确保开发过程的一致性和高质量。
四、管理级(Level 4 - Managed)管理级是软件能力成熟度模型中的第四个等级。
在这个等级中,组织开始对软件开发过程进行量化和度量,以便对项目进行更加准确和全面的管理。
组织会使用一些度量指标来评估和监控软件开发过程的质量和效率,以及在开发过程中发现和解决问题的能力。
“软件能力成熟度模型”(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(软件能力成熟度模型)一、CMM的含义与作用CMM是Capability Maturity Model for Software的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。
它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
企业实施CMM模型并评估可为企业带来如下好处:指导软件组织提高软件开发管理能力;降低软件承包商和采购者的风险;评估软件承包商的软件开发管理能力;帮助软件企业识别开发和维护软件的有效过程和关键实践;帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践;增加软件企业的国际竞争能力。
二、CMM的发展过程1984年美国国防部为降低采购风险,委托卡耐基—梅隆大学软件工程研究院(SEI)制定了软件过程改进、评估模型,也称为SEI SW-CMM。
该模型于1991年正式推出,迅速得到广大软件企业及其顾客的认可。
1987年SEI推出SW-CMM框架1991年推出CMM 1.0 版1993年推出CMM 1.1 版2000年推出CMMI-SE/SW 1.0版。
我国也于2001年4月发布了《SJ/T 11234-2001 软件过程能力评估模型》和《SJ/T 11235-2001 软件能力成熟度模型》两个标准。
我国政府一直重视软件产业的规范和发展,国务院于2000年6月颁发的“18号文件”第五章第十七条明确提出鼓励软件出口型企业通过ISO9000系列质量保证体系认证和CMM认证,其认证费用通过中央外贸发展基金适当予以支持。
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。
软件工程与能力成熟度模型cmm中国计算机用户20世纪70年代中期,软件工程管理引起广泛注意。
当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的失败项目是因为管理不善而引起的,而不是因为技术实力不够。
他们进而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。
这个结论非常重要。
软件项目失败的主要原因有:需求定义不明确;缺乏一个好的软件开发过程;没有一个统一领导的产品研发小组;子合同管理不严格;没有经常注意改善软件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制等等。
在关系到软件项目成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需求变化和风险管理等都是与工程管理直接相关的因素。
由此可见,软件工程管理的意义至关重要。
软件项目的特殊性软件工程管理和其它工程管理相比有其特殊性。
首先,软件是知识产品,进度和质量都较难度量,生产效率也较难保证。
其次,软件系统复杂程度也是超乎想象的。
例如,宇宙飞船的软件系统源程序代码多达2000万行,如果按过去的生产效率一个人一年只能写1万行代码的话,将需要2000人年的工作量,这是非常惊人的。
正因为软件如此复杂和难以度量,软件工程管理的发展还很不成熟。
cmm,逐步的成熟美国carnegie mellon大学软件工程研究所(cmu/sei)主持研究与开发的cmm/psp/tsp技术,为软件工程管理开辟了一条新的途经。
cmm是英文“capability maturity model”的简称,意为能力成熟度模型。
cmm的本质是软件管理工程的一个部分。
根据软件生产的历史与现状,cmm框架可用5个不断进化的层次来表达:其中初始层是混沌的过程,可重复层是经过训练的软件过程,定义层是标准一致的软件过程,管理层是可预测的软件过程,优化层是能持续改善的软件过程。
任何单位所实施的软件过程,都可能在某一方面比较成熟,在另一方面不够成熟,但总体上必然属于这5个层次中的某一个层次。
软件能力成熟度模型:CMM五个级别介绍CMM 为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。
第一级只是一个起点,任何准备按CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。
从纯粹的个人行为发展到有计划有步骤的组织行为…第一级:初始级(Initial);第二级:可重复级(Repeatable);第三级:已定义级(Defined);第四级:受管理级(Managed);第五级:优化级(Optimizing)。
初始级初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
关注点:工作方式处于救火状态,不断的应对突如其来的危机;工作组:软件开发组、工程组;提高:需要建立项目过程管理,建立各种计划,开展QA 活动。
可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。
因此,第二级的焦点集中在软件管理过程上。
一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。
可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
关注点:规则化引入需求管理、项目管理、质量管理、配置管理、子合同管理等;引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;提高:SEPG、建立软件过程库和文档库已定义级在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。
在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。
软件能⼒成熟度模型(⼀)-CMMI概述CMMI( Capability Maturity Model Integration)即能⼒成熟度模型集成,由CMM (Capability Maturity Model)发展⽽来,它最早是应⽤于软件业的⼀个过程改进模型,为软件组织描述了从混乱的、不成熟的软件过程向成熟有序的软件过程进⾏改进的⼀条途径。
后来随着应⽤的推⼴和模型本⾝的发展,CMMI逐渐演化成为⼀个被⼴泛应⽤的综合性过程改进模型。
1.CMMI的历史1991年,美国卡耐基梅隆⼤学软件⼯程研究所(SEI)推出了能⼒成熟度模型CMM,CMM的作⽤主要有两⽅⾯:1. 为软件客户提供评价软件开发商能⼒的⽅法。
2. 帮助软件开发商改进其软件过程,提⾼成熟度。
随着CMM在软件界应⽤的不断推⼴,其它相关学科和领域也采⽤它的模式,开发出了许多类似于CMM的模型。
1. SE-CMM (System Engineering CMM) 系统⼯程CMM,应⽤于系统⼯程管理。
2. SA-CMM (Software Acquisition CMM) 软件获取CMM,应⽤于软件获取(采购)⽅的能⼒成熟度模型。
3. IPD-CMM (Integrated systems product Development CMM): 集成系统产品开发CMM,应⽤于集成系统产品的开发管理。
4. P-CMM (People CMM):⼈员能⼒成熟度模型,应⽤于⼈⼒资源管理。
为了以⽰区别,常把CMM叫做SW-CMM。
同⼀个组织可能会应⽤多个过程改进模型,但多个过程改进模型的并存可能会引起冲突和混淆。
CMMI为⼯业界和政府部门提供了⼀个集成的能⼒成熟度模型产品集,消除了不同模型之间的不⼀致和重复,降低了过程改进的成本。
CMMI覆盖了软件⼯程、系统⼯程、集成产品开发和系统采购,以更加系统和⼀致的框架来指导组织改善软件过程,提⾼产品和服务的开发、获取和维护能⼒。
CMMI能力成熟度模型
一、CMMI是什么?
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),是美国国防部的一个设想,年由美国国防部与卡内基-梅隆大学下的软件工程研究中心以及美国国防工业协会共同开发和研制的。
换句话说,就是给你公司一个软件开发管理可执行的框架,这个框架具有自动性和可扩展性。
实行CMMI体系的过程就是改进的过程。
最终的目的,就是在保证工期和预算的前提下,输出高质量的软件。
只要按照这个框架执行,我们开发工作每一个环节都有规程和文档为依据,我们的需求、设计、测试各个环节都有评审,变更将得到有效管理,项目成果和经验能得到积累和应用……
大家熟知的信息系统项目管理师和PMP,是两个对个人层面的认证,而CMMI是对企业层面的认证。
二、CMMI体系结构是怎样的?
5个等级。
CMMI模型把企业的软件能力成熟度划分为5个等级——第1到第5级。
数字越大,成熟度越高。
5个等级分别是:初始级、已管理级、已定义级、已定量管理级、优化级。
一般企业评估是第3级或第5级。
22个过程域。
每一个成熟度等级对应一定数量的过程域。
所谓过程域(PA),就是做好软件管理的某一个方面,如项目计划(PP)、风险管理(RSKM)、需求开发(RD)等等。
CMMI一共包括22个过程域,涵盖了过程管理、项目管理、工程管理、支持管理四个方面。
CMM软件成熟度标准CMM(软件能力成熟度模型:Capability Maturity Model For Software)是由美国卡内基梅隆大学的软件工程研究所(SEI:Software Engineering Institute)受美国国防部委托研究制定并在美国,随后在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进,共分为五级:第一级:初始级在初始级,企业一般不具备稳定的软件开发与维护的环境。
常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:可重复级在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。
基于过往的项目的经验来计划与管理新的项目。
第三级:定义级在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。
同时,这些过程是集成到一个协调的整体。
这就称为企业的标准软件过程。
第四级:定量管理级在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。
作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。
软件产品因此具有可预期的高质量。
第五级:(不断)优化级在这个等级,整个企业将会把重点放在对过程进行不断的优化。
企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。
同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。
一、CMM的含义及作用CMM软件评估标准是从1930年开始的近代质量管理理论与实践基础上发展起来的。
1986年美国卡内基梅隆大学由联邦政府赞助成立了软件工程研究所(SEI),1991年SEI采访了100多家软件公司,开发出了CMM 1.0版本,1993年又推出了1.1版本。
CMM把软件开发过程的成熟度由低到高分为五级,即初始级、可重复级、已定义级、已管理级和优化级。
随着CMM等级的提高,逐步降低了软件开发风险,缩短了开发时间,降低了软件开发的人力物力成本,降低了灾难性的错误发生率,提高了质量。