《软件研发版本管理制度.doc》由会员分享,可在线阅读,更多相关《软件研发版本管理制度.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件研发版本管理制度软件研发版本管理制度泰豪软件研发版本管理规范 v1.0研发部 文档类别使用对象 文档类别 该文档是为泰豪公司提供一个版本管理规范性文件。 使用对象 该文档使用对象为泰豪软件公司研发本部各部门项目经理及版本管理人员,以及其他相关人员。未经许可,该文档不得提供给上述规定对象以外的人员阅读或使用。 1(引言 1.1 目的 本文档是为规范泰豪软件公司研发版本管理而制定的。 1.2 范围 本文档为各产品部、事业部版本管理员提供有关版本管理规范的相关内容,包括: 版本标识方法 软件系统数据的存放 文档的修改控制 文档的备份制度 1.3 术语定义 SVN Svn 是一个开源的版本控制系统
2、 Subversion 的简称 文档 一种数据媒体和其上所记录的数据。 配置管理 标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 软件配置 软件的具体形态在某时刻的瞬时影像。 配置项 软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。 基线 软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。 1.4 版序控制记录 版序状态 拟稿 审核 批准 发布日期 1.0 研发部 09/11/18 张洪兴
3、1.5 版本更新记录 *A - 增加 M - 修改 D - 删除 版本/修订版 修改页码 修改记录 修改人 日期 1.0 初始版本 2009/02 2(版本管理 2(1 版本标识方法 为了使工作规范化、统一化,各项目组实行的版本标识管理方法分为:正式版本和特殊版本。 2(1(1 正式版本 公司在市场上发行的正规版本。 以“V”开头,版本号放后。V 前面增加项目名称,版本号分 3 节:主版本号,版本号和内部版本号,每节之间以小数点(.)间隔。如 V2.0.1 表示主版本号为2,次版本号为 0,内部版本号为 1。研发部控制主版本号和次版本号,各项目组控制内部版本号。例如:一体化平台-平阴版 v1.
4、1.1 , 一体化平台为产品名称,平阴版为版本名称(平阴为具体项目名称),v1.1.1 为主版本号+次版本号+内部版本号。2(2 目录结构 由于各项目组的实际情况不同,目录结构很难统一,但为了能更好地管理各项目组的文档,建议可将被管理的配置项分为三大类:文档类、源码类及安装盘类,这样存放比较清晰,有利于版本管理。至于二级目录是以版本划分,并根据制定的目录结构给出文件级目录清单(先给出源程序及文档的文件级目录清单,安装盘的可以后再执行):。 现以农电平台 1.0 的目录结构举例如下: 根目录 一级目录 二级目录 三级目录 对应配置项 备注 产品名称 版本号 核心 jar 源码 存目录前正在修改一
5、体化平 源码的内容 Class台 包 文件 扩展源码包 源码 sql SQL 文件 源码(F:) 版本变动说明 需求文档 用户需求记版本号在文件名上录 标识 概要设计文档 总体设计文按版本号依次类推 档 数据库设计 文档(G:) 详细设计文档 测试用例 测试记录 版本号在文件名上标识 用户手册 用户使用手 册 产品说明书 项目计划 项目计划 实施手册 实施手册 月度计划 月度计划 安装盘 REL_SRC 产品盘 或发布文档 (H:) SETUP 发布文档 表示正式版本及特殊版本的目录按以下原则定义: (1) 正始版本:以“V”开头,版本号放后,主版本号和次主版本号之间的“.”去掉,明细版本号之
6、前加“-”。举例如下: 版本号 目录名 V1.0 V1.0 V1.1 V1.1 V1.0.1 V1.0.1 V1.1.2 V1.1.2 2(3 文档的存放 2.3.1 当前版本和历史版本的存放 对于源码文件,特别增加了一个 Current 目录,存放当前正在开发与维护的源码文件,当前未发布版本的所有数据都存放在.CURRENT下。一旦当前版本正式发行,则当前目录被修改为相应的历史目录。 历史版本是指已经发行的版本,存放在相应的版本目录之下,一般不允许改动。2.3.2 开发文档的存放 根据各项目部自己的情况,将系统用户需求记录、总体设计文档、详细设计及数据结构文件、测试记录、用户手册等放入相应的
7、目录下。 2.3.3 源代码的存放 源代码包括如:java,jsp,BMP,ICO 等相关文件,是未经编译处理的、不能直接交付使用的产品文件以及编译产品所需的文件;联机帮助文件 HLP 在未生成 HLP文件之前的 DOC,RTF 等格式的文档也视为源代码。 各子系统当前的程序源文件放入相应的目录下。对于一个子系统又分多个分子系统的情况,应在该目录下分别建立几个相应的目录。 2.3.4 SQL 语句的存放 各子系统 SQL 文件放入.SQL 下,对于不同的数据库,分别建立不同的子目录,如 oracle、sysbase、db2 等。公共 SQL 文件直接放入SQL 下即可,不同数据库的特殊 SQL
8、 分别放入对应的子目录下。 2.3.5 发行文档的存放 发行文档是指产品交付用户使用所必须的文件。包括:产品可执行文件,用户使用说明书,联机帮助(HLP);资源文件(BMP,ICO 等),环境配置文件等。 以上文档作为制作发行盘的素材,放在 RELEASE 的 REL_SRC 目录之下,制作好的发行盘放在 RELEASE 的 SETUP 目录。 2(4 权限控制管理 为保障文档的安全性,一致性,以及防止意外修改,必须对不同的文档设置不同的访问权限。 文档权限类别:只读权限,读写权限。 文档类别:设计文档,源码,发行文档。 用户类别:开发人员、测试人员、分析设计人员、项目经理、配置管理员、安装盘
9、制作人员、问题及需求管理人员、用户文档编写人员等。 为了控制不同的使用权限,根据要求在服务器上分别建立不同的用户,针对不同的配置项所在目录分配不同的权限。 为了便于管理,应以表格的形式列出人员与管理对象的访问关系(用户权限清单)。 3(更新管理(版本升级) 3.1 版本升级原则 版本升级应严格纳入版本管理的控制之下。应当谨慎地控制版本的升级,保障高版本的向下兼容性,或提供严格定义的升级方法。 在下面几种情况下,进行版本演化和升级: 1、当产品发生重大修改和改进时,主版本号加 1。重大修改和改进包括: 1)平台迁移; 2)开发工具的迁移; 3)体系结构的变迁。 2、当产品发生较小的改进或修改时,
10、次版本号可以加 1。 3、对于改动量比较少的,如修改产品的错误,可增加内部版本号。内部版本号对用户来说是不可见的,只对项目部内部版本控制有用。 4、记录版本升级过程。每次版本升级,都要填写版本升级记录表,记录表样例如下: 版本升级记录表 版本号 发布日期 修改文件 问题简要描述 发布责任人 批准人 备注 说明: 版本号: 记录当前发布的版本。 发布日期:该版本批准发布的日期。 修改文件:版本修改记录文件,一般为版本修改日志。 3.2 新版本的发布 新版本的发布包括主版本号和次版本号的升级,一般不包括内部版本号的升级。流程如下: 1、根据项目进展情况,或者根据用户需要进行发布准备。 2、在指定目
11、录中,根据本次发布的版本号建立相应的子目录,将 current 下的所有内容拷贝至新建目录下。 3、可在新建目录下建立 readme.txt,并加入相应的内容。 readme.txt 文件是记录该版本与上一版本的不同,作过哪些改动。格式样例如下: 增加或修改功能 涉及源文件 改动原因 4(备份管理 为了保证文档的最大可恢复性,要随时及定期地进行备份工作。 1、随时备份:(1) 开发人员每天都要将自已当日修改的源文件在本地机器上进行备份。 (2) 开发负责人每天要将所有源文件在本地机备份。 (3) 建议备份采用循环备份。 2、定期备份 (1) 备份形式为硬盘备份和光盘备份。硬盘备份时,要备份在独
12、立的硬盘上;光盘备份时,要将光盘存放在可靠的地方。 (2) 备份周期视各产品部、事业部的具体情况而定。如果处于开发阶段,每周应对所有的源程序项进行备份,一般为每周周五;如果处于其它阶段,根据具体情况而定,但周期不能超过两周。 (3) 备份要由版本管理员负责,备份原则应是保证文档的最大可恢复性。 (4) 对于历史版本或某用户的特殊版本,如果无特殊原因不再进行修改的话,建议用光盘进行备份,而且应有备份盘说明文件 BACKUP.TXT。该文件应该记录以下内容:本次备份时间,备份内容,执行人。 5(用户版本管理 目前主要以做项目为主,是根据客户要求开发的程序。为了更好地管理源程序,应为每一用户建立一个
13、用户版本文件,该文件应包含以下内容: 用户编号: 用户名称: 软件版本号: 开始使用时间: 联系人: 联系电话: 用户程序更改日志样例如下: 更改版本号 修改模变更原因 变更概述 软件位置 变更备注 时间 块名称 人员 说明: 1) 用户购买软件时要为该用户建立一个包含上述内容的一个用户版本文件,并填写有关数据。 2) 用户进行版本更新时要求填写该文件的版本变更记录,用以反映用户版本的变更情况。 6(研发部统一管理阶段性版本 6.1 阶段性版本的提交到研发部 当各项目组更新了新版本以后,如果次版本号发生改变,各项目组配置管理员经项目经理批准后要把次版本修改的内容(提交的内容分为修改的源码、新的
14、文档和安装盘)提交给研发部版本管理人员。 6.2 阶段性版本的发布到公司网站上 产品新版本发布以后,及时在软件演示环境中进行更新。并且新版本的特色和特点要在公司网站上进行发布,描述新版本特色的文档要由各项目组进行提供给项目部,经项目部保存后,文档提交给公司网站管理人员进行发布,以便供其他项目组和公司营销人员进行了解。 6.3 各项目组新版本内部及时备份。 研发部负责进行所有产品版本的管理,但各个项目组也要自己进行备份。 7(版本工具的使用 7.1 研发部采用 svn 配置管理工具 研发部采用专门的配置管理服务器,此服务器只是专门用于版本的管理,一般不用于其他的应用,配置管理软件采用 svn1.
15、5 进行配置管理。 8(各项目组提交文档及源码以及规则 8.1 各项目组需要提交的文档 名称 成果描述 立项申请书 写名此项目的价值、所需人力资源及费用、可行性分析、成本-效益分析、风险分析 立项评审报告 评审结论、评审建议 软件需求说明书 目标客户、业务流程、系统中的角色、子功能模块介绍、质量要求、界面要求 系统设计说明书 系统约束、开发环境、数据流程图、用例图、模块之间的关系图、类函数文件变量等命名规则、系统安全设计说明、性能分析 数据库设计说明书 所有表名、表设计、表 ER 图、生成库的 sql 语句、存储过程等。表及字段命名规则。 用户界面设计说明书 系统界面设计说明、原型图 模块设计
16、说明书 编程的接口、主要的数据结构、主要算法 测试用例 用例名称、用例描述、输入值、希望输出值 缺陷报告 Bug 名称、bug 状态、bug 紧急情况、bug 处理人等 测试报告 界面测试报告、性能测试报告 部署说明书 部署环境说明、初始化的数据、注意事项、数据的迁移等 安装和使用手册 安装过程描述、各模块使用手册、FAQ 手册 软件源代码 源代码、开发工具、API 详细说明、代码注释、编译后程序 系统维护记录 问题描述、问题解决情况 技术评审报告 评审内容、评审结果、评审人 系统安装程序 打包程序、打包工具、打包完以后的安装程序 8.2 目前所管理的产品列表 序列号 产品名称 应用范围 所属
17、项目组 产品介绍 1 一体化平台 Sg186 农电 农电 2 安全性评价系统 电网安全性调度 评价 3 电网调度专业技术电网 调度 安全知识在线调考系统(网省版) 4 电网现场标准化作电网 调度 业系统 5 国调 E 语言编辑浏电网 调度 览器 6 江西省电力公司生电网 调度 产安全管理系统 7 江西省电力公司电电网 调度 网输电 GIS 8 青海一体化 OMS 项电网 调度 目建设 9 生产管理系统短信电网 调度 平台 10 泰豪 EOMP 业务基电网 调度 础平台 11 泰豪图形化智能操电网 调度 作票系统 9(周报管理制度 各项目组每周向研发部提交周报。周报具体的格式如下: 项目周报 报
18、告名称 所属项目 报告人 报告日期 1. 任务进度情况 本周工作汇报 2. 项目成本情况 3. 项目质量情况 4. 客户情况 5. 存在的问题和对策 或者各个项目组提交最新的 project 文件。Project 文件中包含各任务完成百分比,任务分配人,资源情况。 10(风险管理制度 各项目组每周向研发部提交风险跟踪表。周报具体的格式如下 XYZ 项目 风险跟踪表 风险编严重性 可能风险描述 报告处理者 当前状解决措施 号 性 者 态 , 风险严重性:指风险对项目造成的危害程度,例如可以划分为 5 个等级:5,很严重,4,比较严重,3,中等,2,轻度,1,低微。 , 风险可能性:指风险发生的几率,可以用百分比表示。