软件配置管理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件配置管理办法
1软件配置管理基础
1.1软件配置管理简介
随着计算机应用范围的日益广泛,应用软件的规模及复杂度日益广泛深入,应用软件的规模和复杂程度日趋大型化,复杂化,这就导致软件开发的方式越来越强调团队的协作开发。
而在这种开发方式下,会遇到很多问题,例如:需要将整个软件的版本恢复到以前的某一时间的状态,限制随意修改程序,或者控制某一程序在同一时间内只能一个开发人员修改等等。
为了解决这些问题,提高软件产品和软件项目的质量及软件开发过程中的管理水平,更好地为以后的软件开发工作提供有效的服务,必须采用先进的管理手段,实现软件产品和软件项目源码的科学管理。
1.2软件配置管理工具
软件配置管理工具有很多,例如:Starteam、PVCS、ClearCase、VSS和CVS等。Starteam、PVCS和ClearCase更适合庞大的团队和项目,并且价格不菲,所以并不常用。目前使用比较广泛的是VSS和CVS。两者在使用上有各自的优势和不足。
VSS的全名是VisualSourceSafe,是微软公司开发的VisualStudio开发套件中的软件配置管理部分,有非常好的技术支持和非常详尽的技术文挡。VSS适合在局域网范围内,以Windows平台为主的中、小项目,以文件管理为主要功能,使用方便,学习成本低,对服务器仅需要快速大容量的存储器也是它的优势。
CVS的全名是ConcurrentV ersionSystem,是一种可以并发的版本控制系统。它是一个开源项目,可以直接从网站下载最新的源代码。CVS可以满足局域网和广域网不同的网络条件,提供不同级别安全性选择,在一台专门的服务器配合下,客户可以使用任何平台开发项目。CVS本身是在unix系统上开发的,在unix下提供的是命令行使用模式。在Windows 平台下你可以选择用CVSNT搭建服务器,用WinCvs作为客户端。CVS对于已经完成了开发过程进入项目维护阶段,或者进入项目升级阶段的项目,可提供完善的软件配置管理的支持,不过在学习和操作上学习成本比较高。
1.3软件配置管理实施环境
软件配置管理的实施环境由服务器和客户端软件组成,他们的基本功能如下:
1.3.1软件配置服务器
1)集中存放软件产品的文件,供多人访问以便进行协同开发。
2)对产品文件进行安全管理,分配账号并进行访问权限设置。
3)记录所有文件的历史变化,以进行版本控制。
4)保障文件的数据安全,进行冗余存储和备份。
1.3.2客户端软件
1)安装于开发人员的电脑上,用以访问软件配置服务器。
2)提供导入/导出产品模块的功能。
3)提供对文件的检入/检出操作。
4)提供查阅和管理文件历史版本的操作。
2软件配置管理的实施目标
软件配置管理包括的范围比较广,我们当前的目标是:
(1)软件配置管理活动被定义和计划。
(2)软件开发过程中的软件制品(程序源码,文档,数据资料等)被识别、控制和管理。(3)对于处于配置管理下的软件制品的修改被控制。
(4)与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息。
3人员角色分配与职责范围
3.1软件配置管理员
软件配置管理员主要负责如下工作:
1)管理软件配置服务器,维护源码库结构、安全设置,定期备份源码库。
2)编写和维护软件配置管理的相关文档资料,包括服务器配置管理方法、软件配置工
具使用方法、软件配置规则与实行方法等。
3)编写培训材料,制定培训计划,对开发人员和产品管理人员进行培训。
4)为开发人员和产品管理人员提供软件配置工具的高级使用技巧支持。
5)督促开发人员定时提交或更新软件源码及文档资料,确保软件配置规则的实行。
3.2开发负责人
开发负责人主要负责如下工作:
1)管理项目文件夹结构,构建代码框架,导入软件配置服务器。
2)在配置管理员的协助下,对项目文件夹的结构和权限进行管理。
3)根据项目进展制定开发基线,管理软件版本编号以及分支版本,必要的时候,负责
版本的合并,并解决或指导开发人员解决合并冲突。
4)负责软件发布版本的导出,提供给项目实施人员安装使用。
3.3开发人员
开发人员主要负责如下工作:
1)按照开发负责人的任务分配,从服务器导出项目,进行分工协同开发。
2)从服务器获取代码库最新变更,在自己负责的模块中加入、修改或删除文件。
3)及时提交自己的修改到服务器,并附加变更说明。
深圳市友邻通讯设备有限公司
4软件配置管理规则
本规则仅限于软件配置管理,而不涉及软件开发的项目管理过程。
4.1分为开发库和产品库进行管理
在软件配置管理工具中,对于源代码的管理一般分为产品库和开发库进行管理。
在软件配置服务器端分别建立产品库和开发库,产品库用于存放通过编译,形成了一定产品功能并且能够实施的所有软件源代码版本。开发库中存放正在开发过程中的软件源代码,当这些软件源码符合了一定的条件后,将被导入到产品库。同样,当开发库需要产品库的源码做为新的开发基线,产品库的源码也可以被导出到开发库进行重新开发。
产品库用于存放软件产品的一系列可发布版本,包括源代码、设计文档、可执行文件、安装包和产品手册。
开发库用于存放开发过程中的一系列软代码版本,是协同开发的工作目录,管理代码文件的历史变更。
在开发库中开发成熟,通过测试后的软件,经过整理设计文档、产品手册、制作安装包后,导入到产品库中存放。
要对现有软件的某一版本进行改进升级时,从产品库导入开发库,作为本次开发计划的开发基线。
4.2对开发库和产品库的管理和操作
我们根据对软件配置管理的不同角色所分配的不同职责范围,对开发库和产品库进行管理和操作。
4.2.1新建版本库
这是我们进行软件配置管理的第一步。首先,由软件配置管理员在服务器端安装和配置好软件配置管理的工具,然后在服务器上新建两个库目录:产品库和开发库。
4.2.2对开发库的管理和操作
开发库由开发负责人负责日常的更新保管。对开发库的管理操作方法如下:
(1)导入新项目
对于一个新的开发项目,由开发负责人负责构建项目结构。软件配置管理员配合软件开发负责人import(导入)该项目到开发库中并完成对新项目的访问权限设置。
(2)对库文件的导入、导出更新以及修改操作
开发负责人根据开发任务和开发需要分配开发模块给开发人员。
在开发过程中,软件开发人员根据各人对不同模块拥有的不同权限对开发库中相应的文件进行commit(导入)/update(更新),add(增加)/remove(删除)等操作。
软件开发人员要编辑自己的开发模块,首先,必须checkout(导出)该模块到本地,然后在本地对文件进行修改,修改完成后执行commit(导入)命令将该文件导入到开发库中。如果是在模块里面增加文件,那么首先要该文件放在要增加文件的模块中,执行add(增加)