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