2022年2022年软件版本管理规范_第1页
2022年2022年软件版本管理规范_第2页
2022年2022年软件版本管理规范_第3页
2022年2022年软件版本管理规范_第4页
2022年2022年软件版本管理规范_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选学习资料 - - - 欢迎下载精品学习资料软件版本治理规范第一章目的本规范具体规定软件项目版本治理的对象.储备目录.分支.权限.保护等内容,使 软件项目版本治理流程化并规范化,确保在系统开发和实施过程中项目的完整性和一样性;1.其次章适用范畴全部系统开发及实施项目的软件项目都应进行版本治理;项目中全部正式文档和代码都应纳入配置库(可使用工具建立配置库,本文所述使用的为svn )进行版本治理;2.第三章职责配置库治理员:负责配置库的日常保护和治理;监督开发及测试部门准时提交版本治理对象(即配置项);此岗位可由开发或测试人员兼任;3.第四章内容4.1. 版本治理对象包括但不限于:项目总体方案可

2、行性讨论报告开发方案需求说明书精选学习资料 - - - 欢迎下载精品学习资料需求设计原型设计说明书系统开发变更申请单系统治理手册用户操作手册培训方案培训记录源程序支持系统运行的配置文件储备过程脚本测试方案测试用例测试脚本测试报告上线方案上线申请版本保护日志4.2. 配置库的目录结构每个项目在配置库中应拥有唯独的项目名称;配置库目录结构与项目内部的目录结构建议按以下格式创建;精选学习资料 - - - 欢迎下载精品学习资料配置库目录结构规划:tags 发布v1.0.0_t1_2021909v1.0.0.33899_t1_20211009 v1.0.0_r1_20211109 v1.1.0_t1_2

3、0210109 v1.1.0_r1_20210209trunk 主版本 projectasrcmy_moocdoctool ;branches分支sy_abctj_abcwh_mooc其中,项目内部的目录结构:| projecta精选学习资料 - - - 欢迎下载精品学习资料| src (储存该项目的源程序)| doc(储存项目相关文档)| 000. 项目治理(储存项目过程治理相关文档)| 010. 项目方案(储存项目方案相关文档)| 020. 项目需求(储存项目需求相关文档)| 030. 系统设计(储存项目设计相关文档)| 030. 系统测试(储存项目代码测试相关文档)| 040. 系统实施

4、(储存项目部署实施相关文档)| 050. 系统运维(储存项目运维文档,包括培训.用户手册等)| 060. 技术资料(储存项目技术文档,包括第三方技术资料等)|; (储存项目过程治理相关文档)| tool(包括该项目特定的开发.编译.测试等工具)4.3. 分支branch建议使用分支来协同不同职能小组对同一个配置库的使用,可根据以下方式进行分支的治理;解决方案建立三个分支,包括主版本开发trunk .分支版本开发 branches 和发布tags ;主版本开发为全部分支版本的基准版本,主版本的开发分支;开发部门开发使用;分版本开发精选学习资料 - - - 欢迎下载精品学习资料主版本的分支版本,供

5、开发部门开发使用;开发工程师假如以主版本为基准,进行软件项目开发,要先将trunk 目录下的代码分支到branches 目录的一个子目录,在那里对代码进行开发;多个主版本的分版本可通过在branches顶级目录创建多个分支目录来区分;发布测试和发布专用分支,该分支代码不答应任何形式的修改;每个经过测试后的不同版本的代码做快照放到此分支文件夹下;4.4. 权限治理应对配置库的拜访权限进行治理,确保软件系统的完整性和安全性;建议按如下方式进行治理;4.4.1. 开发工程师仅拥有自己所属项目的add file .delete file.check out.check in权限,无目录创建和删除权限;

6、开发工程师如想创建目录,需向配置库治理员申请;4.4.2. 测试工程师拥有每个项目的测试分支的add file .delete file.check out.check in权限,无目录创建和删除权限,对于其他分支只有只读权限;4.4.3. 配置库治理员拥有全部权限,但增删项目和增删目录需要有项目负责人批准;4.4.4. 其他人员如需要配置库拜访权限,需经技术总监或经技术总监授权的项目经理批准,由配置库精选学习资料 - - - 欢迎下载精品学习资料治理员安排权限;4.5. 版本治理应对软件系统的版本进行治理,确保版本的精确性和可追溯性;建议按如下方式进行治理;4.5.1. 版本保护软件工程各阶

7、段产生的各种文档和代码,应准时并统一上载到配置库由配置库治理员统一治理;对于要修改的配置项,应从配置库中检出(check out )后修改,修改完毕后准时检入( check in ),并填写修改的缘由和内容;配置项的历史版本应储存在配置库中;4.5.2. 分支迁移从开发分支到测试分支的迁移,由开发工程师操作;迁移的时机有:1. 当开发负责人提交测试申请时;2. 开发过程中进行测试,修改好一个或多个bug ,需要测试工程师验证时;从测试分支到发布分支的迁移,由配置库治理员操作;迁移的时机有:1.当开发组提交上线申请时;对于每个项目从测试分支到发布分支的迁移,配置库治理员要建立分支迁移日志,并具体

8、记录;4.5.3. 版本升级软件系统迁移到发布分支后,生成新的版本;每个系统新的版本不仅以分支形式存在于配置库中,并且要以独立压缩包形式备份;精选学习资料 - - - 欢迎下载精品学习资料版本的命名规章为, version n1.n2.n3.n4_t/r5_yyyymmdd1. n1 为系统编号;当项目整体重新设计时,n1 加 1,基数为 12. n2 为模块编号;当模块重新设计时,n2 加 1,基数为 03. n3 为功能编号;当项目增加某一功能,或某一功能需要修改时,n3 加 1,基数为04. n4 为 bug 编号;当项目的 bug 被修复时, n4 加 1,基数为 05. t/r5 中

9、的 t/r 分别对应 test/release ;当项目发布时为r,当项目提交测试时为t,t/r5 数值基数为 0,以发布 / 测试提交次序递增加1 ;6. yyyymmdd代表生成版本的实际年月日,如:202102024.5.4. 版本基线定义公司首次采纳版本治理规范时,可以实行以下方法定义一个基线版本;猎取各项目最新的源程序.配置文件和文档,形成发布分支.测试分支和开发分支;对每个项目的提测和发布分支都生成一个版本基线,如:version1.0.0_r1_20210202;4.6. 第五章版本提交准就4.6.1. 提交之前先更新更新的原就为要随时更新,随时提交;当完成了一个小功能,能够通过

10、编译并且自己测试之后,谨慎地提交;假如在修改的期间其他同事也更换了同一个文件,那么update更新时会自动进行合并,假如修改的为同一行或者二者修改差异过大,那么合并时会产生冲突;这种情形精选学习资料 - - - 欢迎下载精品学习资料就需要同之前的开发人员联系,两人一起协商解决合并冲突;解决合并冲突之后,仍需要两人一起测试,以保证解决冲突之后,各自的程序不会受到影响;在更新时留意所更新文件的列表,假如提交过程中产生了更新,就需要重新编译并且再次完成单元测试,再进行提交;这样既能明白别人修改了哪些文件,同时也能防止合并错误导致代码有错;4.6.2. 保持原子提交为确保在需要时可以随时回溯代码版本,

11、每次提交的代码只能包含实现一个独立.完整功能所必需的代码,不能夹带提交其他与此功能不相关的代码;为尽早提交,也可以将此独立.完整功能分解为如干小细节功能,分别开发并提交所必需的代码,但必需确保多次提交的功能代码组合在一起,完全实现此独立.完整功能;仅提交自己修改的部分,最好不要一下子将整个项目提交;每完成一个独立.完整的功能后,最好尽早提交,以免后续更换时显现bug ,无法复原到正常代码;每次提交的间歇尽可能地短,以几个小时的开发工作为宜;我们提倡多提交,也就能多为代码添加上保险;为做到尽早提交,在开发功能模块的时候,先将功能分解成一个个独立的.不行再分割的小细节功能,分别完成;每完成一个并通

12、过单元测试,就提交一次;在修改bug 的时候,每修改掉一个bug 并且确认修改了这个bug ,也就提交一次;4.6.3. 不要提交本地自动生成的文件一般配置治理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件精选学习资料 - - - 欢迎下载精品学习资料屏蔽提交(例如 eclipse 中的.classpath 文件等, visual studio中的.suo 文件,debug、release、obj等编译文件夹及其下文件, 以及其他的一些自动生成, 同编译代码无关的文件);假如项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件,假如不当心签入了,需要从配置

13、库中删除,以免其他同事在更新后就可能与本地的环境冲突从而影响大家的工作;4.6.4. 不要提交不能通过编译的代码代码在提交之前,第一要确认自己能够在本地编译通过,并且代码在提交前已经通过自己的单元测试;假如在代码中使用了第三方类库,要把相应类库文件统一储备在代码相应目录中并提交,以免项目组成员中有些成员可能没有安装相应的第三方类库,从而在更新代码后引起代码运行错误;4.6.5. 不要提交自己不明白的代码代码在提交之后即被项目成员所共享;假如提交了不明白的代码,自己看不懂,别人也看不懂,假如在以后显现了问题将会成为项目质量的隐患;因此在引入任何第三方代码之前,确保对这个代码有一个很清楚的明白(必

14、要时应有对应文档说明);4.6.6. 并行开发(同一模块)前沟通假如开发小组采纳并行开发模式开发同一模块功能,在开发前,需要对协作开发进行合理的工作方案与任务安排,让小组成员相互间明白对方的工作方案与工作内容;这样能尽可能的削减在开发过程中可能显现的冲突,提高开发效率;同时也能够在和成员的沟通中发觉自己之前设计的不足,完善自己的设计;精选学习资料 - - - 欢迎下载精品学习资料4.6.7. 对提交更新的信息采纳明晰的标注假如提交空的标注或者不准确的标注将会让项目组中其他的成员不明白此次签入动作的背景情形(如新增 /修改签入的缘由为什么?新增/修改什么内容?),项目经理无法通过提交的标注信息,

15、清楚的把握开发工作进度细节进度;没有清楚标注,甚至会对回溯代码版本造成影响;所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息, 让项目组其他成员在看到标注后不用具体看代码就能明白你所做的修改;统一的标注格式为:签入动作 +” +”#” +标识 id+ ”;”+ 签入内容 + “;”+ 签入缘由 签入动作:+ :表示增加了功能(新增功能)*:表示对某些功能进行了更换(修改功能)- :表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽(删除功能) :表示修正 bug (修复功能缺陷)!:优化功能代码的执行性能(代码性能优化)标识 id:id 值为从项目开发方案中的wbs 任务分解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论