CMM软件质量管理
- 格式:ppt
- 大小:1.29 MB
- 文档页数:15
《软件质量管理制度》一、管理组织本公司的软件质量保证活动统一由质量管-理-员进行管理、检查与汇报,公司相关部门经理及项目中的项目经理、程序经理、开发经理、测试经理、产品经理、测试经理、用户教育经理是质量保证活动中的第一责任人。
二、软件开发过程本公司的软件开发过程分为以下8个阶段:项目策划阶段、需求分析阶段、设计阶段、开发阶段、测试阶段、实施阶段、验收阶段、维护阶段,每个阶段的主要活动分别为:业务启动和项目规划、需求分析、逻辑设计和物理设计、软件开发、软件测试、系统实施及用户培训、用户试用及验收、维护,里程碑分别为:策划完成、需求明确、设计完成、开发完成、测试通过、系统上线、验收通过、合同结束。
每阶段结束后,必须对相应的里程碑进行检查,方式为评审或批准。
三、项目文档项目文档分为两种:管理类文档与技术类文档,所有文档必须保存于知识库及相应的vss库中。
文档共有三种状态:编制完成、审核通过、批准通过。
其中管理类文档只有编制和批准两种状态,技术类文档拥有所有三种状态。
所有文档必须明确说明当前文档版本号。
管理类文档包含以下类型:计划、总结、报告、会议纪要、备忘录、申请等。
技术类文档包含:设计文档、需求文档、测试设计文档、界面原型软件、使用手册、安装手册、技术白-皮-书、培训资料、源代码、软件产品等。
除vss库中的文档以外,放入知识库中的文档由部门助理统一放入,文档必须批准通过。
文档的编制、审核、批准可在文档中直接写明,也可使用单独的审批文档进行说明。
每个项目在不同阶段必须产生的文档如下,但不限于此:1、项目开始前:合同、技术方案、市场立项表。
以上文档存放于知识库。
2、项目策划阶段:业务启动表(excel格式)、项目规划(word格式)、项目进度(project格式)等。
必须使用规定模板编写。
以上文档存放于知识库。
3、需求分析阶段:需求模型(ea格式)、软件需求规格说明书(word格式)、单据报表格式(excel格式)、需求分析评审表(word格式)、需求分析计划(word格式和project两种格式)。
CMMI和CMM区别CMMI的全称为:Capability Maturity Model Integration,即能力成熟度模型集成.自从1994年SEI正式发布软件CMM以来,相继又开发出了系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型。
虽然这些模型在许多组织都得到了良好的应用,但对于一些大型软件企业来说,可能会出现需要同时采用多种模型来改进自己多方面过程能力的情况.这时他们就会发现存在一些问题,其中主要问题体现在:■不能集中其不同过程改进的能力以取得更大成绩;■要进行一些重复的培训、评估和改进活动,因而增加了许多成本;■不同模型对相同事物说法不一致,或活动不协调,甚至相抵触.于是,希望整合不同CMM模型的需求产生了.1997年,美国联邦航空管理局(FAA)开发了FAA-iCMMSM(联邦航空管理局的集成CMM),该模型集成了适用于系统工程的SE-CMM、软件获取的SA—CMM和软件的SW—CMM三个模型中的所有原则、概念和实践。
该模型被认为是第一个集成化的模型。
CMMI与CMM最大的不同点在于:■CMMISM-SE/SW/IPPD/SS 1.1版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应地应用SS(Supplier Sourcing)部分。
■CMMI有两种表示方法,一种是大家很熟悉的,和软件CMM一样的阶段式表现方法,另一种是连续式的表现方法.这两种表现方法的区别是:阶段式表现方法仍然把CMMI中的若干个过程区域分成了5个成熟度级别,帮助实施CMMI的组织建议一条比较容易实现的过程改进发展道路。
而连续式表现方法则通过将CMMI中过程区域分为四大类:过程管理、项目管理、工程以及支持。
对于每个大类中的过程区域,又进一步分为基本的和高级的。
这样,在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。
质量管理成熟度评价准则质量管理成熟度评价准则(Capability Maturity Model,简称CMM)是一个用于评估组织质量管理能力水平的标准体系。
CMM最初是由美国国防部软件工程研究所(Software Engineering Institute,简称SEI)在1988年提出的,目的是帮助组织改进其软件开发过程,并提高软件项目的成功率。
CMM的评估准则包含5个不同的成熟度等级,分别为初级(Level 1)、可管理(Level 2)、可重复(Level 3)、定义(Level 4)和优化(Level 5)。
每个等级都代表了一定的特征和指标,同时也对应了不同的成熟度水平。
初级(Level 1)是最低的成熟度等级,代表了一个未开发出一致性流程的组织。
在这个等级上,组织的质量管理过程主要是基于个人经验而不是标准化的流程。
可管理(Level 2)是一个中间等级,在这个等级上,组织会开始引入一定的标准化流程,以确保质量管理的一致性。
这个等级要求组织能够制定基本的质量管理计划,并对其进行执行和监控。
可重复(Level 3)是CMM的一个关键等级,表示组织已经具备了一定的标准化流程,并可以在项目间进行重复的应用。
在这个等级上,组织会对已制定的质量管理过程进行监控和评估,并根据反馈进行改进。
定义(Level 4)是一个相对高级的等级,代表了组织质量管理过程的高度精细化和自动化。
在这个等级上,组织会对质量管理过程进行量化和分析,并通过技术手段来提高质量管理的效率和准确度。
优化(Level 5)是最高的成熟度等级,代表了组织质量管理过程的优化和持续改进。
在这个等级上,组织会根据实际的质量管理数据和指标来不断优化自己的流程,并引入新的技术和方法。
CMM的评价准则不仅涉及质量管理过程的要求,还包括了组织文化和管理能力等方面的因素。
凭借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产品质量检测与管理指南第1章 CMM产品检测概述 (3)1.1 CMM产品检测背景 (4)1.1.1 CMM技术的发展 (4)1.1.2 CMM产品检测的需求 (4)1.2 CMM产品检测方法 (4)1.2.1 接触式测量 (4)1.2.2 非接触式测量 (4)1.3 CMM产品检测标准 (5)1.3.1 国际标准 (5)1.3.2 国家标准 (5)1.3.3 行业标准 (5)第2章 CMM设备选择与校准 (5)2.1 CMM设备类型及特点 (5)2.2 CMM设备的选择依据 (6)2.3 CMM设备的校准与验证 (6)第3章检测策略制定 (6)3.1 检测需求分析 (7)3.1.1 产品特性分析 (7)3.1.2 用户需求分析 (7)3.1.3 法规与标准要求 (7)3.1.4 风险评估 (7)3.2 检测参数确定 (7)3.2.1 选择关键参数 (7)3.2.2 参数量化 (7)3.2.3 参数验证 (7)3.3 检测计划与流程 (7)3.3.1 制定检测计划 (7)3.3.2 设计检测流程 (7)3.3.3 检测资源准备 (7)3.3.4 检测过程管理 (7)3.3.5 检测结果处理 (8)3.3.6 检测记录与报告 (8)第4章 CMM产品尺寸检测 (8)4.1 尺寸测量基本原理 (8)4.1.1 坐标系建立 (8)4.1.2 测量路径规划 (8)4.1.3 测量策略 (8)4.2 尺寸测量方法 (8)4.2.1 接触式测量 (8)4.2.2 非接触式测量 (8)4.2.3 散射式测量 (9)4.3 尺寸测量误差分析 (9)4.3.1 系统误差 (9)4.3.2 随机误差 (9)4.3.3 人工误差 (9)4.3.4 软件误差 (9)4.3.5 外界因素误差 (9)第5章 CMM产品形状检测 (9)5.1 形状测量基本原理 (9)5.1.1 坐标系建立 (9)5.1.2 数据采集 (10)5.1.3 数据处理 (10)5.2 形状测量方法 (10)5.2.1 接触式测量 (10)5.2.2 非接触式测量 (10)5.2.3 三坐标测量 (10)5.3 形状测量误差分析 (10)5.3.1 系统误差 (10)5.3.2 随机误差 (10)5.3.3 粗大误差 (10)5.3.4 误差补偿 (11)第6章 CMM产品表面质量检测 (11)6.1 表面质量检测概述 (11)6.2 表面粗糙度测量 (11)6.2.1 测量原理 (11)6.2.2 测量设备 (11)6.2.3 测量步骤 (11)6.3 表面缺陷检测 (11)6.3.1 检测方法 (12)6.3.2 检测设备 (12)6.3.3 检测步骤 (12)第7章检测数据处理与分析 (12)7.1 检测数据预处理 (12)7.1.1 数据清洗 (12)7.1.2 数据规范化 (12)7.1.3 数据集成 (12)7.2 检测数据统计分析 (12)7.2.1 描述性统计分析 (13)7.2.2 假设检验 (13)7.2.3 方差分析 (13)7.2.4 相关性分析 (13)7.3 检测结果判定与报告 (13)7.3.1 检测结果判定 (13)7.3.2 检测报告编制 (13)7.3.3 检测数据归档 (13)第8章 CMM产品质量控制 (13)8.1 质量控制基本概念 (13)8.1.1 质量定义 (13)8.1.2 质量管理体系 (13)8.1.3 质量控制流程 (14)8.2 质量控制方法 (14)8.2.1 预防性控制 (14)8.2.2 过程控制 (14)8.2.3 反馈控制 (14)8.3 质量改进措施 (15)8.3.1 技术改进 (15)8.3.2 管理改进 (15)8.3.3 服务改进 (15)第9章检测人员培训与管理 (15)9.1 检测人员能力要求 (15)9.1.1 知识要求 (15)9.1.2 技能要求 (16)9.1.3 职业素养 (16)9.2 检测人员培训 (16)9.2.1 岗位培训 (16)9.2.2 外部培训 (16)9.2.3 培训内容 (16)9.3 检测人员管理 (16)9.3.1 人员配备 (16)9.3.2 考核评价 (17)9.3.3 持续改进 (17)9.3.4 档案管理 (17)第10章检测实验室建设与管理 (17)10.1 检测实验室规划与设计 (17)10.1.1 实验室建设目标 (17)10.1.2 实验室布局设计 (17)10.1.3 实验室环境要求 (17)10.2 检测实验室设备配置 (18)10.2.1 设备选型 (18)10.2.2 设备购置 (18)10.2.3 设备管理 (18)10.3 检测实验室管理体系建立与运行 (18)10.3.1 管理体系构建 (18)10.3.2 管理体系运行 (18)第1章 CMM产品检测概述1.1 CMM产品检测背景CMM(Coordinate Measuring Machine,坐标测量机)是一种高精度、高效率的测量设备,广泛应用于机械制造、航空航天、汽车制造等领域。
CMM软件质量保证过程文件与程序文件CMM (Capability Maturity Model)是一种软件质量保证的框架,它描述了软件开发和维护过程中的最佳实践和管理方法。
CMM包含5个级别,从初始级别到优化级别,每个级别代表了一个更高的质量标准和过程能力。
CMM的软件质量保证过程文件和程序文件是CMM的两个重要组成部分。
软件质量保证过程文件定义了组织在软件开发和维护过程中应遵循的标准和流程,包括软件需求分析、设计、编码、测试、交付等环节的操作指南和规范。
程序文件则是软件的实际代码和文档,用于实现软件需求和功能。
软件质量保证过程文件的编写是一个持续改进的过程,需要经常进行更新和修改。
在初始级别,组织可能没有完整的软件质量保证过程文件,开发人员只是根据自己的经验和个人习惯进行开发。
随着组织逐渐提升到更高的CMM级别,软件质量保证过程文件逐渐变得更加完善和规范化。
过程文件应包括以下内容:1.软件开发和维护的标准和指南:其中包括语言规范、编码规范、文档规范等,旨在统一开发人员的开发风格和代码质量。
2.软件需求分析和设计的方法和工具:包括需求管理、变更管理、设计技术和工具等,旨在确保软件需求的准确性和完整性。
3.软件测试的方法和工具:包括测试计划、测试用例、测试工具的选择和使用等,旨在确保软件的质量和可靠性。
4.配置管理的方法和工具:包括版本控制、问题跟踪、配置项管理等,旨在确保软件开发过程中各个组件的一致性和可追溯性。
5.软件交付和部署的流程和规范:包括发布管理、实施计划、用户培训等,旨在确保软件的顺利交付和用户满意度。
程序文件是软件质量保证过程文件的具体实现,它包括了软件开发和维护的实际代码和文档。
程序文件应该符合软件质量保证过程文件中的要求和规范,以确保软件的质量和稳定性。
程序文件应包括以下内容:1.源代码:软件的实际代码,包括开发人员编写的程序和相关的工具和库文件。
源代码应符合软件质量保证过程文件中的编码规范和开发标准。
基本概念:软件过程(Software Process):过程即人们为实现某一既定目标所执行的一系列步骤(IEEE--STD--610)。
软件过程则可定义为企业设计,研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动。
理解包括SEI在内的美国过程学派的一个核心概念就是--只要过程正确及构成过程的解决方法正确,产品就会正确。
软件过程能力(Software Process Capability):企业实施软件过程所能实现预期目标的程度。
它可用于预测企业的软件过程水平。
软件过程行为(Software Process Performance):企业在项目开发中遵循其软件过程所能得到的实际结果。
软件过程成熟度(Software Process Maturity):软件过程行为可被定义,预测和控制并被持续性提高的程度。
它主要用来表明不同项目所遵循的软件过程的一致性。
软件能力成熟度等级(Software Capability Maturity Ievels):企业的软件开发在由低到高成熟化演进过程中所普遍面临的具有一定成熟度标志特征的平台。
成熟与不成熟(Mature and Immature):不成熟的标志有--没有明确的软件过程体系可以依据;无法对生产进行预测;不严格执行生产过程;质量无法保证;无健全的过程控制及质量控制体系;项目开发没有准则可遵循;开发结果主要依据项目小组及个人的带有主观因素的能力发挥。
成熟的标志有--项目开发是依据企业早已明确的过程准则来实施;开发结果较少依赖个人能力和自然因素;项目由过程控制并可对整个生产作出预测;产品质量得到有效监控(借助客观定量化的数据);过去的开发项目中所获经验得以积累并可系统地用于现行和未来的项目之中。
配置管理(Configuration Management):包括以下管理行为:对某个配置项的功能和物理特性进行识别和编档;对这些特征的变动进行控制;对变动和事实进行记录、汇报;验证需求计划的实现。
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。
软件质量管理中质量控制与质量保证的区别与联系摘要:在当前的环境下,由于软件的规模和复杂性不断增加,软件的设计和开发都面临着巨大的挑战,同时软件项目质量越来越引起人们的关注。
本文对软件质量管理中的三个主要方面进行了初步探讨,分别是:质量规划、质量保证、质量控制。
本文期望能够为国内处于起步阶段的软件公司尤其是中小软件公司理顺软件高质量经营理念,提供一些有益的参考。
关键词:软件项目;质量管理;质量控制;质量保证软件质量是指一个软件在文档中清楚地说明了它的功能和性能要求,在文档中清楚地说明了它的开发条件和它所应有的隐性特点。
软体质量保证的目标在于让软体流程能被管理者看得见。
在此基础上,本文提出了一种基于计算机技术的软件质量管理方法。
质量保证与质量控制之间的联系更易令人迷惑,二者同属质量管理领域,但在具体工作中,二者又有一定程度的重叠,因此,二者之间的关系、分工很可能会发生混乱。
一、软件工程的质量控制对软件专案之质量进行量化之认识及达成具体之质量指标,是软件专案质量之重要组成部分。
它的主要内容是:决定软件产品的质量目标,并制订计划来实现它们,对软件计划、软件产品、工作活动及质量目标进行监督和调整,以满足终端用户对软件产品的需求及预期。
从总体上来看,软件项目的质量管理主要有三个部分,分别是:制定软件项目的质量规划,保证软件项目的质量,以及对软件项目的质量进行控制。
1软件项目质量计划编制(Software Quality Planning)制定软件项目质量计划是在制定软件项目质量计划的时候,最为关键的就是要为特定的软件项目制定相应的质量测量标准,将质量计划落实到软件产品以及对其进行管理的各个环节。
制作质量计划也应该包含为保证软件质量而制定一套可以被理解的完整的改进计划。
在制定一个工程质量方案时,必须对那些可以使顾客立即得到满足的要素进行说明。
编写软件工程质量规划所产生的一个主要成果就是为保证工程全寿命周期内的品质而制定的一套软件工程质量管理方案和各类清单。
CMM软件质量保证过程文件《CMM软件质量保证过程文件》编写参考指南1.引言(Introduction)1.1 目的(Purpose)本文档是软件质量保证过程的定义,它规定了角色、进入准则、输入、活动、输出、结束准则等。
1.2 范围(Scope)本文档只适应于软件质量保证过程。
1.3 术语定义(Terms Glossary)[1] 软件相关组:指软件配置管理组、文档支持组、测试组。
[2] 软件质量保证组:指计划和实施软件质量保证活动的人员的集合。
1.4 参考资料(References)[1] Mark C. Paulk等人,《The Capability Maturity Model Guidelines for improving the software process》,Carnegie Mellon University Software Engineering Institute [2] Mark C. Paulk,《Key practices of the Capability Maturity Model》,Version 1.1,19931.5 相关文档(Related Documents)[1] 《软件质量保证程序文件》1.6 版本更新记录(Version Updated Record)版本更新记录,如表12-8所示。
表12-8 版本更新记录2.软件质量保证过程(SQA Process)──参与角色(Roles)R1:软件质量保证组。
R2:项目经理。
R3:软件工程组代表。
R4:软件相关组代表。
R5:高级经理。
──进入准则(Entry Criteria)E1:软件项目立项报告或下达任务书。
E2:组织的责任人到位,且经过软件质量保证过程的培训。
──输入(Inputs)I1:《立项建议书》或《项目合同》。
I2:《软件开发计划》。
──活动(Activities)A1:SQA组成员与项目经理共同选定开发过程中的标准和规范,并参与《软件开发计划》的评审。
软件开发质量管理体系一、软件产品质量的特点按照ISO 9126的定义,软件的质量通常可以从以下六个方面去衡量(定义)•功用性(Functionality),即软件是否满足了客户功能要求;•可靠性(Reliability),即软件是否能够-直在-个稳定的状态上满足可用性;•可用性(Usability),即衡量用户能够使用软件需要多大的努力;•效率(Efficiency),即衡量软件正常运行需要耗费多少物理资源;,可维护性(Maintainability),即衡量对已经完成的软件进行调整需要多大的努力;•可移植性(Portability),即衡量软件是否能够方便地部署到不同的运行环境中。
可见,同其它产品相比,软件产品的质量有其明显的特殊性。
第一,很难制定具体的、数量化的产品质量标准,所以没有相应的国际标推、国家标准或行业标淮。
对软件产品而言,无法制定诸如“合格率"、"一次通过率”、“PPM"、“寿命” 之类的质量目标。
每千行的缺陷数量是通用的度量方法,但缺陷的等级、种类、性质、影响不同,不能说每千行缺陷数量小的软件,一定比该数量大的软件质量更好。
至于软件的可扩充性、可维护性、可靠性等,也很难量化,不好衡量。
软件质量指标的量化手段需要在实践中不断总结。
第二,软件产品质量没有绝对的合格/不合格界限,软件不可能做到"零缺陷%对软件的测试不可能穷尽所有情况,有缺陷的软件仍然可以使用。
软件产品的不完善可通过维护和升级问题来解决。
第三,软件产品之间很难进行横向的质量对比,很难说这个产品比那个产品好多少。
不同软件之间的质量也无法直接比较,所以没有什么“国际领先“、“国内领先”的提法。
第四,满足了用户需求的软件质量,就是好的软件质量。
如果软件在技术上很先进,界面很漂亮,功能也很多,但不是用户所需要的, 仍不能算软件质量好。
客户的要求需双方确认,而且这种需求一开始可能是不完整、不明确的,随着开发的进行不断调整。
什么是CMM和CMMI?(转)2007-06-29 10:55:36 / 个人分类:测试相关CMM是由美国软件工程学会(Software Engineering Institute)制定的一套专门针对软件产品的质量管理和质量保证标准。
该标准最初是为美国军方选择软件产品提供商时评价软件企业的软件开发质量保证能力而制定,所以称为软件企业能力成熟度模型(Capability Maturity Model,简称CMM)。
该标准将软件企业的能力成熟度划分为5个等级,级别越高表明该企业在提供合格软件产品方面的能力越强。
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。