首页 > 范文大全 > 正文

浅谈软件配置管理

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈软件配置管理范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:质量是每一个行业的根本,而软件配置管理对软件开发质量的提高起到了不可替代的作用。它可以使软件开发过程更加规范化,为软件开发团队成员之间提供更好的沟通,该文着重介绍了什么是软件配置管理,及软件配置管理的功能和其实施的重要意义。

关键词:配置管理;版本控制;变更

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)18-5092-01

在科技发展如此迅速的时代,没有一个行业像计算机行业发展的如此迅速。而如今的软件行业,技术和产品的更新更是日新月异,而来自提高产品质量,缩短面市时间的压力,对于所有的软件技术人员和管理人员也越来越明显。现在软件产品开发对市场的投放速度成倍增长;软件的开发、传递、和分发方式也跟随这Internet/Intranet应用的发展而不断变化;软件质量的不短提高,使软件开发的规范化的要求越来越突出;而在软件开发中,多平台、多操作系统、多开发工具、多计算机语言、多对象类型的应用,使软件开发环境更加难以控制;因此,软件配置管理作为软件开发过程中的地位也日益突出,并且也引起了各个软件企业的高度重视。

1 什么是软件配置管理

在人才流动的今天,软件行业的人员流动也是不可避免的,新的人员怎样才能快速的接收工作?以减少因人员流动带来的影响。开发团队的每一个人员如何才能及时的了解项目的进展状态,团队的人员之间如何有效的沟通?依据bug发现的版本,如何快速定位等等问题,为解决如此多的问题,我们就要有一套规范化的管理体系,而软件配置管理可以解决以上问题,而它提供的功能还远远不止这些。那么软件配置管理是什么呢?

软件配置管理简称SCM(Soft Configuration Management),它有多种定义,在1986年出版的Wayne Babyish《Software Configuration Management: Coordinating for Team Productivity》一书中把软件配置管理描述为“对软件开发组所建立的软件的修改进行标识、组织和控制的艺术,其目标是减少错误,提高生产力”。这是一个比较简单定义,在1993年出版的Steve McConnell的《Code Complete》一书中,对软件配置管理的定义是:“配置管理能够系统地处理变更,从而使得软件系统可以随时保持其完整性。配置管理又可称为‘变更控制’,可以用来评估提出的变更请求,跟踪变更,并保存系统在不同时间的状态。”软件配置管理是一套规范化、高效的软件开发基础结构。软件配置管理可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程,包括为什么修改,谁做了修改,修改了什么;管理并跟踪开发过程中危害软件质量,以及开发周期的变化和缺陷。软件配置管理对开发过程进行有效的管理和控制,完整、明确记载开发过程中的历史变更,形成规范化的文档,是日后的维护、升级得到保证,更重要的是保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。准确的说:软件配置管理是对软件产品进行标识、存储和控制,及维护其完整性、可追溯性以及正确性的学科。

2 软件配置管理的功能

软件配置管理系统应该具备的主要功能有:

1) 并行开发支持:在软件开发和维护的过程中,常常会有在同一时间,甚至是在不同地域的开发人员,在同一个开发模块上工作,为使团队在相互不干扰的前提下,能够相互协同工作,同时又不失去控制。为满足以上要求,就要实现并行开发支持的功能,也就要求软件配置管理系统需要提供灵活的分支机制和工作空间管理。

2) 版本控制:软件配置管理的核心功能是版本控制,其他配置管理的功能都建立在版本控制功能之上。而版本控制就是对软件开发过程中产生的所有系统对象的管理,也是对各个版本的各种操作的控制,并保证开发人员在任何时候,都能取到软件系统的任何一个历史版本。简而言之,就是要简单,明确的重现软件开发系统的每一个历史版本。

3) 建立管理:基于软件存储库的版本控制功能,我们首先从存储库中取得正确的配置项,然后建立过程的自动化。

4) 修订版管理:由于在软件开发中,每个版本都是对上一个版本存在的问题及缺陷的修改后产生的,为以后能够跟踪每一个版本变更的创建者,时间及原因,以便加快问题和缺陷的确定,我们就要对每个版本进行管理,即修订版管理;

5) 产品管理:为使项目经理能够随时清晰地了解项目的状态,这就要求管理、计划软件的变更,与软件计划、预先制定的生命周期或相关的质量过程必须保持一致,同时为了能够跟踪管理版本,必须使每一个版本有唯一的一组配置项集合。

6) 过程管理:软件开发中不免会有人员的流动,这就要求新的成员能在最短时间内接手,而人员的流动,也会造成代码的泄露等等问题,因此在开发过程中,贯彻访问权限的控制、开发规则等等的规范化实施也尤为重要。

7) 变更请求管理:在跟踪和管理开发过程中,常常会有一些功能的不足需要增强,或者是一些缺陷需要修补的变更请求,为了团队对中每个人都能够能随时了解到变更的状态,就需要对这些变更请求进行管理,以便加强沟通和协作。

8) 代码共享:拥有良好的存储、访问机制,可以是开发团队中的每一个成员共享各自的开发资源,以便减少重复的劳动,节省开发时间!

3 软件配置管理的实施

古语有云:“工欲善其事,必先利其器”。软件配置管理是一项非常繁琐的工作,同时又和整个软件开发活动紧密联系,因此工具选择对整个开发影响很大,所以在实施的过程中,我们应在以下三方面考虑:首先,选用的工具应提供完善的版本管理的功能,使得所有的配置项都应清晰、完整的得到保存,相应的操作纪录完备,使得开发组织中的任何人员都能迅速的了解任一配置项的演进过程,并快捷的找到所需的资源。其次,应具备工作空间的管理。最后,我们所选用的工具,一定要操作简便,不能给开发人员增加负担。

4 软件配置管理的意义

软件配置管理实施的恰当,不仅更好的保证软件的质量,而且也降低了维护软件的成本,不仅提高了软件开发效率,而且也减少了软件的缺陷和错误,而且在加快问题的定位和修复,同时使开发依赖于过程,而不依赖于人,确保建立正确的开发系统。

参考文献:

[1] 徐晓春,等.软件配置管理[M].北京:清华大学出版社,2006.

[2] White B A.软件配置管理策略与Rational ClearCase[M].龚波,黄慧萍,王高翔,译.北京:清华大学出版社,2003.