什么是软件能力成熟度模型
1 什么是CMM?
软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
2 CMM基本概念
5个成熟度等级:Initial, Repeatable, Defined, Managed, Optimizing ;
2.1 初始级(Initial)
组织:组织通常没有提供开发和维护软件的稳定的环境。
项目:当发生危机时,项目通常放弃计划的过程,回复到编码和测试。
过程能力:不可预测。(unpredictable)
2.2 可重复级(Repeatable)
组织:将软件项目的有效管理过程制度化,这使得组织能够重复以前项目中的成功实践。
项目:配备了基本的软件管理控制。
过程能力:严格的。(disciplined)
2.3 已定义级(Defined)
组织:在组织范围内开发和维护软件的标准过程被文档化,其中包括软件工程过程和管理过程,它们集成为一个一致的整体。
项目:对组织的标准软件过程进行裁剪,来开发它们自己的定义软件过程。
过程能力:标准的和一致的。(standard and consistent)
2.4 已管理级(Managed )
组织:为软件产品和过程都设定了量化的质量目标。
项目:项目减小过程性能的变化性,使其进入可接收的量化边界,从而达到对产品和过程的控制。
过程能力:可预言的。(predictable)
2.5 持续优化级(Optimizing)
组织:关注于持续的过程改进。
项目:软件过程被评价,以防止过失重复发生,从中获得的教训散布给其它项目。
过程能力:持续的改善。(continuously improving)
3 CMM能力成熟度模型的基本思想
帮助软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将开发出质量更好的软件,使更多的软件项目免受时间和费用超支之苦。
3.1 CMM成熟度过程等级
img
img
3.2 成熟度级别的内部结构
img
3.3 18个关键过程域KPA
18个关键过程域
img
4 CMM的用途?
1 用于软件过程的改进(SPI Software Process Improvement):帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。
2 用于软件过程评估(SPA Software Process Assessment): 在评估中,一组经过培训的软件专业人员确定出一个企业软件过程的状况,找出该企业所面对(存在)的与软件过程有关的、最迫切的所有问题;以及取得企业领导层对软件过程改进的支持。
3 软件能力评鉴(SCE Software Capability Evaluation):在能力评鉴中,一组经过培训的专业人员鉴别出软件承包者的能力资格;或者是检查监察正用于(进行)软件制作的软件过程的状况。





