论文摘要:软件能力成熟度模型(C印abilityMatuirtyModel,CMM)4~为衡量一个软件企业的软件开发能力己经被大多数软件企业所接受。在论述CMM与CMMI的基础上,介绍了国防专用软件CMM的概念、框架以及CMM二级的目标和要求。及其在软件开发中的应用。
论文关键词:软件能力成熟度模型;软件项目管理
1软件项目管理概述
1.1软件项目管理的概念
从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力.企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟。企业越能够稳定发展(即减小开发风险)。
软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期、按质地完成软件交付用户使用。
软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。
1.2 CMM与CMMI
1.2.1 CMM的由来
CMM是软件过程能力成熟度模型(capacityMatuirtyMod—e1)的简称,是卡内基一梅隆大学软件工程研究院为了满足美国联邦政府评估软件供应商能力的要求,于1986年开始研究的模型.并于1991年正式推出了CMM1.0版。CMM自问世以来备受关注,在一些发达国家和地区得到了广泛应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准。
CMM的评估结果是目前世界上公认的软件产品进入国际市场的通行证。中国软件要国际化,软件企业必先规范化和规模化.提高软件过程能力,CMM为企业达到目的指出了一条有效途径。CMM也为应用单位和管理部门提供了选择,同时给予了管理软件承包商一种良好的手段。
1.2.2 CMM与IS09000
国际标准化组织的质量管理标准IS09000与CMM均可作为软件企业的过程改善框架。CMM仅仅适用于软件行业。而IS09000的适应面更广,实际上IS09000:2000版标准和CMM遵循共同的管理思想,IS09000:2000版(ISO9001)标准已经彻底解决了94版的制造业痕迹较重、标准按要素描述难于在软件行业实施的问题。
就内容来讲,IS09001不覆盖CMM,也不完全覆盖IS09000。一般而言.通过IS09001认证的企业可达到CMM2级或略高的程度,通过CMM3级的企业只要稍做补充,就可较容易地通过IS09001认证。粗略地说,IS09001近似于CMM2.5级。
1.2.3 CMMI
CMMI是卡内基梅隆大学2001年9月推出的比较成熟的系统工程和软件工程的集成成熟度模型(CapabilityMatuirtyMod.elIntegrated)。与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的“最佳”实践:专业领域覆盖、软件工程、系统工程、集成产品开发和系统采购,集成的产品和过程开发以及采购,主要是配合软件工程和系统工程的内容采用。
CMMI的阶段表达方式继承了CMM的思想方法。将所有的过程域依照5个成熟度等级来组织,从低到高分别为:初始级(Initial,第1级)、管理级(Managed,第2级)、定义级(Deifned,第3级)、定量管理级(QuantitativelyManaged,第4级)和优化级(Optimizing,第5级)。如图l所示: