您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页基于CMMI的软件配置管理在小型企业中的应用

基于CMMI的软件配置管理在小型企业中的应用

来源:筏尚旅游网
维普资讯 http://www.cqvip.com 第21卷 第2期 2 0 0 7年3月 长 沙 大 学 学 报 JOURNAL OF CHANGSHA UNIVERSITY Vo1.21 NO.2 Mar.2 007 基于CMMI的软件配置管理在小型企业中的应用 王志和 ,凌 云 (1_湖南人文科技学院数学系。湖南娄底2.长沙学院计算机教学中心。湖南长沙417000; 410003) 摘 要:软件配置管理是CMMI中的一个关键过程域,贯穿于整个软件生命周期中,其目的是建立和 维护软件产品的完整性、一致性和可追踪性.通过分析小型企业的特点和软件配置管理过程中存在的问题, 提出了一种适于小型企业实施配置管理的流程,并重点讨论了配置标识、版本控制、变更控制、配置状态统 计和配置审核等实践活动. 关键词:CMMI;软件配置管理;版本控制 中图分类号:TP311.5 文献标识码:A 文章编号:1008—468l(2007)02—0062—04 随着软件开发规模的不断扩大,开发过程中产 生的配置项越来越多,它们之间的关系也更复杂,开 发过程中会遇到一些难以解决的问题,比如在同时 是基于重用的软件开发的管理手段,所以成为软件 过程管理的核心. CMMI模型清晰地描述了SCM,并说明了 SCM的目的和所要达到的目标,具体描述了某级成 熟度下软件过程在该方面所应达到的一组目标和实 现这些目标的一组关键实践(Key Practice).这些关 键实践被划分为5类,分别为完成该组目标所需的 进行多种产品的开发和维护时,如何保证产品版本 的正确性;如何退回文件的先前状态;如何重建先前 发布的产品;如何支持团队并行开发;如何解决开发 策略的统一与特殊版本需求之间的矛盾等.解决这 些问题的有效手段是进行配置管理. 软件配置管理(Software Configuration Man- agement,SCM)是一种按规则实施的管理软件开发 和维护过程及其软件产品的方法[1],它可以在特定 的时刻标识一个软件系统的配置,系统化地控制对 承诺、执行能力、执行的活动、度量分析以及验证.使 企业在实施软件配置管理时能知道到底要做什么, 团队的配置管理现状如何评估,在哪些方面还可以 进行改进等问题能得到具体的答案. 配置项的变更,并在整个软件生命周期内维护配置 的完整性和可追踪性. 2小型软件企业中配置管理存在的问 2.1小型软件企业的特点 1 CMMI与软件配置管理 能力成熟度集成模型(Capability MaturitY Model Integration,CMMI)是由美国卡耐基・梅隆 大学的软件工程研究所(SEI)组织开发,并于2002 年发布的一种规范、实用的途径来管理软件过程的 目前,我国绝大部分企业少于5O人,属于小型 企业.其主要特点是:1)企业规模小,具有创造力、灵 活.2)企业人员大部分是全才,个人色彩较重.以技 术开发人员为主,兼顾管理,缺乏有经验的专门管理 人员.3)沟通比较容易,各项工作的文档化程度不 够,主要通过交流来监控项目.4)质量意识不浓.大 部分只注意产品功能,不注重质量和维护.5)管理水 平低下,开发不规范.企业大部分是手工作坊式,缺 乏规范化管理.6)短期行为多,产品及过程可重用性 差,缺乏可持续发展的潜力.7)由于人员、时间和资 金问题,造成企业在质量控制和效率之间进行取舍 平衡. 模型【2].CMMI通过指导软件开发人员的活动来改 进软件过程,以达到软件过程可复用性、可定量管 理、可有效控制的目的. 软件配置管理是CMMI可重复级的一个关键 过程域(Key Process Area,KPA),其目的是在整个 项目的软件生命周期中,保持软件产品的完整性和 可追踪性,这包含了对改变的控制和所有能影响到 改变的软件因素的管理.作为过程实现、过程优化的 一2.2小型软件企业中配置管理存在的问题 小型软件企业或小型软件项目中存在过分依赖 部分,配置管理是实现软件过程的基本保证,它还 收稿日期:2006—1I—I9:修回日期:2006一I2—28 基金项目:湖南密激育厅科研项目(批准号:CMMI/PSP/TSP);湖南省自綦科学基金(批准号:06ij5131) ̄目. 作者简介:3E志和(1 72一),男,湖南双峰人,湖南人文科技学院数学系讲师,软件设计师,硕士.研究方向;软件工程和软件开发. 维普资讯 http://www.cqvip.com 总第76期 王志和.凌 云:基于CMMI的软件配置管理在小型企业中的应用 63 个人的作用,没有建立起协同工作的氛围,没有科学 的软件配置管理流程;技术上只重视系统和数据库、 开发工具的选择,而忽视对配置管理的控制等问题. 因此经常引起项目之间沟通不够、测试工作不规范, 导致文件与程序严重脱节、信息管理混乱,这些都反 映出软件项目没有很好进行软件配置管理而出现的 问题.归结起来在小型软件企业或小型项目中,软件 配置管理主要存在以下这些问题: 1)大部分企业没有建立配置管理机构及相应的 配置管理规范,对配置管理不够重视; 2)配置管理环境不够理想,如配置工具的选择, 配置管理库体系不够完善; 3)不能对版本进行有效的控制,使得在对某一 需求进行修改时,不能保证以前的所有修改都包含 在本次修改的程序版本中,而丢失以前的修改; 4)缺乏防止未经认可的变更和进行存取的控 制,造成开发人员之间对程序进行修改时相互产生 的负面影响. 3 软件配置管理在小型企业中的应用 软件配置管理是CMMI中的一个基础构件,在 这个KPA中包含了业界普遍认可的、行之有效的 最佳实践,然而,在该模型中,并没有给予如何实施 配置管理的指导,只告诉实施人员在配置管理过程 中应该做什么以及一些简单的方法[3].这给采用该 模型进行软件过程改进、实施配置管理的组织带来 了一定的难度.我国一些软件工程专家和相关企业 对配置管理进行了一些研究,而这些研究在很大程 度上侧重于理论研究,缺少与企业的实际相结合,如 周平提出了一种基于CMMI—SW实施软件配置管 理的方法[4],该方法对软件配置管理的核心一版本 控制并未给出具体的实施方案,缺乏可操作性.基于 此,本文中根据小型软件企业的特点及配置管理实 施的现状,提出了基于CMMI实施配置管理的一种 行之有效的方法. 为了实现SCM的工作目标,首先根据项目策 划SCM工作,明确SCM的具体工作如何实施.在 配置管理活动中,定义了若干个子过程:制定配置管 理计划、建立配置管理环境、标识配置项、版本控制、 变更控制、配置状态统计及配置审核等.SCM过程 的工作流程图如图1所示. 3.1 制定配置管理计划 制定配置管理计划的目的是为了得到一份配置 管理计划表,说明配置管理的各个阶段及相应的里 程碑、配置项的确定、配置控制、配置状态纪录、配置 审核以及相应的接口管理活动.其具体内容包括项 目中将要进行的SCM活动,文档标识的参考规范, 时间安排,相关资源,职责分配,将要设计的每个 图1软件配置管理流程 SCI的定义,SCI变更的影响范围. 在实施配置管理的过程中,由SCM组与项目 经理一起制定SCM计划.要将制定配置管理计划 的任务分配到指定的人员,要确保负责制定配置管 理计划的人员在目标、规程和方法等内容方面接受 培训,同时要确保所有受影响的部门或者个人都要 参与评审配置管理计划. 3.2创建配置管理环境 3.2.1设置软件配置组织结构 SCM过程实施必须有一个独立的机构,如 SCM组.对于小型软件企业,由于资源的有限,配置 管理组可以由二至三位开发人员、项目经理等兼职 组成,承担CM经理、配置管理员等角色. 3.2.2 制定SCM规范和选择配置管理工具 实现配置管理过程是借助于专业化的配置管理 工具,结合企业的实际情况制订出相应的配置管理 规范,由开发人员在工作过程中依据规范,通过配置 管理工具来实现. 配置管理规范为具体执行SCM活动提供作业 规范或模板,应按配置管理活动的内容来编制.选择 工具时须考虑SCM目标和过程,组织的规模、软件 开发方式和特点.如考虑到人员和资金的限制,可以 选择开源软件CVS当使用Microsoft Visual Studi- o来构建软件系统时,可使用Visual SourceSafe (VSS).在购买工具软件后,须对操作人员进行上岗 培训. 3.2.3建立软件配置管理库系统 建立软件配置管理库系统的主要目的是用来存 放软件基线.它可以对软件配置管理进行多级的控 制,譬如在产品的开发周期中,不同的阶段有着不同 力度的配置管理,随着产品不断成熟,控制力度也随 之增强;提供对库中配置项的存储和修改的功能,支 持在相关组之间和库中不同控制级间共享和传输配 置项;支持生成软件配置管理的报告文档以及软件 基线内容的报告文档;有助于确保从软件基线库中 发布的相关文档和软件产品的正确性. 维普资讯 http://www.cqvip.com 长沙大学学报 2007年3月 3.3确定访问权限,建立工作空间 性,为调整代码、清除BUG提供了很大帮助.在本 方法中,根据配置项的状态及其变迁,制定了版本标 识规则与版本控制流程. 3.5.1配置项的状态变迁 在引入了配置管理工具后,所有开发人员都会 被要求把工作成果存放到配置库中,或直接工作在 配置管理工具提供的环境之下.这时配置管理员应 完成以下工作: 配置项的状态有三种:“草稿”、“正式发布”和 1)为每个项目成员分配配置库操作权限.一般 “正在修改”,配置项状态变迁如图2所示. 地,项目成员拥有Add、CheckIn/CheckOut、Down— Load等权限,但是不能拥有“删除”权限; 2)为了让每个开发人员和各个开发团队能更好 的分工协作,且互不干扰,把整个配置库视为一个统 一的工作空间,再根据需要把它划分为个人(私有)、 团队(集成)和全组(公共)这三类工作空间(分支). 开发人员按照任务的要求,在不同的开发阶段,工作 在不同的工作空间上,例如:对于私有开发空间而 言,开发人员根据任务分工获得对相应配置项的操 作许可后,他即在自己的私有开发分支上工作,其工 作成果体现为在该配置项的私有分支上的版本的推 进,除该开发人员外,其他人员均无权操作该私有空 间中的元素;而集成分支对应的是开发团队的公共 空间,该开发团队拥有对该集成分支的读写权限,而 其他成员只有只读权限;至于公共工作空间,则是用 于统一存放各个开发团队的阶段性工作成果,提供 全组统一的标准版本,对组织内的全体软件人员开 放只读权限. 当然,由于选用的软件配置管理工具的不同,在 对于工作空间的配置和维护的实现上有较大的差 异,配置管理员必须根据各开发阶段的实际情况来 配置工作空间并定制相应的版本选取规则,来保证 开发活动的正常运作.在变更发生时,应及时做好基 线的推进. 3.4标识配置项 确定置于配置管理下的配置项,确保已确定的 每个配置项有唯一标识,用于跟踪和管理.在选定配 置项时应遵循下列准则之一: 1)两个或以上的组共同使用的工作产品; 2)可能因需求的差错或变更而做相应变化的工 作产品; 3)彼此相关并且其中之一发生变更将会使得其 他工作产品发生变更的工作产品; 4)对整个项目至关重要的工作产品. 另外,在标识配置项的过程中,要让整个项目组 成员都能够理解配置项的命名规则和配置项之间的 对应关系,保证使用配置管理工具时便于查询和统 计等. 3.5版本控制 版本控制是全面实施软件配置管理的基础,其 目的是按照一定的规则保存配置项的所有版本,避 免发生版本丢失或混淆等现象,保证产品的可追溯 图2配置项状态变迁图 配置项刚建立时其状态为“草稿”.配置项通过 评审(或审批)后,其状态变为“正式发布”.此后若更 改配置项,必须依照“变更控制规程”执行,其状态变 为“正在修改”.当配置项修改完毕并重新通过评审 (或审批)时,其状态又变为“正式发布”,如此循环. 3.5.2 配置项版本标识规则 配置项版本标识规则与配置项的状态紧密相 关: 处于“草稿”状态的配置项的版本号格式为:0. YZ,其中Yz数字范围为01—99,随着草稿的不断完 善,”YZ”的取值应递增.“YZ”的初值和增幅由用户 自己把握. 处于“正式发布”状态的配置项的版本号格式 为:x.Y,其中x为主版本号,Y为次版本号,取值 范围均为1-9.配置项第一次“正式发布”时,版本号 为1.0.若配置项的版本升级幅度较小,一般只增大 Y值;只有当配置项版本升级幅度比较大时,才允许 增大x值. 处于“正在修改”状态的配置项的版本号格式 为:X.YZ,配置项正在修改时,一般只增大z值,x. Y值保持不变.当配置项修改完毕,状态重新成为 “正式发布”时,将Z值设置为0,增加x.Y值. 3.5.3版本控制流程 步骤1创建配置项:配置管理员依据《配置管 理计划》,在配置库中创建属于其任务范围内的配置 项.此时配置项的状态为“草稿”,其版本号格式为 0.YZ. 步骤2 修改处于“草稿”状态的配置项:可以 使用配置管理软件的CheckOut/Checkln功能,而 自由修改配置项,版本号格式为0.YZ. 步骤3技术评审或领导审批:如果配置项是 技术文档,则需要接受技术评审.如果配置项是“计 划”这类文件,则需要项目经理的审批.若配置项通 过了技术评审或领导审批,则转向步骤4,否则转向 步骤2. 步骤4正式发布:配置项通过技术评审或领 维普资讯 http://www.cqvip.com 总第76期 王志和,凌云:基于CMMI的软件配置管理在小型企业中的应用 65 导审批之后,则配置项的状态从“草稿”变迁为“正式 发布”,版本号格式为X.Y. 性和完整性.通常在每次产品发布之前(即在里程碑 评审后)实施两种方式的配置审核:功能审核和物理 步骤5 变更:修改处于“正式发布”状态的配 置项,须按照“变更控制规程”执行(见变更控制).若 CCB同意变更,则配置项状态从“正式发布”变迁为 审核.功能审核检验软件基准库内容是否一致,即验 证配置项的实际功能是否与软件需求相一致及符合 基线文档要求;物理审核则检验软件基准库内容是 否完整. “正在修改”;配置管理员使用CheckOut/Checkln 功能,可修改处于“正在修改”状态的配置项,版本号 格式为X.YZ;修改完毕后,该配置项要重新接受评 审或审批,转向步骤3. 3.6变更控制 变更控制是通过创建产品基线,在产品的整个 生存周期中控制它的发布和变更.变更控制的目的 是建立一套控制软件修改的机制,保证生产符合质 量标准的软件和保证每个版本的软件包含所有必须 的元素及工作在同一版本中的各元素可以正常工 作,以确定在变更控制过程中控制什么、如何控制、 谁控制变更、何时接收变更、批准和检验.变更控制 过程如图3所示. 图3变更控制流程图 3.7配置状态统计 配置状态统计记录和报告管理SCI所需的信 息.它主要记录基线和对基线的变更的实现状态. 一般来说,配置状态统计包含如下形式的内容: 记录、变更请求表、库详细目录表、数据分配表、发布 表、文档记录表、报告等.为了自动化配置状态统计 功能,SCM应使用关系数据库管理系统工具以定义 数据内容和格式. 该活动便于软件开发人员及时地了解或查阅配 置项的当前状态和历史版本,避免因沟通不当而造 成的软件开发版本的混乱. 3.8配置审核 配置审核的目的是验证软件基准库内容的一致 执行配置审核有以下活动: 1)组成审核小组,并明确各自的职责; 2)收集审核材料,确定审核内容和日程安排; 3)进行功能审核:确认所有CM活动依照配置 管理计划执行;验证配置项的实际性能与软件需求 规格说明一致,确认当前基线配置项的正确性、完整 性、完备性; 4)进行物理审核:配置项是否被正确地标识;确 认已受控配置项的变更是受到控制的;确认配置库 与存储是安全、有效、一致的;验证配置库与系统备 份的有效性与一致性;验证配置管理活动与相应记 录之间的一致性;验证项目的配置管理工作是否符 合适用的标准和规程;验证要交付的产品是否存在; 验证交付的产品确实包含所有必需的项目,如正确 版本的源代码、资源、文档、安装说明等; 5)形成配置审核报告,并上报相关人员; 6)跟踪审核发现的问题的纠正措施直至问题解 决,纠正情况记录于《审核问题跟踪记录》中. 4 结束语 本文提出了一种基于CMMI的软件配置管理 在小型软件企业中实施的流程,并对该流程中的配 置管理计划、建立配置管理环境、配置项标识、版本 控制、变更控制、配置状态统计和配置审核等活动的 实施进行了详细的探讨. 软件配置管理的对象是软件研发活动中的全部 开发资产.由于软件配置管理覆盖了整个软件开发 过程,因此它是改进软件过程、提高过程能力成熟度 的理想切人点,使软件开发活动能够更加有序、高效 的进行. 参考文献: [1][美]Dennis M.Ahern,Aaron Clouse,Richard Turner,陈波 译.CMMI精粹一一集成化过程改进实用导论(第2版)[M].北 京:清华大学出版社,2005. [2]于宏霞,陈凯,白英彩,等.基线技术在软件配置管理过程中的 应用[J].计算机应用与软件,2006,(2):43—45. [3]王勇,张发勇,周顺平,等.CMM软件配置管理的理论与实践 [J].计算机工程与应用,2004,(2a):】O2一】O4. E4]周平.一种基于CMMI—SW的软件配置管理方法[J].信息技术 与标准化,2004,(5) 43-47. (作者本人校对) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务