下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件版本管理规范系统软件开发部2011-9 20目录1 引言 31.1 1目的 31.2 范围 31.3 术语定义 31.4 版序控制记录 41.5 版本更新记录 42 版本管理 42.1 流程图 42.2 版本命名 72.3 3版本升级 72.4 。 1版本升级原则 72.3.2新版本的发布 82.4目录结构 82。 5文档的存放 92 。 5.1文本文件的存放 92 。 5。 2 源代码的存放 92.5.3发行文档的存放 92。 6权限控制管理 103备份管理 103。 1源文件备份 104。 2库文件备份 104 用户版本管理105 版本工具的使用 111 .1配置管理工具 115 。
2、2CVS 的使用 111.1.1 。2。 1常用命令 111.1.2 简单操作 121.1.3 版本分支管理121 引言1.1 目的本文档是为规范xxxxxXt限公司软件版本管理而制定的。1.2 范围本文档为系统软件开发部版本管理员提供有关版本管理规范的相关内容,包括:版本标识方法软件系统数据的存放文档的修改控制文档的备份制度1.3 术语定义CVSCVS是一个开源的版本控制系统 Concurrent Versions Systems简称文档一种数据媒体和其上所记录的数据。配置管理标识和确定系统中配置项的过程, 在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置
3、项的完整性和正确性.软件配置软件的具体形态在某时刻的瞬时影像.配置项软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。基线软件生存周期中各开发阶段末尾的标记, 它的作用是把各阶段工作的划分更加明确化使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。1.4 版序控制记录版序状态拟稿审核批准发布日期1.0系统软件开发部1.5 版本更新记录*A -增加 M -修改 D -删除版本/修订版修改贞他修改记录修改人日期1。0r初始版本2版本管理2.1流程图2.1.1 文档归档流程2.1.2 文档变更流程2.1.3代码归档流程2.1.4代码变更流程2.1.5配置管理流
4、程流程说明:1、开发人员完成所负责模块的代码编写任务后,提交到项目经理处2、项目经理向测试部门提交测试任务3、配置管理员准备测试所需的环境4、测试人员开展测试并实时提交BUG5、开发人员处理测试过程中所出现的BUG ,并提交给测试人员进行回归测试,直至 BUG被关闭6、测试基本完成后,测试人员提交测试报告7、项目情况根据实际情况决定是否发布新的版本8、配置管理员与各相关人员经讨论后确定好新版本各项信息9、配置管理员发布新版本2.2 软件版本命名软件版本号由四部分组成,第一个1 为主版本号,第二个1 为子版本号,第三个1 为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5
5、种,分别为:Alpha、Beta、RC、Release例如:1.1。1.051021_Beta对于小项目或子系统而言,可简化为 主版本号 .次版本号。 修订版本号 ,如 1。 0。 0。 主版本号: 当功能模块有较大的变动, 比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。 子版本号: 当功能有一定的增加或变化, 比如增加了对权限控制、 增加自定义视图等功能。此版本号由项目决定是否修改。 阶段版本号:一般是 Bug 修复或是一些小的变动 ,要经常发布修订版,时间间隔不限 ,修复一个严重的Bug 即可发布一个修订版。此版本号由项目经理决定是否修改。* 日期版本号用于记录修改项目
6、的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改 . Alpha 版 : 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多 ,需要继续修改。* Beta版:该版本相对于a版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的 UI 。* RC版:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几 .* Release版:该版本意味最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户
7、使用的一个版本。该版本有时也称为标准版。一般情况下,Released会以单词形式出现在软件封面上,取而代之的是符号( R)。2.3 版本升级2.3.1 版本升级原则版本升级应严格纳入版本管理的控制之下。应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。在下面几种情况下,进行版本演化和升级:1、当产品发生重大修改和改进时,主版本号加 1。重大修改和改进包括:1)平台迁移;2)开发工具的迁移;3)体系结构的变迁。2、当产品发生较小的改进或修改时,次版本号可以加1。3、对于改动量比较少的,如修改产品的错误,可升级修订版本号。4、记录版本升级过程。每次版本升级,都要填写版本升
8、级记录表,记录表样例如下:版本升级记录表主版本子系统名称子系统版本发布日期功能变更描述发布责任人批准人备注说明:版本号:记录当前发布的版本.发布日期:该版本批准发布的日期。修改文件:版本修改记录文件,一般为版本修改日志2.3.2新版本的发布新版本的发布包括主版本号和次版本号的升级,一般不包括内部版本号的升级。流程 如下:1、根据项目进展情况,或者根据用户需要进行发布准备。2、将发布所需文件进行打包,放在指定目录中,给目录加上标签Tag标签中包含将要发布的版本信息。3、同样对源码文件也要加上与版本信息相关的标签Tag。标签Tag命名规则如下:组成:模块首字母+下划线+文件类型+下划线+主版本号+
9、次版本号+内部版本号+ 时间(+下划线+合并标记)样例:qzcj_src_1_0_0_110923 qzcj表示采集模块的首字母,src表示源码,1_0_0 表示将要发布的版本号,合并标记可省略,只在有合并操作时注明,其中合并前的 标记为mbe,合并后的标记为maf.2.4目录结构但为了能更好地管理各项目组的文档,建议可将被管理的配置项分为三大类:文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理,现将目录结构整理如下:根目录一级目录二级目录对应配置项备注resp源码codetw米集源码后台计算源码业务应用源码:数据库SQL文件业务支撑公用开发包文档doc需求文档立项报告、需求分析、需
10、求 记录设计文档软件架构、总体设计、概要 设计、详细设计、界面设计数据库文档数据字典、数据库搭建、备 份还原方案、PDM设计测试文档测试计划、测试用例、测试 报告用户文档用户手册、产品说明P计划文档项目计划、年度月度计划外部接口文档标准规范发布义件SETUPreleaserar文件发布文档二级目录中的版本指一些特殊的版本,不影响基线版本2.5 文档的存放2.5.1 文本文件的存放根据各项目部自己的情况,将系统用户需求记录、总体设计文档、详细设计及数据 结构文件、测试记录、用户手册等放入 CVS仓库doc目录相应的子目录下。2.5.2 源代码的存放源代码包括如:javajsp, BMP, ICO
11、等相关文件,是未经编译处理的、不能直接交付 使用的产品文件以及编译产品所需的文件;联机帮助文件HLP在未生成HLP文件之前的 DOC,RTF等格式的文档也视为源代码.各子系统当前的程序源文件放入 CVS仓库code目录相应的bb目录下,对于一个 子系统又分多个分子系统的情况,应在该目录下分别建立几个相应的子目录。2.5.3 发行文档的存放发行文档是指产品交付用户使用所必须的文件.包括:产品可执行文件,用户使用说明 书联机帮助(HLP);资源文件(BMP , ICO等),环境配置文件等。以上文档作为制作发行盘的素材,放在CVS仓库发布文件目录的Release目录之下,制作好的发行盘放在发布文件的
12、 Setup 目录。2.6 权限控制管理为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。文档权限类别 :无任何权限,只读权限,所有权限。文档类别 :设计文档,源码,发行文档。用户类别:开发人员、测试人员、项目经理、配置管理员等。为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。为了便于管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单)详见系统部CVS 权限配置 。3 备份管理为了保证文档的最大可恢复性,要随时及定期地进行备份工作3.1 源文件备份开发人员每天都要将自已当日修改的源文件提交(com
13、mit )至 CVS 仓库 .3.2 库文件备份为防止服务器出现异常,需对服务器上的 CVS 仓库文件进行备份,目前采用的方案如下 :工作日备份:每个工作日将原本位于 D 盘的仓库文件在H 盘上备份一份,当 D 盘仓库出现异常时,用户可把ROOT 目录修改至H 盘备份的目录,再进行更新操作。每周备份:每周五下班时将H盘备份文件异地备份至其它IP(目前备份在192。168。53.68上) 。每月备份:每个月底将最新版本备份至光盘。4 用户版本管理为了更好地管理源程序,应为每一用户建立一个用户版本文件,该文件应包含以下内容:用户编号 :用户名称: 软件版本号: 开始使用时间: 联系人: 联系电话:
14、用户程序更改日志样例如下:更改 时间版本号修改模 块名称变更原因变更概述软件位置变更 人员备注说明:1)用户购买软件时要为该用户建立一个包含上述内容的一个用户版本文件,并填 写有关数据.2)用户进行版本更新时要求填写该文件的版本变更记录,用以反映用户版本的变 更情况。5版本工具的使用5.1 配置管理工具开发部采用CVS进行配置管理,CVS是一个C/S系统,多个开发人员通过一个中心版 本控制系过来记录文件版本,从而达到保证文件同步的目的。目前采用的 CVS服务端为 cvsnt-2.5 。 03.2260,客户端为 TortoiseCVS-1.8 。 29。5.2 CVS的使用5.2.1 常用命令
15、央文而令中文而令操作、说明备注Checkout提取/取出将文件下载到本地目录A次下载目录用一Commit提交将改动过的文件提交到版本库每次对文件更新后使用Update更新将文件同步到最新版本获取最新版本Tag标签给某个版本添加一个标记符号便于合并分支与主线Branch分支创建某个文件的分支建立特殊版本时用到Merge合并将分支文件(或主文件)的更改合并到主文件 (或分支文件)diff比较小同比较任思网/版本间的小向ReversionGraph版本分支图查看文件各版本(包括分支文件)的走向图查询各个版本及TagHistory历史查看文件各个版本更新历史查询版本详细信息n5.2.2 简单操作文件提
16、取:初次使用需将源文件从仓库提取出来,执行checkout命令将库文件提取至本地相应位 置。定时更新:开发人员每天早上对源代码或文件进行更新操作(右键执行update操作)。实时更新:某一开发人员提交更改后,可通知其它人员进行更新操作。实时提交:对某一文件进行更改完成后,执行commit命令将更改提交至仓库,更改前先进行更新操作,如多个人员对同一文件同时进行操作,会产生冲突,这时需要对冲突进行处理。冲突处理:提交产生冲突时 ,先对文件进行同步(即更新)操作,之后会产生一个合并文件,<'号前为两个版本相同部分,号前为本地版本修改的内容,>'前为当前服务器最新版本修改的
17、内容,找到最近提交该文件的同事,进行协商后对源文件进行修改并提交。创建分支 而签:右键菜单中选择Branch'或'Tag我开创建对话框,输入 Branch名或Tag名, 选中'Create new branch' / 'Create new tag',点击 OK 即可。查看版本/历史:文件(非文件夹)右健菜单中选择 Revision Graph.'或History.。,可查看该 文件的版本更新记录或历史信息。5.2.3 版本分支管理我们把一个项目的主要开发过程称作开发基线.当某一个特殊事件发生的时候,例 如,有一个用户有特殊的需求,于是就
18、从这个开发基线里分离出来一个叉,以满足用户 特殊的需求,这个叉有它自己的发展方向,这就是分支。-分支/- 开发基线上面这个点,代表开发基线的最新版本,如果从开发基线建立分支来进行定制开发,开发基线和分支就可以有各自的发展方向。如果有需要,分支的代码可以重新合并到开发基线中,开发基线的代码也可以合并到分支代码中.假设在我们的home目录下的proj目录就是我们的工程。下面具体看一下,如何建立分支:1、当我们要在基线某个版本建立分支时,先在基线该版本上创建一个标签(Tag), 就是上图中的黑点.这样做是便于以后主干可以重新回到分支创建时的状态。2、创建分支:右健单击该目录,选择Branch指定分支名,点击OK即可.新建分支的版本号呈偶数序列递增,如在基线版本1.5 上创建两个分支, 则分支版本分别为 1.5.2.1 和 1.5.4 。 1,分支的后续版本分别为 1。 5。 2。 2和 1。 5.4.2.3、 在另外的目录下执行checkout 命令, 把刚才建立的分支提取出来( 注意不要在原来目录下提取, 那样会覆盖原有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南省演出公司招聘2人笔试参考题库附带答案详解
- 2025浙江省交投控股集团有限公司招聘2人笔试参考题库附带答案详解
- 2025江西移动社会招聘笔试参考题库附带答案详解
- 2026及未来5年中国ABW外墙外保温专用胶粘剂市场数据分析及竞争策略研究报告
- AI助力外卖骑手优化配送路线的应用与前景
- 黑龙江省2025年北大荒农垦集团有限公司事业单位公开招聘工作人员60人笔试历年参考题库典型考点附带答案详解
- 都昌县2025江西九江市都昌县招聘基层公共服务专岗人员6人笔试历年参考题库典型考点附带答案详解
- 紫金县2025广东河源紫金县蓝塘镇人民政府招聘编外人员1人笔试历年参考题库典型考点附带答案详解
- 深圳市2025年5月广东深圳市光明区审计局招聘专干2人笔试历年参考题库典型考点附带答案详解
- 张家口市2025年河北张家口经济技术开发区总工会拟向社会招聘见习岗位5名笔试历年参考题库典型考点附带答案详解
- 2026年八年级语文下册文言文《庄子与惠子游于濠梁之上》对比阅读训练含答案
- 2026年九年级数学中考模拟试卷(浙江卷)
- TSG08-2026《特种设备使用管理规则》解读
- 2026年1-4月时事政治考试卷及答案(共三套)
- Unit 4 Eat Well Section A 1a-1d 课件(内嵌音视频) 2025-2026学年人教版七年级英语下册
- 2026年北京丰台区高三一模高考政治试卷试题(含答案详解)
- 苏科版物理九年级专项03 比热容和热值的相关计算(重难点训练)(原卷版)
- 2026年消毒供应中心器械清洗质量控制要点
- 广西壮族自治区林业勘测设计院招聘笔试题库2026
- 雨课堂学堂在线学堂云《中医特色文化( 南京中医)》单元测试考核答案
- 2026年河南高考理科综合试卷题库及答案(新课标卷)
评论
0/150
提交评论