《软件版本管理制度33190138808.docx》由会员分享,可在线阅读,更多相关《软件版本管理制度33190138808.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件版本管管理规范系统软件开开发部2011-9-200目录1引言21.1目目的21.2范范围31.3术术语定义31.4版版序控制记记录31.5版版本更新记记录42版本管管理42.1流流程图42.2版版本命名52.3版版本升级52.3.11版本升级级原则52.3.22新版本的的发布62.4目目录结构62.5文文档的存放放72.5.11文本文件件的存放72.5.22源代码的的存放72.5.33发行文档档的存放72.6权权限控制管管理83备份管管理83.1源源文件备份份83.2库库文件备份份84用户版版本管理95版本工工具的使用用95.1配配置管理工工具95.2CCVS的使使用105.2.11常用命
2、令令105.2.22简单操作作105.2.33版本分支支管理101 引言1.1 目的本文档是为为规范XXXXXXXX有限公司软件版本管管理而制定定的。1.2 范围本文档为系系统软件开开发部版本本管理员提提供有关版版本管理规规范的相关关内容,包包括:l 版本标识方方法l 软件系统数数据的存放放l 文档的修改改控制l 文档的备份份制度1.3 术语定义CVSCVS是一一个开源的的版本控制制系统Cooncurrrentt Verrsionns Syystemm的简称文档一种数据媒媒体和其上上所记录的的数据。配置管理标识和确定定系统中配配置项的过过程,在系系统整个生生存周期内内控制这些些项的投放放和更动
3、,记记录并报告告配置的状状态和更动动要求,验验证配置项项的完整性性和正确性性。软件配置软件的具体体形态在某某时刻的瞬瞬时影像。配置项 软件配配置管理的的对象称为为配置项,如如:系统规规格说明书书,项目开开发计划,用用户手册,源源码。基线 软件生生存周期中中各开发阶阶段末尾的的标记,它它的作用是是把各阶段段工作的划划分更加明明确化,使使本来连续续的工作在在这些点上上断开,使使之便于检检验和肯定定阶段成果果。1.4 版序控制记记录版序状态拟稿审核批准发布日期1.0系统软件开开发部1.5 版本更新记记录*A - 增加 M - 修改改 D - 删除除版本/修订订版修改页码修改记录修改人日期1.0初始版
4、本2 版本管理2.1 流程图2.1.1 文档归档流流程文档编写人人员评审人员配置管理员员编写文档修改文档不通过文档评审通过 确定版本(归档入库) 打评审版本格式规范化检查2.1.2 文档变更流流程变更申请人人评审人员文档编写人人员配置管理员员提交变更取消变更通过不通过不通过变更影响分析及审批文档评审通过变更实施更新版本(归档入库)2.1.3 代码归档流流程开发人员测试人员配置管理员员源代码入库从CVS库提取源代码修改源代码不通过系统测试通过从CVS库提取源代码进行编译更新版本入库:安装程序源代码测试报告评审报告打测试版本制作安装程序2.1.4 代码变更流流程变更申请人人评审人员开发人员测试人员
5、配置管理员员提交变更取消变更不通过测试报告评审通过变更影响分析及审批通过不通过变更实施代码测试更新版本(归档入库)2.1.5 配置管理流流程开发人员项目管理人人员测试人员配置管理员员完成开发任务处理BUG提交发布请求提交测试任务回归测试提交测试报告测试执行测试计划、用例新版本发布入库输出给市场部发布文档更新确定版本信息制做安装程序更新测试环境流程说明:1、开发人人员完成所所负责模块块的代码编编写任务后后,提交到到项目经理理处2、项目经经理向测试试部门提交交测试任务务3、配置管管理员准备备测试所需需的环境4、测试人人员开展测测试并实时时提交BUUG5、开发人人员处理测测试过程中中所出现的的BUG
6、,并并提交给测测试人员进进行回归测测试,直至至BUG被被关闭6、测试基基本完成后后,测试人人员提交测测试报告7、项目情情况根据实实际情况决决定是否发发布新的版版本8、配置管管理员与各各相关人员员经讨论后后确定好新新版本各项项信息9、配置管管理员发布布新版本2.2 软件版本命命名软件版本号号由四部分分组成,第第一个1为为主版本号号,第二个个1为子版版本号,第第三个1为为阶段版本本号,第四四部分为日日期版本号号加希腊字字母版本号号,希腊字字母版本号号共有5种种,分别为为:Alphaa、Beta、RRC、Releaase。例例如:1.1.1.0510021_BBeta。对对于小项目目或子系统统而言,
7、可可简化为.,如 11.0.00。* 主版本本号:当功功能模块有有较大的变变动,比如如增加多个个模块或者者整体架构构发生变化化。此版本本号由项目目决定是否否修改。* 子版本本号:当功功能有一定定的增加或或变化,比比如增加了了对权限控控制、增加加自定义视视图等功能能。此版本本号由项目目决定是否否修改。* 阶段版版本号:一一般是 BBug 修修复或是一一些小的变变动,要经经常发布修修订版,时时间间隔不不限,修复复一个严重重的Bug即可可发布一个个修订版。此此版本号由由项目经理理决定是否否修改。* 日期版版本号用于于记录修改改项目的当当前日期,每每天对项目目的修改都都需要更改改日期版本本号。此版版本
8、号由开开发人员决决定是否修修改。* Alppha版: 此版本本表示该软软件在此阶阶段主要是是以实现软软件功能为为主,通常常只在软件件开发者内内部交流,一一般而言,该该版本软件件的Bugg较多,需需要继续修修改。* Betta版: 该版本相相对于版版已有了很很大的改进进,消除了了严重的错错误,但还还是存在着着一些缺陷陷,需要经经过多次测测试来进一一步消除,此此版本主要要的修改对对像是软件件的UI。* RC版版: 该版版本已经相相当成熟了了,基本上上不存在导导致错误的的BUG,与与即将发行行的正式版版相差无几几。* Relleasee版: 该该版本意味味“最终版版本”,在在前面版本本的一系列列测试
9、版之之后,终归归会有一个个正式版本本,是最终终交付用户户使用的一一个版本。该该版本有时时也称为标标准版。一一般情况下下,Relleasee不会以单单词形式出出现在软件件封面上,取取而代之的的是符号(R)。2.3 版本升级2.3.1 版本升级原原则版本升级应应严格纳入入版本管理理的控制之之下。应当当谨慎地控控制版本的的升级,保保障高版本本的向下兼兼容性,或或提供严格格定义的升升级方法。在下面几种种情况下,进进行版本演演化和升级级:1、当产品品发生重大大修改和改改进时,主主版本号加加1。重大大修改和改改进包括:1) 平台迁移;2) 开发工具的的迁移;3) 体系结构的的变迁。2、当产品品发生较小小的
10、改进或或修改时,次次版本号可可以加1。3、对于改改动量比较较少的,如如修改产品品的错误,可可升级修订订版本号。4、记录版版本升级过过程。每次次版本升级级,都要填填写版本升升级记录表表,记录表表样例如下下:版本升级记记录表主版本子系统名称称子系统版本本发布日期功能变更描描述发布责任人人批准人备注说明:版本号: 记录当当前发布的的版本。发布日期:该版本批批准发布的的日期。修改文件:版本修改改记录文件件,一般为为版本修改改日志。2.3.2 新版本的发发布新版本的发发布包括主主版本号和和次版本号号的升级,一一般不包括括内部版本本号的升级级。流程如如下:1、 根据项目进进展情况,或或者根据用用户需要进进
11、行发布准准备。2、 将发布所需需文件进行行打包,放放在指定目目录中,给给目录加上上标签Taag,标签签中包含将将要发布的的版本信息息。3、 同样对源码码文件也要要加上与版版本信息相相关的标签签Tag。标签Tagg命名规则则如下:组成:模块块首字母+下划线+文件类型型+下划线线+主版本本号+次版版本号+内内部版本号号+时间(+下划线+合并标记记)样例:qzzcj_ssrc_11_0_00_1100923,qqzcj表表示采集模模块的首字字母,srrc表示源源码,1_0_0表表示将要发发布的版本本号,合并并标记可省省略,只在在有合并操操作时注明明,其中合合并前的标标记为mbbe, 合合并后的标标记
12、为maaf。2.4 目录结构但为了能更更好地管理理各项目组组的文档,建建议可将被被管理的配配置项分为为三大类:文档类、源源码类及安安装盘类,这这样存放比比较清晰,有有利于版本本管理,现现将目录结结构整理如如下:根目录一级目录二级目录对应配置项项备注resp源码code前置采集源码后台计算源码业务应用源码数据库SQL文件件业务支撑公用开发包包文档doc需求文档立项报告、需需求分析、需需求记录设计文档软件架构、总总体设计、概概要设计、详详细设计、界界面设计数据库文档档数据字典、数数据库搭建建、备份还还原方案、PPDM设计计测试文档测试计划、测测试用例、测测试报告用户文档用户手册、产产品说明计划文档
13、项目计划、年年度月度计计划外部接口文文档标准规范发布文件SETUPPreleaaserar文件件发布文档二级目录中中的版本指指一些特殊殊的版本,不不影响基线线版本。2.5 文档的存放放2.5.1 文本文件的的存放根据各项目目部自己的的情况,将将系统用户户需求记录录、总体设设计文档、详详细设计及及数据结构构文件、测测试记录、用用户手册等等放入CVVS仓库ddoc目录录相应的子目录下。2.5.2 源代码的存存放源代码包括括如:jaava,jsp,BBMP,IICO等相相关文件,是是未经编译译处理的、不不能直接交交付使用的的产品文件件以及编译译产品所需需的文件;联机帮助助文件HLLP在未生生成HLP
14、P文件之前前的DOCC,RTFF等格式的的文档也视视为源代码码。各子系统当当前的程序序源文件放放入CVSS仓库coode目录录相应的bbb 目录下下,对于一个个子系统又又分多个分分子系统的的情况,应应在该目录录下分别建建立几个相相应的子目录。2.5.3 发行文档的的存放发行文档是是指产品交交付用户使使用所必须须的文件。包包括:产品品可执行文文件,用户户使用说明明书,联机机帮助(HHLP);资源文件件(BMPP,ICOO等),环环境配置文文件等。以上文档作作为制作发发行盘的素素材,放在在CVS仓仓库发布文文件目录的的Releease目目录之下,制制作好的发发行盘放在在发布文件件的Setupp目录
15、。2.6 权限控制管管理为保障文档档的安全性性,一致性性,以及防防止意外修修改,必须须对不同的的文档设置置不同的访访问权限。文档权限类类别:无任任何权限,只读权限,所有权限。文档类别:设计文档档,源码,发发行文档。用户类别:开发人员员、测试人人员、项目目经理、配配置管理员员等。为了控制不不同的使用用权限,根根据要求在在服务器上上分别建立立不同的用用户,针对对不同的配配置项所在在目录分配配不同的权权限。为了便于管管理,应以以表格的形形式列出人人员与管理理对象的访访问关系(用用户权限清清单),详详见系统统部CVSS权限配置置。3 备份管理为了保证文文档的最大大可恢复性性,要随时时及定期地地进行备份
16、份工作。3.1 源文件备份份开发人员每每天都要将将自已当日日修改的源源文件提交交(commmit)至至CVS仓仓库。3.2 库文件备份份为防止服务务器出现异异常,需对对服务器上上的CVSS仓库文件件进行备份份,目前采采用的方案案如下:工作日备份份:每个工工作日将原原本位于DD盘的仓库库文件在HH盘上备份份一份,当当D盘仓库库出现异常常时,用户户可把ROOOT目录录修改至HH盘备份的的目录,再再进行更新新操作。每周备份:每周五下下班时将HH盘备份文文件异地备备份至其它它IP(目目前备份在在192.168.53.668上)。每月备份:每个月底底将最新版版本备份至至光盘。4 用户版本管管理为了更好地
17、地管理源程程序,应为为每一用户户建立一个个用户版本本文件,该该文件应包包含以下内内容:用户编号:用户名称:软件版本号号:开始使用时时间:联系人:联系电话:用户程序更更改日志样样例如下:更改时间版本号修改模块名名称变更原因变更概述软件位置变更人员备注说明:1) 用户购买软软件时要为为该用户建建立一个包包含上述内内容的一个个用户版本本文件,并并填写有关关数据。2) 用户进行版版本更新时时要求填写写该文件的的版本变更更记录,用用以反映用用户版本的的变更情况况。5 版本工具的的使用5.1 配置管理工工具开发部采用用CVS进进行配置管管理,CVVS是一个个C/S系系统,多个个开发人员员通过一个个中心版本
18、本控制系统统来记录文文件版本,从从而达到保保证文件同同步的目的的。目前采用的的CVS服服务端为ccvsntt-2.55.03.22600,客户端端为TorrtoisseCVSS-1.88.29。5.2 CVS的使使用5.2.1 常用命令英文命令中文命令操作、说明明备注Checkkout提取/取出出将文件下载载到本地目目录第一次下载载目录用Commiit提交将改动过的的文件提交交到版本库库每次对文件件更新后使使用Updatte更新将文件同步步到最新版版本获取最新版版本Tag标签给某个版本本添加一个个标记符号号便于合并分分支与主线线Brancch分支创建某个文文件的分支支建立特殊版版本时用到到Me
19、rgee合并将分支文件件(或主文文件)的更更改合并到到主文件(或或分支文件件)diff比较不同比较任意两两个版本间间的不同ReverrsionnGraphh版本分支图图查看文件各各版本(包包括分支文文件)的走走向图查询各个版版本及TaagHistoory历史查看文件各各个版本更更新历史查询版本详详细信息5.2.2 简单操作文件提取:初次使用用需将源文文件从仓库库提取出来来,执行ccheckkout命命令将库文文件提取至至本地相应应位置。定时更新:开发人员员每天早上上对源代码码或文件进进行更新操操作(右键键执行uppdatee操作)。实时更新:某一开发发人员提交交更改后,可可通知其它它人员进行行
20、更新操作作。实时提交:对某一文文件进行更更改完成后后,执行ccommiit命令将将更改提交交至仓库,更更改前先进进行更新操操作,如多多个人员对对同一文件件同时进行行操作,会会产生冲突突,这时需需要对冲突突进行处理理。冲突处理:提交产生生冲突时,先先对文件进进行同步(即即更新)操操作,之后后会产生一一个合并文文件,前为当前服务器最新版本修改的内容,找到最近提交该文件的同事,进行协商后对源文件进行修改并提交。创建分支/标签:右右键菜单中中选择Brannch或Tag找开创建建对话框,输输入Braanch名名或Tagg名,选中中Creaate nnew bbrancch/Creaate nnew tt
21、ag,点击OOK即可。查看版本/历史:文文件(非文文件夹)右右健菜单中中选择Reviisionn Graaph.或Histtory.,可查看看该文件的的版本更新新记录或历历史信息。5.2.3 版本分支管管理我们把一个个项目的主主要开发过过程称作开开发基线。当某某一个特殊殊事件发生生的时候,例例如,有一一个用户有有特殊的需需求,于是是就从这个个开发基线线里分离出出来一个叉叉,以满足足用户特殊殊的需求,这个叉有它自己的发展方向,这就是分支。-分支/-开发发基线上面这个点点,代表开开发基线的最新新版本,如如果从开发发基线建立分分支来进行行定制开发发,开发基线和分支支就可以有有各自的发展方方向。如果果
22、有需要,分分支的代码码可以重新新合并到开开发基线中,开发基线的代码码也可以合合并到分支支代码中。假设在我们们的homme目录下下的prooj目录就就是我们的的工程。下下面具体看看一下,如如何建立分分支:1、当我们们要在基线线某个版本本建立分支支时,先在在基线该版本本上创建一一个标签(TTag),就就是上图中中的黑点。这这样做是便便于以后主主干可以重新回回到分支创创建时的状状态。2、创建分分支:右健健单击该目目录,选择择Brannch,指定分分支名,点点击OK即可。新建建分支的版版本号呈偶偶数序列递递增,如在在基线版本11.5上创创建两个分分支,则分分支版本分分别为1.5.2.1和1.5.4.1
23、,分支支的后续版版本分别为为1.5.2.2和和1.5.4.2。3、在另外外的目录下下执行chheckoout命令令,把刚才才建立的分分支提取出出来(注意意不要在原原来目录下下提取,那那样会覆盖盖原有文件件夹)。接下来就就可以在分分支目录和和基线目录下下分别开发发了。4、合并:以把分支支中的更改改合并到基基线中为例,在在基线中右健健单击目录录,选择Mergge命令,指指定需要合合并的分支支的起点(这里HEEAD代表表了主干的的末梢)和结束点点,点击OK即可。合合并后需执执行Updaate命令,才才能生成新新的版本号号。(在合合并前和合合并后分别别创建一个个标签,这这样有利于于合并后恢复操作作)从以上过程程我们可以以看到,当当进行代码码合并的时时候,一定定要注意沟沟通,合理理的设置合合并点,合合并点的名名字也应该该望文生义义。各个线线上的合并并工作也最最好由一个个人来做。如如果合并点点设置不当当,对整个项目目的管理可能能会很麻烦烦。