软件研发版本管理制度.doc
泰豪软件研发版本管理规范V10草案研发部200924目录文档类别使用对象31.引言411目的412范围413术语定义414版序控制记录515版本更新记录52.版本管理52.1版本标识方法52.1.1正式版本52.2目录结构62.3文档的存放7231当前版本和历史版本的存放7232开发文档的存放7233源代码的存放7234SQL语句的存放7235发行文档的存放72.4权限控制管理83.更新管理(版本升级)831版本升级原则832新版本的发布94.备份管理95.用户版本管理106.研发部统一管理阶段性版本1061阶段性版本的提交到研发部1062阶段性版本的发布到公司网站上1063各项目组新版本内部及时备份。117.版本工具的使用1171研发部采用SVN配置管理工具118.各项目组提交文档及源码以及规则1181各项目组需要提交的文档1182目前所管理的产品列表129.周报管理制度1210.风险管理制度13文档类别使用对象文档类别该文档是为泰豪公司提供一个版本管理规范性文件。使用对象该文档使用对象为泰豪软件公司研发本部各部门项目经理及版本管理人员,以及其他相关人员。未经许可,该文档不得提供给上述规定对象以外的人员阅读或使用。1.引言11目的本文档是为规范泰豪软件公司研发版本管理而制定的。12范围本文档为各产品部、事业部版本管理员提供有关版本管理规范的相关内容,包括版本标识方法软件系统数据的存放文档的修改控制文档的备份制度13术语定义SVNSVN是一个开源的版本控制系统SUBVERSION的简称文档一种数据媒体和其上所记录的数据。配置管理标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。软件配置软件的具体形态在某时刻的瞬时影像。配置项软件配置管理的对象称为配置项,如系统规格说明书,项目开发计划,用户手册,源码。基线软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。14版序控制记录版序状态拟稿审核批准发布日期10研发部张洪兴09/11/1815版本更新记录A增加M修改D删除版本/修订版修改页码修改记录修改人日期10初始版本2009/022.版本管理2.1版本标识方法为了使工作规范化、统一化,各项目组实行的版本标识管理方法分为正式版本和特殊版本。2.1.1正式版本公司在市场上发行的正规版本。以“V”开头,版本号放后。V前面增加项目名称,版本号分3节主版本号,次版本号和内部版本号,每节之间以小数点()间隔。如V201表示主版本号为2,次版本号为0,内部版本号为1。研发部控制主版本号和次版本号,各项目组控制内部版本号。例如一体化平台平阴版V111,一体化平台为产品名称,平阴版为版本名称(平阴为具体项目名称),V111为主版本号次版本号内部版本号。2.2目录结构由于各项目组的实际情况不同,目录结构很难统一,但为了能更好地管理各项目组的文档,建议可将被管理的配置项分为三大类文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理。至于二级目录是以版本划分,并根据制定的目录结构给出文件级目录清单(先给出源程序及文档的文件级目录清单,安装盘的可以后再执行)。现以农电平台10的目录结构举例如下根目录一级目录二级目录三级目录对应配置项备注JAR核心源码包CLASS文件源码存目录前正在修改的内容扩展源码包源码SQLSQL文件版本变动说明源码F需求文档用户需求记录版本号在文件名上标识概要设计文档数据库设计详细设计文档总体设计文档按版本号依次类推测试用例测试记录版本号在文件名上标识用户手册产品说明书用户使用手册项目计划项目计划实施手册实施手册文档G月度计划月度计划REL_SRCSETUP发布文档产品名称一体化平台版本号安装盘H产品盘或发布文档表示正式版本及特殊版本的目录按以下原则定义(1)正始版本以“V”开头,版本号放后,主版本号和次主版本号之间的“”去掉,明细版本号之前加“”。举例如下版本号目录名V10V10V11V11V101V101V112V1122.3文档的存放231当前版本和历史版本的存放对于源码文件,特别增加了一个CURRENT目录,存放当前正在开发与维护的源码文件,当前未发布版本的所有数据都存放在\CURRENT\下。一旦当前版本正式发行,则当前目录被修改为相应的历史目录。历史版本是指已经发行的版本,存放在相应的版本目录之下,一般不允许改动。232开发文档的存放根据各项目部自己的情况,将系统用户需求记录、总体设计文档、详细设计及数据结构文件、测试记录、用户手册等放入相应的目录下。233源代码的存放源代码包括如JAVA,JSP,BMP,ICO等相关文件,是未经编译处理的、不能直接交付使用的产品文件以及编译产品所需的文件;联机帮助文件HLP在未生成HLP文件之前的DOC,RTF等格式的文档也视为源代码。各子系统当前的程序源文件放入相应的目录下。对于一个子系统又分多个分子系统的情况,应在该目录下分别建立几个相应的目录。234SQL语句的存放各子系统SQL文件放入\\SQL下,对于不同的数据库,分别建立不同的子目录,如ORACLE、SYSBASE、DB2等。公共SQL文件直接放入\SQL下即可,不同数据库的特殊SQL分别放入对应的子目录下。235发行文档的存放发行文档是指产品交付用户使用所必须的文件。包括产品可执行文件,用户使用说明书,联机帮助(HLP);资源文件(BMP,ICO等),环境配置文件等。以上文档作为制作发行盘的素材,放在RELEASE的REL_SRC目录之下,制作好的发行盘放在RELEASE的SETUP目录。2.4权限控制管理为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。文档权限类别只读权限,读写权限。文档类别设计文档,源码,发行文档。用户类别开发人员、测试人员、分析设计人员、项目经理、配置管理员、安装盘制作人员、问题及需求管理人员、用户文档编写人员等。为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。为了便于管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单)。3.更新管理(版本升级)31版本升级原则版本升级应严格纳入版本管理的控制之下。应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。在下面几种情况下,进行版本演化和升级1、当产品发生重大修改和改进时,主版本号加1。重大修改和改进包括1)平台迁移;2)开发工具的迁移;3)体系结构的变迁。2、当产品发生较小的改进或修改时,次版本号可以加1。3、对于改动量比较少的,如修改产品的错误,可增加内部版本号。内部版本号对用户来说是不可见的,只对项目部内部版本控制有用。4、记录版本升级过程。每次版本升级,都要填写版本升级记录表,记录表样例如下版本升级记录表版本号发布日期修改文件问题简要描述发布责任人批准人备注说明版本号记录当前发布的版本。发布日期该版本批准发布的日期。修改文件版本修改记录文件,一般为版本修改日志。32新版本的发布新版本的发布包括主版本号和次版本号的