软件版本管理制度文档.doc
《软件版本管理制度文档.doc》由会员分享,可在线阅读,更多相关《软件版本管理制度文档.doc(13页珍藏版)》请在咨信网上搜索。
软件版本管理规范 系统软件开发部 2011-9-20 目录 1 引言 2 1.1 目的 2 1.2 范围 3 1.3 术语定义 3 1.4 版序控制记录 3 1.5 版本更新记录 4 2 版本管理 4 2.1 流程图 4 2.2 版本命名 5 2.3 版本升级 5 2.3.1 版本升级原则 5 2.3.2 新版本的发布 6 2.4 目录结构 6 2.5 文档的存放 7 2.5.1 文本文件的存放 7 2.5.2 源代码的存放 7 2.5.3 发行文档的存放 7 2.6 权限控制管理 8 3 备份管理 8 3.1 源文件备份 8 3.2 库文件备份 8 4 用户版本管理 9 5 版本工具的使用 9 5.1 配置管理工具 9 5.2 CVS的使用 10 5.2.1 常用命令 10 5.2.2 简单操作 10 5.2.3 版本分支管理 10 1 引言 1.1 目的 本文档是为规范XXXXXX有限公司软件版本管理而制定的。 1.2 范围 本文档为系统软件开发部版本管理员提供有关版本管理规范的相关内容,包括: l 版本标识方法 l 软件系统数据的存放 l 文档的修改控制 l 文档的备份制度 1.3 术语定义 CVS CVS是一个开源的版本控制系统Concurrent Versions System的简称 文档 一种数据媒体和其上所记录的数据。 配置管理 标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 软件配置 软件的具体形态在某时刻的瞬时影像。 配置项 软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。 基线 软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。 1.4 版序控制记录 版序状态 拟稿 审核 批准 发布日期 1.0 系统软件开发部 1.5 版本更新记录 *A - 增加 M - 修改 D - 删除 版本/修订版 修改页码 修改记录 修改人 日期 1.0 初始版本 2 版本管理 2.1 流程图 2.1.1 文档归档流程 文档编写人员 评审人员 配置管理员 编写文档 修改文档 不通过 文档评审 通过 确定版本 (归档入库) 打评审版本 格式规范化检查 2.1.2 文档变更流程 变更申请人 评审人员 文档编写人员 配置管理员 提交变更 取消变更 通过 不通过 不通过 变更影响分析及审批 文档评审 通过 变更实施 更新版本 (归档入库) 2.1.3 代码归档流程 开发人员 测试人员 配置管理员 源代码入库 从CVS库提取源代码 修改源代码 不通过 系统测试 通过 从CVS库提取源代码进行编译 更新版本 入库: 安装程序 源代码 测试报告 评审报告 打测试版本 制作安装程序 2.1.4 代码变更流程 变更申请人 评审人员 开发人员 测试人员 配置管理员 提交变更 取消变更 不通过 测试报告 评审 通过 变更影响分析及审批 通过 不通过 变更实施 代码测试 更新版本 (归档入库) 2.1.5 配置管理流程 开发人员 项目管理人员 测试人员 配置管理员 完成开发任务 处理BUG 提交发布请求 提交测试任务 回归测试 提交测试报告 测试执行 测试计划、用例 新版本发布入库 输出给市场部 发布文档更新 确定版本信息 制做安装程序 更新测试环境 流程说明: 1、开发人员完成所负责模块的代码编写任务后,提交到项目经理处 2、项目经理向测试部门提交测试任务 3、配置管理员准备测试所需的环境 4、测试人员开展测试并实时提交BUG 5、开发人员处理测试过程中所出现的BUG,并提交给测试人员进行回归测试,直至BUG被关闭 6、测试基本完成后,测试人员提交测试报告 7、项目情况根据实际情况决定是否发布新的版本 8、配置管理员与各相关人员经讨论后确定好新版本各项信息 9、配置管理员发布新版本 2.2 软件版本命名 软件版本号由四部分组成,第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:Alpha、Beta、RC、Release。例如:1.1.1.051021_Beta。对于小项目或子系统而言,可简化为<主版本号>.<次版本号>.<修订版本号>,如 1.0.0。 * 主版本号:当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。 * 子版本号:当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。 * 阶段版本号:一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的Bug即可发布一个修订版。此版本号由项目经理决定是否修改。 * 日期版本号用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。 * Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。 * Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。 * RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。 * Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。 2.3 版本升级 2.3.1 版本升级原则 版本升级应严格纳入版本管理的控制之下。应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。 在下面几种情况下,进行版本演化和升级: 1、当产品发生重大修改和改进时,主版本号加1。重大修改和改进包括: 1) 平台迁移; 2) 开发工具的迁移; 3) 体系结构的变迁。 2、当产品发生较小的改进或修改时,次版本号可以加1。 3、对于改动量比较少的,如修改产品的错误,可升级修订版本号。 4、记录版本升级过程。每次版本升级,都要填写版本升级记录表,记录表样例如下: 版本升级记录表 主版本 子系统名称 子系统版本 发布日期 功能变更描述 发布责任人 批准人 备注 说明: 版本号: 记录当前发布的版本。 发布日期:该版本批准发布的日期。 修改文件:版本修改记录文件,一般为版本修改日志。 2.3.2 新版本的发布 新版本的发布包括主版本号和次版本号的升级,一般不包括内部版本号的升级。流程如下: 1、 根据项目进展情况,或者根据用户需要进行发布准备。 2、 将发布所需文件进行打包,放在指定目录中,给目录加上标签Tag,标签中包含将要发布的版本信息。 3、 同样对源码文件也要加上与版本信息相关的标签Tag。 标签Tag命名规则如下: 组成:模块首字母+下划线+文件类型+下划线+主版本号+次版本号+内部版本号+时间(+下划线+合并标记) 样例:qzcj_src_1_0_0_110923,qzcj表示采集模块的首字母,src表示源码,1_0_0表示将要发布的版本号,合并标记可省略,只在有合并操作时注明,其中合并前的标记为mbe, 合并后的标记为maf。 2.4 目录结构 但为了能更好地管理各项目组的文档,建议可将被管理的配置项分为三大类:文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理,现将目录结构整理如下: 根目录 一级目录 二级目录 对应配置项 备注 resp 源码 code 前置采集 源码 后台计算 源码 业务应用 源码 数据库 SQL文件 业务支撑 公用开发包 文档 doc 需求文档 立项报告、需求分析、需求记录 设计文档 软件架构、总体设计、概要设计、详细设计、界面设计 数据库文档 数据字典、数据库搭建、备份还原方案、PDM设计 测试文档 测试计划、测试用例、测试报告 用户文档 用户手册、产品说明 计划文档 项目计划、年度月度计划 外部接口文档 标准规范 发布文件 SETUP release rar文件 发布文档 二级目录中的版本指一些特殊的版本,不影响基线版本。 2.5 文档的存放 2.5.1 文本文件的存放 根据各项目部自己的情况,将系统用户需求记录、总体设计文档、详细设计及数据结构文件、测试记录、用户手册等放入CVS仓库doc目录相应的子目录下。 2.5.2 源代码的存放 源代码包括如:java,jsp,BMP,ICO等相关文件,是未经编译处理的、不能直接交付使用的产品文件以及编译产品所需的文件;联机帮助文件HLP在未生成HLP文件之前的DOC,RTF等格式的文档也视为源代码。 各子系统当前的程序源文件放入CVS仓库code目录相应的bb 目录下,对于一个子系统又分多个分子系统的情况,应在该目录下分别建立几个相应的子目录。 2.5.3 发行文档的存放 发行文档是指产品交付用户使用所必须的文件。包括:产品可执行文件,用户使用说明书,联机帮助(HLP);资源文件(BMP,ICO等),环境配置文件等。 以上文档作为制作发行盘的素材,放在CVS仓库发布文件目录的Release目录之下,制作好的发行盘放在发布文件的Setup目录。 2.6 权限控制管理 为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。 文档权限类别:无任何权限,只读权限,所有权限。 文档类别:设计文档,源码,发行文档。 用户类别:开发人员、测试人员、项目经理、配置管理员等。 为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。 为了便于管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单),详见《系统部CVS权限配置》。 3 备份管理 为了保证文档的最大可恢复性,要随时及定期地进行备份工作。 3.1 源文件备份 开发人员每天都要将自已当日修改的源文件提交(commit)至CVS仓库。 3.2 库文件备份 为防止服务器出现异常,需对服务器上的CVS仓库文件进行备份,目前采用的方案如下: 工作日备份:每个工作日将原本位于D盘的仓库文件在H盘上备份一份,当D盘仓库出现异常时,用户可把ROOT目录修改至H盘备份的目录,再进行更新操作。 每周备份:每周五下班时将H盘备份文件异地备份至其它IP(目前备份在192.168.53.68上)。 每月备份:每个月底将最新版本备份至光盘。 4 用户版本管理 为了更好地管理源程序,应为每一用户建立一个用户版本文件,该文件应包含以下内容: 用户编号: 用户名称: 软件版本号: 开始使用时间: 联系人: 联系电话: 用户程序更改日志样例如下: 更改时间 版本号 修改模块名称 变更原因 变更概述 软件位置 变更人员 备注 说明: 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 常用命令 英文命令 中文命令 操作、说明 备注 Checkout 提取/取出 将文件下载到本地目录 第一次下载目录用 Commit 提交 将改动过的文件提交到版本库 每次对文件更新后使用 Update 更新 将文件同步到最新版本 获取最新版本 Tag 标签 给某个版本添加一个标记符号 便于合并分支与主线 Branch 分支 创建某个文件的分支 建立特殊版本时用到 Merge 合并 将分支文件(或主文件)的更改合并到主文件(或分支文件) diff 比较不同 比较任意两个版本间的不同 Reversion Graph 版本分支图 查看文件各版本(包括分支文件)的走向图 查询各个版本及Tag History 历史 查看文件各个版本更新历史 查询版本详细信息 5.2.2 简单操作 文件提取:初次使用需将源文件从仓库提取出来,执行checkout命令将库文件提取至本地相应位置。 定时更新:开发人员每天早上对源代码或文件进行更新操作(右键执行update操作)。 实时更新:某一开发人员提交更改后,可通知其它人员进行更新操作。 实时提交:对某一文件进行更改完成后,执行commit命令将更改提交至仓库,更改前先进行更新操作,如多个人员对同一文件同时进行操作,会产生冲突,这时需要对冲突进行处理。 冲突处理:提交产生冲突时,先对文件进行同步(即更新)操作,之后会产生一个合并文件,‘<’号前为两个版本相同部分,‘=’号前为本地版本修改的内容,‘>’前为当前服务器最新版本修改的内容,找到最近提交该文件的同事,进行协商后对源文件进行修改并提交。 创建分支/标签:右键菜单中选择‘Branch’或‘Tag’找开创建对话框,输入Branch名或Tag名,选中‘Create new branch’/‘Create new tag’,点击OK即可。 查看版本/历史:文件(非文件夹)右健菜单中选择‘Revision Graph..’或‘History..’,可查看该文件的版本更新记录或历史信息。 5.2.3 版本分支管理 我们把一个项目的主要开发过程称作开发基线。当某一个特殊事件发生的时候,例如,有一个用户有特殊的需求,于是就从这个开发基线里分离出来一个叉,以满足用户特殊的需求,这个叉有它自己的发展方向,这就是分支。 ---------分支 / / / ------●----------------------------开发基线 上面这个点,代表开发基线的最新版本,如果从开发基线建立分支来进行定制开发,开发基线和分支就可以有各自的发展方向。如果有需要,分支的代码可以重新合并到开发基线中,开发基线的代码也可以合并到分支代码中。 假设在我们的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命令,把刚才建立的分支提取出来(注意不要在原来目录下提取,那样会覆盖原有文件夹)。接下来就可以在分支目录和基线目录下分别开发了。 4、合并:以把分支中的更改合并到基线中为例,在基线中右健单击目录,选择‘Merge’命令,指定需要合并的分支的起点(这里HEAD代表了主干的末梢)和结束点,点击‘OK’即可。合并后需执行‘Update’命令,才能生成新的版本号。(在合并前和合并后分别创建一个标签,这样有利于合并后恢复操作) 从以上过程我们可以看到,当进行代码合并的时候,一定要注意沟通,合理的设置合并点,合并点的名字也应该望文生义。各个线上的合并工作也最好由一个人来做。如果合并点设置不当,对整个项目的管理可能会很麻烦。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 版本 管理制度 文档
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文