• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 英语学习 > 正文

    软件过程改进【基于CMMI的软件过程改进探讨】

    时间:2019-03-30 03:18:21 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: CMMI是一种软件生产过程标准和软件企业成熟度评估标准,该标准侧重于整个组织的过程改善问题,以达到有效的软件工程目标。当对软件过程予以有效管理时,才能实现有效的软件工程,针对软件过程中存在的问题,对软件能力成熟度模型(CMMI)产生、发展的过程进行介绍。同时简述CMMI的概念和基本内容,以及基于CMMI软件过程改进的成功策略。
      关键词: 软件能力成熟度模型;软件过程改进;软件质量保证;CMMI简介
      引言
      近年来,随着软件产业的快速发展及软件项目规模和复杂度的日益提升,软件企业对产品关注的焦点从传统意义上的技术问题转向企业的管理体系,基于渐近的软件过程改进也逐渐获得软件企业的青睐。CMMI作为当前软件行业中最具权威的软件过程改进评估标准之一,以其5个成熟度等级作为衡量组织能力的主要依据,通过提供一种单一的语言,使多种学科能够共享过程改进活动并帮助软件企业关注一个统一的过程改进目标,规避过程发展风险,为软件企业在过程改进中做出了突出的贡献。
      1 CMMI概述
      CMMI是一个如何做好软件的最佳实践的集合,是工程开发组织内管理改进的工具,它关注系统和软件。CMMI为过程改进活动能提供指导,帮助企业定义和标准化过程、提高工作效率、减少返工、度量组织的性能和利用数据来管理业务,以此来推动企业的发展和实现其商业目标[1]。CMMI致力于软件开发过程的管理和工程能力的提高与评估,并已成为软件开发过程改进与评估事实上的工业标准。
      CMMI为软件企业的过程开发及检测提供了一个阶梯式的进化模板,由初始级,可重复级,已定义级,已管理级,优化级5个成熟度等级构成,每个成熟度等级包含了实现该级别的若干个关键过程域(KPA),每一个KPA进一步被分为称为公共特征的5个部分。这些公共特征包括了关键实践(KP),即每一个KPA包括5类KP,实现了这些KP后,就实现了关键过程域的目标[2]。
      2 基于CMMI的软件过程改进
      2.1 软件过程与软件过程管理
      软件过程是指软件开发人员开发的一套行为、方法、技术及变换过程,而软件过程管理是对最佳实践进行有效积累,形成可重复的软件过程并使之可共享,主要内容包括过程定义和过程改进[5]。
      2.2 CMMI的软件过程控制及改进
      CMMI过程控制和改进的基础是建立一个对工作环境和业务都适当和成功的标准过程。帮助软件企业对其软件过程的改进进行规划以及实施过程,CMMI就是在综合软件工程和质量管理的双重经验上制定的一套针对软件生产过程的规范标准,它在软件生产过程的管理中起到了决定性作用。
      基于CMMI的软件过程改进的方法主要有以下几个方面:在组织准备上,在资金支持且具有管理职责的人员负责CMMI实施和改善软件过程的基础上,还须成立软件工程过程指导组(SEPG),主要编写或修改必要的过程改进文档以及文档执行;成立软件质量管理组,测试和分析项目进展情况,反馈项目过程状态,审计指定的软件工作产品以检验其遵从性;成立软件配置的管理组,编写或修改必要的软件配置管理文档并执行[6]。在知识准备上,要保证研究人员知识层面的完善性。对企业内部进行过程评估和改善同时,要对相关人员开展CMMI的常识培训,使其掌握必需的过程改进知识和技能,良好的项目管理和基本的专业技术,项目才能有效地执行。在能力准备上,软件项目管理的规范化以及项目管理过程的文档化是非常必要的。
      2.3 CMMI应用现状
      CMMI应用分析:根据SEI评估报告显示,自1996年到2011年,全球有超过2千个组织参与了CMM/CMMI评估,其中大部分为商业组织,且有近半的组织规模是在100人以下。这表明CMM/CMMI的评估测试已经被IT中小企业所高度关注[4]。目前CMMI主要应用在能力评估和过程改进通用的评估方法有两种:1)软件过程成熟度的评估:通过确定管理整个组织过程的能力,改进项目估算的准确性,改进成本和质量控制,使用可度量的数据指导问题分析和改进工作,为项目和组织级过程改进同时提供了纪律和动力[6]。2)软件能力评估:用于评估软件供应商的能力并帮助其改善软件开发质量[6]。
      过程改进活动持续关注企业改进过程的能力、整个组织的成熟度、过程的效率和过程控制,以此来推动企业的发展实现商业目标[7],要想达到公司希望的有竞争力的水平,必须不断改进,每天都在进步。利用CMMI对软件进行测试的过程。
      3 CMMI软件过程改进的实践策略
      3.1 CMMI过程改进背景
      很多企业根据自身的发展过程中遇到的困难,寄希望于CMMI的软件过程改进,企业的目标是加快进度、减少成本、提高质量,最终目标是获得更高的利润,希望是通过实施软件过程改进来达到提高企业管理水平。作为评价软件过程能力的一个模型,软件企业应该根据实际需要,密切关注它的商业目标,并确保它所采用的剪裁模型在合适的时间能对模型考虑周全。因此,正确的选择CMMI过程改进的实践策略是非常必要的[4]。
      3.2 CMMI软件过程改进的实践
      实践一:自低向上,主动改进
      企业过程改进有两种方案:自顶向下或者自底向上。在前种方法中,企业成立一个SEPG软件工程过程管理组作为企业过程改进的管理组织者[4]。过程管理组根据过程改善参照的标准编写各式企业标准与规范并成立一系列的评审、培训的任务小组。由于此方法有较大的负面影响,所以一般都采用自底向上的办法,即由项目经理、开发人员自我发现问题,然后在找出改进的办法后并确认可以执行。这种方法由开发人员主动提出过程改进方案,管理人员仅仅是起到了监督的作用,并在这个过程中逐步进行完善[7]。
      实践二:循序渐进,由点到面
      在CMMI模型中,所有软件企业的软件能力成熟度划分为5个等级从第1到第5级。数字越大,成熟度越高。高成熟度等级代表比较强的综合软件能力。要通过高级别的评估,要满足这个级别以下所有级别的标准。一个进行4级评估的企业,评估的时候首先是看是否达到2级要求,然后是3级要求,然后才是4级要求。更高级别的企业,她的效能应该更高(效能=收益/投入)。CMMI不是用来增加管理成本而不提高收益的,CMMI是为了支持企业的商业目标的[6]。
      4 结束语
      在当代软件企业日益激烈的竞争过程中,人们逐渐引入了软件工程的概念来帮助企业开发、设计和维护软件,并通过CMMI的学习和应用来对软件开发过程进行改进以提升软件产品的质量和产量。CMMI中定义了每个KPA目标和一系列KP,企业必须根据实际情况去定义实现每个KPA的工作流程。在运用CMMI进行软件过程改进的过程中,要时刻注意改进的种种动态,以便在第一时间去理解纠错,节约开发成本,提高开发效率。
      参考文献:
      [1]王艳慧,基于CMMI的软件过程改进实践,计算机技术与发展,2008.5.
      [2]浦红卫,国内外软件产业发展情况比较,信息产业部电子知识产权咨询服务中心.
      [3]张友生、李雄,软件体系结构原理、方法与实践,清华大学出版社,2009.
      [4]王纬,基于软件能力成熟度模型(CMMI)的软件过程改进[M].北京:清华大学出版社,2003.

    推荐访问:改进 探讨 过程 软件

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章