当前位置:文档之家› 软件版本管理制度

软件版本管理制度

软件版本管理规范系统软件开发部2011-9-20目录1引言.............................................................目的..........................................................范围..........................................................术语定义......................................................版序控制记录..................................................版本更新记录.................................................. 2版本管理.........................................................流程图........................................................版本命名......................................................版本升级......................................................版本升级原则...............................................新版本的发布...............................................目录结构......................................................文档的存放....................................................文本文件的存放.............................................源代码的存放...............................................发行文档的存放................................ 错误!未定义书签。

权限控制管理.................................................. 3备份管理.........................................................源文件备份....................................................库文件备份.................................................... 4用户版本管理..................................................... 5版本工具的使用...................................................配置管理工具..................................................CVS的使用.....................................................常用命令...................................................简单操作...................................................版本分支管理............................................... 1引言1.1目的本文档是为规范XXXXXX有限公司软件版本管理而制定的。

1.2范围本文档为系统软件开发部版本管理员提供有关版本管理规范的相关内容,包括:版本标识方法软件系统数据的存放文档的修改控制文档的备份制度1.3术语定义CVSCVS是一个开源的版本控制系统Concurrent Versions System的简称文档一种数据媒体和其上所记录的数据。

配置管理标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。

软件配置软件的具体形态在某时刻的瞬时影像。

配置项软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。

基线软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。

1.4版序控制记录1.5版本更新记录*A - 增加M - 修改D - 删除2版本管理2.1流程图2.1.1文档归档流程2.1.2文档变更流程2.1.3代码归档流程2.1.4代码变更流程流程说明:1、开发人员完成所负责模块的代码编写任务后,提交到项目经理处2、项目经理向测试部门提交测试任务3、配置管理员准备测试所需的环境4、测试人员开展测试并实时提交BUG5、开发人员处理测试过程中所出现的BUG,并提交给测试人员进行回归测试,直至BUG被关闭6、测试基本完成后,测试人员提交测试报告7、项目情况根据实际情况决定是否发布新的版本8、配置管理员与各相关人员经讨论后确定好新版本各项信息9、配置管理员发布新版本2.2软件版本命名软件版本号由四部分组成,第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:Alpha、Beta、RC、Release。

例如:Beta。

对于小项目或子系统而言,可简化为<主版本号>.<次版本号>.<修订版本号>,如。

* 主版本号:当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。

此版本号由项目决定是否修改。

* 子版本号:当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。

此版本号由项目决定是否修改。

* 阶段版本号:一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的Bug即可发布一个修订版。

此版本号由项目经理决定是否修改。

* 日期版本号用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。

此版本号由开发人员决定是否修改。

* Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。

* Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。

* RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。

* Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。

该版本有时也称为标准版。

一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。

2.3版本升级2.3.1版本升级原则版本升级应严格纳入版本管理的控制之下。

应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。

在下面几种情况下,进行版本演化和升级:1、当产品发生重大修改和改进时,主版本号加1。

重大修改和改进包括:1)平台迁移;2)开发工具的迁移;3)体系结构的变迁。

2、当产品发生较小的改进或修改时,次版本号可以加1。

3、对于改动量比较少的,如修改产品的错误,可升级修订版本号。

4、记录版本升级过程。

每次版本升级,都要填写版本升级记录表,记录表样例如下:版本升级记录表说明:版本号:记录当前发布的版本。

发布日期:该版本批准发布的日期。

修改文件:版本修改记录文件,一般为版本修改日志。

2.3.2新版本的发布新版本的发布包括主版本号和次版本号的升级,一般不包括内部版本号的升级。

流程如下:1、根据项目进展情况,或者根据用户需要进行发布准备。

2、将发布所需文件进行打包,放在指定目录中,给目录加上标签Tag,标签中包含将要发布的版本信息。

3、同样对源码文件也要加上与版本信息相关的标签Tag。

标签Tag命名规则如下:组成:模块首字母+下划线+文件类型+下划线+主版本号+次版本号+内部版本号+时间(+下划线+合并标记)样例:qzcj_src_1_0_0_110923,qzcj表示采集模块的首字母,src表示源码,1_0_0表示将要发布的版本号,合并标记可省略,只在有合并操作时注明,其中合并前的标记为mbe,合并后的标记为maf。

2.4目录结构但为了能更好地管理各项目组的文档,建议可将被管理的配置项分为三大类:文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理,现将目录结构整理如下:二级目录中的版本指一些特殊的版本,不影响基线版本。

2.5文档的存放2.5.1文本文件的存放根据各项目部自己的情况,将系统用户需求记录、总体设计文档、详细设计及数据结构文件、测试记录、用户手册等放入CVS仓库doc目录相应的子目录下。

2.5.2源代码的存放源代码包括如:java,jsp,BMP,ICO等相关文件,是未经编译处理的、不能直接交付使用的产品文件以及编译产品所需的文件;联机帮助文件HLP在未生成HLP文件之前的DOC,RTF等格式的文档也视为源代码。

各子系统当前的程序源文件放入CVS仓库code目录相应的bb 目录下,对于一个子系统又分多个分子系统的情况,应在该目录下分别建立几个相应的子目录。

2.5.3发行文档的存放发行文档是指产品交付用户使用所必须的文件。

包括:产品可执行文件,用户使用说明书,联机帮助(HLP);资源文件(BMP,ICO等),环境配置文件等。

以上文档作为制作发行盘的素材,放在CVS仓库发布文件目录的Release目录之下,制作好的发行盘放在发布文件的Setup目录。

2.6权限控制管理为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。

文档权限类别:无任何权限,只读权限,所有权限。

文档类别:设计文档,源码,发行文档。

用户类别:开发人员、测试人员、项目经理、配置管理员等。

为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。

为了便于管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单),详见《系统部CVS权限配置》。

相关主题