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