




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件版本管理规范1. 第一章目的本规范详细规定软件项目版本管理的对象、存储目录、分支、权限、维护 等内容,使软件项目版本管理流程化并规范化, 确保在系统开发和实施过 程中项目的完整性和一致性。2. 第二章适用范围所有系统开发及实施项目的软件项目都应进行版本管理。 项目中所有正式 文档和代码都应纳入配置库(可使用工具建立配置库,本文所述使用的是 SVN)进行版本管理。3. 第三章职责配置库管理员:负责配置库的日常维护和管理;监督开发及测试部门及时 提交版本管理对象(即配置项)。此岗位可由开发或测试人员兼任。4. 第四章内容4.1. 版本管理对象包括但不限于:项目总体计划可行性研究报告开发计划需求
2、说明书需求设计原型设计说明书 系统开发变更申请单系统管理手册用户操作手册培训计划培训记录源程序支持系统运行的配置文件存储过程脚本测试计划测试用例测试脚本测试报告上线计划上线申请版本维护日志42配置库的目录结构每个项目在配置库中应拥有唯一的项目名称。配置库目录结构与项目内部的目录结构建议按下列格式创建。配置库目录结构规划:卜tags(发布)| 卜 v1.0.0_T1_2016909I 卜 v1.0.0.33899_T1_20161009| 卜 v1.0.0_R1_20161109| 卜 v1.1.0_T1_20170109I 71.1.0_R1_20170209卜tru nk(主版本)I L p
3、rojectAI 卜 src| 卜 MY_MOOCI 卜 docI 卜 tool| | 0 0 0L bran ches(分支)| SY_ABC| TJ_ABC| WH_MOOC其中,项目内部的目录结构:| - projectA| - src (保存该项目的源程序)|- doc (保存项目相关文档)|- 000.项目管理 (保存项目过程管理相关文档)1-010.项目计划 (保存项目计划相关文档)| - 020.项目需求(保存项目需求相关文档)-030.系统设计(保存项目设计相关文档)-030.系统测试(保存项目代码测试相关文档)-040.系统实施(保存项目部署实施相关文档)-050.系统运维(
4、保存项目运维文档,包括培训、用户手册等)-060.技术资料(保存项目技术文档,包括第三方技术资料等)|-。(保存项目过程管理相关文档)|-tool (包括该项目特定的开发、编译、测试等工具)43 分支(bra nch)建议使用分支来协同不同职能小组对同一个配置库的使用,可按照以下方式进行分支的管理。解决方案建立三个分支,包括主版本开发(trunk)、分支版本开发(branches)和发 布(tags)。主版本开发是所有分支版本的基准版本,主版本的开发分支。开发部门开发使用。分版本开发主版本的分支版本,供开发部门开发使用。开发工程师如果以主版本为基准, 进 行软件项目开发,要先将trunk目录下
5、的代码分支到branches目录的一个子目 录,在那里对代码进行开发。多个主版本的分版本可通过在branches顶级目录创建多个分支目录来区分。发布测试和发布专用分支,该分支代码不允许任何形式的修改。 每个经过测试后的不 同版本的代码做快照放到此分支文件夹下44权限管理应对配置库的访问权限进行管理,确保软件系统的完整性和安全性。建议按如下 方式进行管理。4.4.1. 开发工程师仅拥有自己所属项目的 add file、delete file、check out、check in权限,无目录创建和删除权限。开发工程师若想创建目录,需向配置库管理员申请。4.4.2. 测试工程师拥有每个项目的测试分支
6、的 add file、delete file、check out、check in权限,无 目录创建和删除权限,对于其他分支只有只读权限。4.4.3. 配置库管理员拥有全部权限,但增删项目和增删目录需要有项目负责人批准。4.4.4. 其他人员若需要配置库访问权限,需经技术总监或经技术总监授权的项目经理批准,由配置库管理员分配权限。4.5. 版本管理应对软件系统的版本进行管理,确保版本的准确性和可追溯性。建议按如下方式 进行管理。4.5.1. 版本维护软件工程各阶段产生的各种文档和代码,应及时并统一上载到配置库由配置库管 理员统一管理。对于要修改的配置项,应从配置库中检出(check out)后
7、修改, 修改完毕后及时检入(check in),并填写修改的原因和内容。配置项的历史版本应保存在配置库中4.52分支迁移从开发分支到测试分支的迁移,由开发工程师操作。迁移的时机有:1. 当开发负责人提交测试申请时;2. 开发过程中进行测试,修改好一个或多个bug,需要测试工程师验证时。从测试分支到发布分支的迁移,由配置库管理员操作。迁移的时机有:1. 当开发组提交上线申请时。对于每个项目从测试分支到发布分支的迁移,配置库管理员要建立分支迁移日志,并详细记录。4.5.3.版本升级软件系统迁移到发布分支后,生成新的版本。每个系统新的版本不仅以分支形式存在于配置库中,并且要以独立压缩包形式备 份。版
8、本的命名规则为,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中的T/R分别对应Test/Release。当项目发布时为R,当项目提交测试时 为T,T/R5数值基数为0,以发布/测试提交顺序递增加1。6. YYYYMMDD代表生成版本的实际年月曰,如:201602024.5.4. 版本基线定义
9、公司首次采用版本管理规范时,可以采取下列方法定义一个基线版本。获取各项目最新的源程序、配置文件和文档,形成发布分支、测试分支和开发分 支。对每个项目的提测和发布分支都生成一个版本基线,如:Versio n1.0.0_R1_201602024.6. 第五章版本提交准则4.6.1. 提交之前先更新更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且 自己测试之后,谨慎地提交。如果在修改的期间其他同事也更改了同一个文件,那么update更新时会自动进行合并,如果修改的是同一行或者二者修改差异过大,那么合并时会产生冲突。这种情况就需要同之前的开发人员联系,两人一起协商解决合并冲突。解
10、决合并 冲突之后,还需要两人一起测试,以保证解决冲突之后,各自的程序不会受到影 响。在更新时注意所更新文件的列表,如果提交过程中产生了更新,则需要重新编译 并且再次完成单元测试,再进行提交。这样既能了解别人修改了哪些文件, 同时 也能避免合并错误导致代码有错。4.6.2. 保持原子提交为确保在需要时可以随时回溯代码版本,每次提交的代码只能包含实现一个独立、 完整功能所必需的代码,不能夹带提交其他与此功能不相关的代码。为尽早提交, 也可以将此独立、完整功能分解为若干小细节功能,分别开发并提交所必需的代 码,但必须确保多次提交的功能代码组合在一起,完全实现此独立、完整功能 仅提交自己修改的部分,最
11、好不要一下子将整个项目提交。每完成一个独立、完整的功能后,最好尽早提交,以免后续更改时出现bug,无法恢复到正常代码。每次提交的间歇尽可能地短,以几个小时的开发工作为宜。我们提倡多提交,也 就能多为代码添加上保险。为做到尽早提交,在开发功能模块的时候,先将功能 分解成一个个独立的、不可再分割的小细节功能,分别完成。每完成一个并通过 单元测试,就提交一次。在修改 bug的时候,每修改掉一个bug并且确认修改 了这个bug,也就提交一次。4.63不要提交本地自动生成的文件一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如Eclipse中的.classpath文件
12、等,Visual Studio中的.suo文件,Debug,Release,Obj等编译文件夹及其下文件,以及其他的一些自动生成,同编 译代码无关的文件)。如果项目中没有进行这方面的配置来强行禁止提交这样的 文件,请自觉不要提交这样的文件,如果不小心签入了,需要从配置库中删除, 以免其他同事在更新后就可能与本地的环境冲突从而影响大家的工作。4.6.4. 不要提交不能通过编译的代码代码在提交之前,首先要确认自己能够在本地编译通过,并且代码在提交前已经通过自己的单元测试。如果在代码中使用了第三方类库,要把相应类库文件统一存储在代码相应目录中并提交,以免项目组成员中有些成员可能没有安装相应的第三方类
13、库, 从而在更 新代码后引起代码运行错误。4.6.5. 不要提交自己不明白的代码 代码在提交之后即被项目成员所分享。如果提交了不明白的代码,自己看不懂, 别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。 因此在引入任 何第三方代码之前,确保对这个代码有一个很清晰的了解(必要时应有对应文档 说明)。4.66并行开发(同一模块)前沟通如果开发小组采用并行开发模式开发同一模块功能,在开发前,需要对协作开发进行合理的工作计划与任务分配,让小组成员相互间了解对方的工作计划与工作 内容。这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时也能够在和成员的交流中发现自己之前设计的不足,
14、完善自己的设计。4.6.7.对提交更新的信息采用明晰的标注如果提交空的标注或者不确切的标注将会让项目组中其他的成员不了解此次签入动作的背景情况(如新增/修改签入的原因是什么?新增/修改什么内容?), 项目经理无法通过提交的标注信息, 清晰的掌握开发工作进度细节进度。 没有清 晰标注,甚至会对回溯代码版本造成影响。所以,在提交工作时,要填写明晰的 标注,能够概要的描述所提交文件的信息, 让项目组其他成员在看到标注后不用 详细看代码就能了解你所做的修改。统一的标注格式为:签入动作+ ” + ” #” +标识ID+ ” ;” +签入内容+“;”+签入原因签入动作:+ :表示增加了功能(新增功能)*:表示对某些功能进行了更改(修改功能) -:表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽(删除功能) 八:表示修正bug (修复功能缺陷)!:优化功能代码的执行性能(代码性能优化)标识ID:I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧办公解决方案技术框架与效果评估
- 数字化教育的商业前景与市场机遇分析
- 教育政策东西方理念的碰撞与融合
- 基于人工智能的教育机器人商业价值探索
- 抖音商户直播分享按钮优化制度
- 江西省广丰县联考2024年化学九年级第一学期期末统考模拟试题含解析
- 贵州省仁怀市2024年化学九年级第一学期期末学业质量监测模拟试题含解析
- 苏州卫生职业技术学院《地理专业英语》2023-2024学年第一学期期末试卷
- 2024年湖北省武汉武昌区四校联考化学九年级第一学期期末达标测试试题含解析
- 2025届潮安龙湖中学九上化学期末达标检测试题含解析
- 校园清廉建设活动方案
- 检查检验结果互认工作管理制度
- 光伏电站安全生产管理制度汇编
- 农村小学生科技活动方案
- 电脑设备报废管理制度
- 2025年北京高考物理试卷真题(含答案解析)
- 英语教学课件Unit 6 Useful numbers课件6
- GB/T 45823-2025光伏单晶硅生长用石英坩埚高纯内层砂
- 2025至2030中国建设工程质量检测产业市场深度调研及发展趋势与投资报告
- 胸痛医疗质控中心2025年工作计划
- 2025至2030年中国糖精钠行业市场运行态势及发展战略研究报告
评论
0/150
提交评论