《产品版本管理规范》由会员分享,可在线阅读,更多相关《产品版本管理规范(15页珍藏版)》请在金锄头文库上搜索。
1、基于基于 Tortoise SVN 的软件产品的软件产品版本管理规范版本管理规范 草稿草稿 目录目录1. 引言.1 1.1. 目的.1 1.2. 范围.1 1.3. 术语定义.1 1.4. 参考资料.2 1.5. 版本控制记录.2 1.6. 版本更新记录.2 2. 版本管理.4 2.1. 版本标示方法.4 2.1.1. 正式版本.4 2.2. 目录结构.5 2.3. 文档的存放.6 2.3.1. 开发文档的存放.6 2.3.2. 源代码的存放.6 2.3.3. SQL 的语句存放 .7 2.3.4. 发行文档的存放.7 2.4. 配置管理流程.7 2.5. 权限控制的管理.8 3. 更新管理.
2、9 3.1. 源程序的修改.9 3.2. 版本升级10 3.2.1. 版本升级原则10 3.2.2. 新版本发布11 3.3. 文档的变更11 4. 备份管理12 5. 版本工具 Tortoise SVN 的使用.13第 0 页 共 15 页1. 引言引言版本控制就是对软件开发过程中所创建的配置对象不同版本进行管理,保证任何时间都可以取到正确的版本以及版本的组合。版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统的成长记录。1.1.目的目的本文档的编制是为了规范产品部、研发部、测试部对软件产品版本的管理。1.2.范围范围本文档为产品部、研
3、发部、测试部的管理员提供有关版本管理规范的相关内容,包括:版本标识方法软件系统数据的存放文档的修改控制文档的备份制度1.3.术语定义术语定义SCM软件配置管理(Software Configuration Management)缩写SVM软件版本管理(Software Version Management)缩写SVN一个开源的版本控制系统 Subversion.文档第 1 页 共 15 页一种数据媒体和其上所记录的数据。配置管理标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。软件配置软件的具体形态在某时刻的瞬
4、时影像。配置项软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。基线软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。1.4.参考资料参考资料软件版本管理规范 浪潮集团山东通用软件有限公司 泰豪软件开发软件版本管理制度 tortoise SVN 的使用手册1.5.版本控制记录版本控制记录版序状态部门拟稿审核批准发布日期1.01.6.版本更新记录版本更新记录第 2 页 共 15 页*A - 增加 M - 修改 D - 删除版本/修订版修改页码修改记录修改人日期1.0初始版本第 3
5、页 共 15 页2. 版本管理版本管理2.1.版本标示方法版本标示方法为了使工作规范化、统一化,研发本部各部门实行的版本标识管理方法。2.1.1. 正式版本正式版本软件版本号由四部分组成,X.Y.Z.DATA_希腊字母,X:主版本号,用来表示提供给客户的产品功能的主要增强。在一个极端的例子中,主版本号的上升用来说明产品现在已经拥有了一个全新的功能类。从市场和许可权的角度来看,主版本号的升级相当于购买一个完全独立的产品。从开发者角度来看,一个主版本号的迭代差不多总是反映了一个新的独立分支或是其主干还可以延续主版本的生命期。Y:特征版本号,用来表示产品新增了一些特征,或者是在原来文档中描述的特征上
6、作了重要的修改。用来确定特征版本号什么时候需要修改的一个衡量标准就是产品功能说明书。产品的特征版本升级是在主版本之间保持产品竞争力的一种重要机制。Z:缺陷修复版本号,用来表示在该版本上所做的缺陷维护行为的等级。版修复版本是稳定市场和最小化客户技术支持费用负担的一种重要机制。Alpha 版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多,需要继续修改。Beta 版: 该版本相对于 版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的 UI。RC 版: 该版本已经
7、相当成熟了,基本上不存在导致错误的 BUG,与即将发行的正式版相差无几。Release 版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release 不会以单词形式出现在软件封面上,取而代之的是符号(R)。第 4 页 共 15 页例如:1.1.1.051021_beta.第一个 1 为主版本号,第二个 1 为子版本号,第三个1 为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有 5 种,分别为:base、alpha、beta、RC、release。2.2.目录结构目录结构由
8、于各部门的实际情况不同,目录结构很难统一,但为了能更好地管理各部门部文档,建议可将被管理的配置项分为三大类:文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理。具体目录如下表格所示:根目录一级目录二级目录三级目录集成代码代码的合并第一个模块代码第二个模块代码数据库SQL源代码(SRC)公共开发包代码立项文档立项计划书 立项申请书项目计划项目开发计划需求文档需求规格说明书设计文档设计概要说明书 数据库设计说明书界面布局原型界面 动态页面参考资料项目一些参考资料验收文档验收资料测试文档测试计划 测试报告 测试用例试用信息文档(DOC)测试部署部署材料SETUPRELEASE项目名称+版本号
9、发布(RELEASE) 发布文档第 5 页 共 15 页2.3.文档的存放文档的存放2.3.1. 开发文档的存放开发文档的存放文档归档流程:文文档档编编写写员员编编写写文文档档评评审审人人员员文文档档评评审审配配置置管管理理员员修修改改文文档档格格式式规规范范化化检检查查评评审审版版本本确确认认版版本本不不通通过过通通过过2.3.2. 源代码的存放源代码的存放测测试试人人员员配配置置管管理理人人员员从从S SV VN N 提提取取代代码码编编译译制制作作安安装装程程勋勋打打印印测测试试本本入入库库 安安装装程程序序 源源代代码码 测测试试报报告告 评评审审报报告告更更新新版版本本系系统统测测试
10、试开开发发人人员员源源代代码码入入库库从从S SV VN N 上上提提取取代代码码修修改改源源代代码码通通过过不不通通过过第 6 页 共 15 页2.3.3. SQL 的语句存放的语句存放各子系统 SQL 文件放入.SQL 下,对于不同的数据库,分别建立不 同的子目录,如 WAT、SYB、MSS、ORC、DB2 等。公共 SQL 文件直接放 入SQL 下即可,不同数据库的特殊 SQL 分别放入对应的子目录下。2.3.4. 发行文档的存放发行文档的存放发行文档是指产品交付用户使用所必须的文件。包括:产品可执行文件,用户使用说明书,联机帮助(HLP) ;资源文件(BMP,ICO 等) ,环境配置文
11、件等。2.4.配置管理流程配置管理流程提提交交测测试试任任务务完完成成开开发发任任务务提提交交发发布布请请求求处处理理B BU UG G测测试试执执行行测测试试计计划划 测测试试用用例例提提交交测测试试报报告告更更新新测测试试环环境境回回归归测测试试新新版版本本发发布布入入库库 提提交交测测试试部部 发发布布文文档档更更新新额额定定版版本本信信息息 制制作作安安装装程程序序研研发发人人员员项项目目管管理理人人员员测测试试人人员员配配置置管管理理人人员员流程说明:1.开发人员完成所负责代码模块的编写任务后,提交到项目经理处;2.项目经理向测试部提交测试任务;3.配置管理员准备测试所需环境;4.测
12、试员开始测试并提供实时测试 BUG;5.开发人员处理测试人员提供的 BUG,并提交测试员进行回归测试,直至 BUG关闭;第 7 页 共 15 页6.测试完成后,测试人员提供测试报告;7.根据项目情况决定是否发布新版本;8.配置管理员与各成员确定好新版本的各项信息;9.配置管理员发布新版本。2.5.权限控制的管理权限控制的管理为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。文档权限类别:只读权限,读写权限。文档类别:DOC,SRD,RELEASE。用户类别:开发人员、测试人员、分析设计人员、部门经理、配置管理员、安装盘制作人员、问题及需求管理人员、用户文档编写人
13、员等。为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。为了便于各部门的管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单) 。第 8 页 共 15 页3. 更新管理更新管理3.1.源程序的修改源程序的修改变变更更申申请请人人评评审审人人员员开开发发人人员员测测试试人人员员配配置置管管理理人人员员提提交交变变更更取取消消变变更更变变更更实实施施代代码码测测试试更更新新版版本本 归归档档入入库库变变更更影影响响分分析析 审审核核测测试试报报告告 评评审审当开发小组在开发同一产品时,应能保障:各成员间的修改不会互相覆盖;程序员的修改能
14、及时反映到产品的最新版本中。建议首先在相应子系统的下一级建一目录,如 checkout,存放正在修改的文档及修改登记表。当某个程序员要修改某一文档时,遵循以下程序:1) 接收维护任务;2) 查看需要修改的文件(如 PBL 及 SQL 等)是否正在被其它人员修改(检查 checkout 目录下是否存在要修改的文件或后缀已改为该程序员姓名简写);3) 如果有人在修改该文件,等待或与相应的开发员联系,重复 2。否则继续;4) 将该文件复制到 checkout 目录下,在修改登记表中登记;或将该文件的后缀改为本人姓名简写;5) 将该文件拷贝到自己的私有目录;6) 根据要求修改源文件;7) 根据要求测试
15、,并进行相关项的回归测试;8) 交测试人员测试,如未通过,重复 6,如通过则继续;9) 在 checkout 目录中删除该文件,并在修改登记表中标注修改完成; 10)将修改完毕的文件通过电子邮件或其它手段送交版本管理员,版本管理第 9 页 共 15 页员将文件复制到相应的路径;如遇特殊情况(版本管理员出差) ,程序员可将修改完毕的文件复制到相应的路径下,或将后缀改回正式。11)回复下达者,报告维护任务完成。3.2.版本升级版本升级3.2.1. 版本升级原则版本升级原则版本升级应严格纳入版本管理的控制之下。应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。主版本号(1)
16、:当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。阶段版本号(1):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的 bug 即可发布一个修订版。此版本号由项目经理决定是否修改。日期版本号(140606):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。希腊字母版本号(beta):此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。 每次版本升级,要填写版本升级记录表, 记录表样例如下:主版本号子系统名称子系统版本发布日期变更功能描述发布人批准人备注主版本号:记录当前发布的版本发布日期:该版本批准发布的日期修改文件:版本修改记录,版本修改日志第 10 页 共 15 页3.2.2. 新版本发布新版本发布新版本的发布包括主版本号和次版本号的