【摘要】在软件开发领域,随着计算机程序规模越来越大,结构也越来越复杂,产品需要的开发人员不断增多,开发人员之间的信息沟通、进度协调和交付管理等当面的矛盾日益突出。软件配置管理通过对软件产品各个部件的管理控制,协调软件开发项目中不同角色的活动,能够有效地帮组软件开发团队避免上述问题。
【关键词】软件配置 软件开发 软件工程
1 软件配置管理概述
软件配置管理是指在软件开发过程中管理软件的配置,包括源程序、数据文件、设计文档、用户文档,及其组织关系。相应的管理包括管理这些部件的产生、修改、提取与发布,以保证整个产品的正确性、完整性,产品部件的一致性。
软件配置管理的最终目标是管理软件产品。由于软件产品是在用户不断变化的需求驱动下不断变化,为了保证对产品有效地进行控制和追踪,配置管理过程不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管理。没有采用配置管理的“作坊”式的软件开发项目经常会遇到许多问题。例如,一个严重的错误被修正了,却在一段时间后又重现了;一个已经开发并经过测试的功能在手工集成后完全消失了;系统崩溃了,却很难查出是什么修改造成的;用于测试的执行程序与源程序严重不一致;新的开发人员对现有代码难以理解,不知其前因后果;无法判断单个功能的实现进度和整个项目的完成程度;无法确知整个产品的代码修改频度和每个版本的代码修改量。种种这些问题,在没有配置管理或配置管理系统不完善的项目中必然会出现,并让项目所有相关人员感到困惑,甚至十分恼火。
2 软件配置管理的主要过程
2.1配置标识与存储过程
配置标识是定义各类配置项、建立各种基线、描述相关软件配置及其文档的过程。标识过程的关键是如何给每个配置项赋予一个唯一而又有意义的标识符。在配置管理系统中同一个文件的配置项有许多版本,因此,必须把每个版本也标识出来。配置项存储过程指如何把普通文件系统中的文件转化为受配置管理系统控制的配置项的过程,此过程与生成配置项初始标识的过程几乎是同时发生的。经过一定选取标准选定的作为配置项的文件先被存放在工作空间,然后由工作空间的拥有者把该文件由工作空间添加到配置库。
2.2版本管理过程
在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。对配置项的任何修改都将产生新的版本。版本管理过程是实现完整的配置管理功能的基础。版本管理的主要内容是管理产品配置项的每一个版本的生成和使用,主要方法包括版本访问和修改控制、版本分支和合并、版本历史记录,以及历史版本检取。检出和检入机制是版本管理中实现修改控制的主要方法。检出就是将软件配置项的某一版本从配置库中提取出来,以供开发人员在工作空间内修改的操作;检入就是将修改过的软件配置项从工作空间中上传到配置库中从而生成新的版本的操作。
2.3 变更控制过程
变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。软件产品在开发过程中进行变更时不可避免的,变更和变更控制是矛盾的统一体。变更控制过程就是通过一系列方法、手段对变更进行约束,使变更的结果有利于改进产品、满足客户需要,同时使变更的实施对项目影响较小。项目中引起变更的因素有两个:一是来自外部的变更要求,如客户要求修改工作范围和需求等;二是开发过程内部的变更要求,如为解决测试中发现的一些错误而修改源码甚至设计。变更控制不能仅在过程中靠流程控制,有效的方法是在事前明确定义。事前控制的一种方法是在项目开始前明确定义,否则“变化”也无从谈起。另一种方法是评审,特别是对需求进行评审,这往往是项目成败的关键。需求评审的目的不仅是“确认”,更重要的是找出不正确的地方并进行修改,使其尽量接近“真实”需求。
2.4 基线管理过程
基线是指项目开发中的业务主线,对其管理是为保证基线的正确更新,它是一定阶段变更请求实施后的累加效果。通过基线管理可以使用户能够通过对适当版本的选择来组成特定属性(配置)的软件系统,这种灵活的“组装”策略使得配置管理系统可使用已有的版本组装成各种各样、不同功能的模型。基线的变更需要一个严格的流程,需要提出申请,经过审批,然后才能进行。基线管理和产品开发模式、开发阶段划分,以及产品发布过程紧密相关。基线管理过程主要解决基线的创建、发布、使用和维护等方面的问题。基线一旦创建就成为整个产品的一个正式标准,随后的开发都基于此标准进行,直到下一个基线被创建。
3 结语
配置管理本身无论从理论和实践都在不断丰富和发展。配置管理提供的状态报告和数据统计也为软件度量提供了决策依据。同时为项目管理提供了各种监控项目进展的视角,为项目经理确切掌握项目进程提供了保证。此外配置管理过程所规范的工作流程和明确的分工有利于管理者应付开发人员流动带来的困境,使新的成员可以快速实现任务交接,减少了因人员流动而造成的损失。
【参考文献】
[1]刘江华,王立,马玲等,著.软件开发过程与配置管理——基于Rational的敏捷方案设计与应用.电子工业出版社,2011,2.
[2]勃克扎(美国)等,著. 软件配置管理模式 .中國电力出版社,2004,6.
作者简介:周瑶,男,1995-03-09,西北民族大学数学与计算机科学学院,研究方向:软件工程