每日学习网论文毕业论文计算机论文
导航

CMM软件应用分析论文

2012年7月31日     字号:         每日学习网

摘 要 针对软件工程的特点及开发过程中所面临的困难,详细分析了CMM 的五个等级及关键过程域,提出了在软件工程实施中应用CMM 原理以加强软件过程管理的一种模型。
CMM软件应用分析论文
阐述了该模型中需求管理、软件项目计划、软件项目跟踪和监督、软件质量保证、软件配置管理、组间、协调及培训管理的过程改进要求,实现了软件开发效率的提升,软件开发失败风险的降低,软件成本的减少,软件丁程工期的缩短和软件产品质量的提高。
关键词 CMM 软件工程 关键过程域
一、软件工程的特点及在实施过程中面临的问题
软件工程主要着眼于大型复杂软件项目开发的指导,是利用工程的概念、原理、技术和方法来开发与维护软件,其主要目的是在规定的时间、规定的工程费用内,开发出满足用户要求的高质量的软件产品。由于大型软件项目本身的复杂性,软件工程将软件的开发划分为软件计划、软件开发和软件运行维护三个阶段,每个阶段采取不同的方法完成不同的任务。软件计划阶段包括项目可行性研究和需求分析,可行性研究指在软件项目正式开发之前,投入一定精力,通过一套准则,从经济、技术、社会等方面对软件项目的必要性、可能性、合理性及面临的风险进行分析和评价,得出软件项目是否可行的结论;需求分析指通过详细的调查用户要求,通过细致的分析,得出合理可行的系统需求,并通过规范的形式描述需求的过程,它对于整个系统的开发过程及软件产品质量是至关重要的。
软件开发包括软件概要设计、软件详细设计、程序编码、软件单元测试、软件综合测试,软件概要设计是指通过系统需求说明确定系统的组成及各组成部分之间的相互关系;详细设计用来确定模块内部的算法和数据结构;程序编码是用某种程序设计语言实现详细设计的过程;软件单元测试是对源程序中的每一个程序单元进行测试,目的是检查各个模块是否正确实现了规定的功能,从而发现编程和详细设计的错误,软件综合测试是在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统而进行的测试,主要用于发现模块组装过程中可能出现的问题。软件维护运行机制是一个长期的工作,指在软件运行其间,通过各种必要的维护使系统改正错误、或修改扩充功能使软件适应环境变化,延长软件使用寿命,提高软件的效益,使软件能持久地满足用户的需要。
尽管在大型复杂软件项目的开发过程中我们严格按照软件工程的规范和标准去完成每个任务,但是在实施的过程还是存在下列主要问题。
(1)用户满意度差。由于软件应用范围越来越广,很多应用领域往往是软件开发者所不熟悉的,开发人员与用户之间信息交流不够,用户需求分析和软件需求分析不能完全反映用户和开发人员的思想,导致软件产品不符合要求。
(2)软件产品质量差。软件质量保证没有充分运用到软件开发的全过程。
(3)软件产品可维护性差。在软件的设计、开发过程中不重视程序的可读性,难以维护。
(4)软件开发成本高,效率低下。
二、CMM分析
CMM(Capability Maturity Mode for Software)即软件过程能力成熟度模型,指一个软件过程被明确定义、管理、度量和控制的有效程度。软件过程包括软件开发过程和软件管理过程,指人们从软件开发到维护软件相关产品所采取的一系列步骤。CMM 提供了一个框架,将过程进化的步骤分成五个成熟度等级,每个成熟度等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。
五个等级分别是:
①Initial级,软件过程没有任何标准和规章,软件产品的质量具有不可预测性。
②Repeatable级,已建立基本的项目管理过程,整个项目过程已经制度化,项目过程处于项目管理系统的有效控制和监督之下,通过不断积累软件过程数据来建立完备的软件开发文档,以前成功的经验经规范化后归纳为标准的软件过程并在以后的项目实施过程中加以提炼,是一个持续的质量改进。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;
③Defined级,组织级法律框架健全,软件产品的基本过程被记录下来成为文档,软件工程管理和过程管理紧密结合起来并形成了一定的标准集成到组织的标准软件过程,SPEG(软件过程工程组)来负责整个软件过程的活动,项目可以通过裁减组织的标准软件过程来建立适合自己的软件过程,并始终得到控制和管理。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;
④Managed级,对软件过程的每一个阶段进行监控、取样和定量分析,对形成的关于软件制作和维护流程的数据库不断更新,保证软件过程保持较高的质量。KPA分别是:定量过程管理、软件质量管理;