1、软件版本管理规范制订:刘志敏审核:_同意:_ 文 件 修 订 记 录文件名称工程设计变更管理程序编号F-02-002 版次修订内容修改页次修订日期修订者备注A00新版本发行-10-7刘志敏A01步骤优化后进行对应修订-12-02姚旋 目 录1.目标32.适用范围33.权责33.1.版本管理员33.2.软件系统架构师43.3.软件工程师43.4.软件主管53.5.软件测试工程师64.作业步骤64.1.步骤及公布64.2.注意事项64.3.软件归档控制74.4.软件公布控制84.4.1.公布内容84.4.2.公布评审(Review)94.4.3.软件产品正式版本公布步骤以下95.相关文件115.1
2、.研发设计开发控制程序115.2.项目计划116.统计表单116.1.软件概要设计评审检验表116.2.软件具体设计评审检验表116.3.软件集成测试汇报评审检验表116.4.软件公布评审检验表116.5.SVN月度稽查检验表117.附件111. 目标1.1. 标准化软件工作步骤1.2. 软件开发过程中代码安全1.3. 标准化配置管理,规范开发文档输入输出1.4. 软件版本控制提升软件公布质量1.5. 对配置管理进行跟进,调查,改善, 为纠正预防提供方向2. 适用范围 全部软件版本管理员、软件系统架构师、软件工程师、软件测试工程师、软件技术总监/副总监、软件主管3. 权责3.1. 版本管理员1
3、) 负责版本服务器日常维护2) 版本服务器用户添加,删除,修改访问权限3) 版本服务器数据库建立4) 版本服务器新项目模块库建立5) 依据系统架构师对新建项目标模块划分,设置组组员版本服务器工作权限6) 编译检验公布正式版本,确保代码是最新可用7) 项目完成对代码进行编译检验,清理全部项目文档并归档8) 文档资料定时备份.(完成归档项目资料按月备份)9) 帮助处理版本服务器用户使用过程中所碰到问题10) 对SVN服务器使用情况进行稽查提交SVN月度稽查汇报检验表3.2. 软件系统架构师1) 对软件项目进行模块划分2) 协同版本管理员在版本服务器上进行目录设置,确保代码安全3) 检验组组员上传代
4、码,确保代码质量4) 按项目计划时间点,立即提交软件项目文件5) 对单元测试中发觉问题立即进行处理.并在服务器做好备份工作6) 公布集成测试软件版本和集成测试汇报给测试组做集成测试验证7) 对后期测试发觉bug要立即跟进安排处理,对修改代码立即上传服务器并添加修改说明8) 正式版本公布,按标准更新版本号,确保全部正式公布版本唯一9) 项目完成对全部代码和文档做检验,提交版本管理员;对模块代码组织进行模块化评审,归档,并提交对应说明文档3.3. 软件工程师1) 负责对软件功效模块编码工作2) 工作前对当地工作目录代码进行检验是否为最新版本,确定后方可进行工作,不然必需优异行当地工作目录更新3)
5、工作完成后立即将当地机工作目录下代码进行checkin,避免代码丢失造成损失4) 每次包含到版本机checkin全部必需附上版本说明(说明修改内容,新增功效,处理bug等)5) 服从系统架构师配置管理工作安排,文件代码要立即归档6) 维护工作包含代码修改必需上传版本服务器,而且附修改说明(明确为何修改,修改哪些地方,修改日期,修改人等信息)3.4. 软件主管1) 负责把关产品软件设计,确保设计满足要求, 参与新产品需求说明书评审2) 参与软件概要设计、具体设计、编码工作、单元测试、集成测试,对各步骤进行检验评审,确保工作质量3) 审批本组组员输出资料,确保输出资料正确无误4) 把关软件概要设计
6、、具体设计检验评审,确保设计满足需求5) 把关软件单元测试汇报、集成测试汇报检验评审,确保公布到测试组软件质量6) 计划参与项目标本组组员,估量项目进度要求各里程碑7) 帮助、指导本组项目组员参考研发服务器上项目计划模板制作软件开发计划进度表8) 审核软件开发计划进度表,确保时间利用最大化9) 督导本组组员将项目计划任务落实到月、周工作计划中10) 负责测试用例库建设,并监督测试步骤,把关测试质量3.5. 软件测试工程师1) 帮助系统架构师和软件工程师完成软件单元测试,集成测2) 软件系统测试,对于测试中发觉bug和对应软件工程师沟通并上TD服务器3) 软件测试经过后组织系统架构师和相关人员召
7、开公布评审会4. 作业步骤4.1. 步骤及公布详见软件组工作步骤4.2. 注意事项a) 下班前更新时,不要把没有编译成功程序文件迁入版本服务器b) 添加修改版本服务器上文件,必需添加注释说明c) 本机除了开发工程目录外,还需建一个中间工程目录,目录下面能够依据自己需要新增子目录,每次工作前,先更新中间工程目录,使它和版本服务器上工程文件完全一致d) 备份文件代码迁入版本服务器前,必需对文件进行编译检验e) 标签和分支命名必需遵照标准进行(产品完整型号+版本+分支名称)f) 备份文件归档时,将代码中编译冗余文件清除(如:.a;.o等等)g) 产品到公布版本给测试阶段,要修改版本服务器代码必需有系
8、统工程师或相关人员审核确保代码正确h) 项目全部源代码仅有管理员和架构师掌握,确保代码安全i) 全部代码必需从版本服务器上下载,严禁以其它任何形式传输获替换码j) 正式软件必需由版本管理员公布,加强对软件版本控制4.3. 软件归档控制1) 开发完成后进行软件版本归档,内容关键有:软件名称(中、英文),版本号,编译后可实施文件,源代码和文档(需求分析文档,概要设计,具体设计,测试用例和bug汇报等)2) 系统架构师确定要公布版本号,然后由版本管理员检验是否满足版本提交条件,最终由版本管理员确定后,将该版本存档3) 软件版本升级变更时,由系统工程师依据软件工程师提交源代码和文档在版本服务器进行更新
9、检验并知会版本管理员,然后由版本管理员检验是否满足版本提交条件,最终由版本管理员确定后,再将该版本存档4) 当发生用户需求变更时,系统架构师提交程序需求变更设计说明,并另行标明在源程序和文档中何处进行了更改,最终由软件主管审核经过后,将该版本存档5) 确定每个版本责任人,同一软件能够有不一样时期责任人6) 版本提交归档后,软件任何修改需先向管理人员申请,由版本管理员提交该版本,开发人员不能自行使用开发时使用源程序7) 软件提交同时需附上编译说明文档,内容包含:编译环境,编译工具,编译步骤等4.4. 软件公布控制4.4.1. 公布内容4.4.1.1. 在软件公布中,会因公布类型不一样而产生不一样
10、公布包。可能会有以下多个类型: 产品升级公布: 指在早期版本基础上提升产品特征集,当然也包含更新内容 产品更新公布 通常是修复老产品缺点 如搜集一定时间内产品缺点,汇总产生如3.0.1 进行更新公布 补丁公布:补丁(紧急修复)是用来修复产品缺点或掩饰缺点。补丁和更新之间区分是紧急程度和实施工作量4.4.1.2. 公布包关键组成以下,假如是补丁或产品更新公布,公布包简化为程序、说明性文档和源码 程序 源码 公布说明文档,包含多种readme(测试组提供) 用户(操作)手册(测试组提供) 全套项目文档 配置说明文档 其它4.4.2. 公布评审(Review)对于软件正式公布,测试工程师要组织各相关
11、人员召开评审会由系统工程师支持审核和检验,以确保公布产品满足用户需求及企业各类规范 软件公布评审 项目文档检验 源代码和安装程序检验4.4.3. 软件产品正式版本公布步骤以下4.4.3.1. 公布准备 公布之前,全部程序由测试工程师进行确定测试;检验BUG系统内登记全部bug全部已经被处理,或遗留bug不影响系统使用,假如有严重bug未处理则不能公布;程序打包前做测试4.4.3.2. 测试工程师组织软件公布评审,由软件系统工程师主持评审4.4.3.3. 源码、文档入库 编译构建脚本和全部源代码;文档包含需求说明、设计说明、计划,测试文档,操作手册、使用demo等4.4.3.4. 系统工程师进行
12、程序打包 标识源码、文档版本tag4.4.3.5. 编写公布说明readme.txt Read me内容应该包含产品版本说明;此次公布包含文件包、文档说明;此次公布包含或新增功效特征说明;遗留问题及影响说明;版权申明和其它需要说明事项4.4.3.6. 正式公布通知 通知开发、测试、市场、销售各相关部门并附上公布说明和介绍4.4.3.7. 后续工作 软件公布后,在使用过程中可能还会发觉部分bug,由企业BUG管理系统跟踪。在不影响正常使用情况下,这些bug将在下一版本公布时处理;假如bug严重影响使用,必需根据步骤重新公布4.4.3.8. 临时公布 软件产品未正式公布前,可能需要一个临时版本供软件工程师或用户应急使用,这时候需要临时公布一个版本。这个版本只包含基础程序包和必需使用说明。临时公布需要通知相关开发、测试工程师;系统工程师需要为源码、文档打tag标识5. 相关文件5.1. 研发设计开发控制程序5.2. 项目计划6. 统计表单6.1. 软件概要设计评审检验表6.2. 软件具体设计评审检验表6.3. 软件集成测试汇报评审检验表6.4. 软件公布评审检验表6.5. SVN月度稽查检验表7. 附件软件组工作步骤