1. 本文件旨在规范XX软件公司研发过程中的版本管理流程,确保各项目组在版本控制、数据存放、文档备份等方面达到统一要求。本文件将为公司各产品部和事业部的版本管理员提供关于版本管理的具体操作标准,内容涵盖如下几个方面:
版本标识规则
软件系统数据存储要求
文档备份管理规范
SVN使用说明
版本控制工具与定义
SVN:即Subversion,是一种开源的版本控制系统,用于管理源代码和文档的版本历史。
文档:指的是记录某些数据或信息的媒介,可以是纸质、电子文件等。
配置管理:指对系统中所有配置项的识别、控制和管理过程,确保这些配置在整个软件生命周期中的一致性和正确性。
软件配置:是指在某个时间点上,软件系统的具体状态或形态。
配置项:指在软件配置管理中被管理的具体对象,如需求文档、设计文档、源代码等。
基线:软件开发过程中,标志各个开发阶段成果的确认点,用于确保不同阶段之间的工作能够有效分割,便于检查和确认。
2. 版本管理
为实现工作的标准化,公司对各项目组的版本管理采用两种分类方式:正式版本和特殊版本。在公司正式发布的产品版本中,版本标识方法采用统一标准。
版本标识规则:所有正式版本以“V”开头,后接项目名称和版本号,版本号由主版本号、次版本号和内部版本号三部分组成,使用点号(.)分隔。例如,“V2.0.1”表示主版本号为2,次版本号为0,内部版本号为1。主版本号和次版本号由研发部负责管理,内部版本号由各项目组控制。一个示例为:一体化平台-平阴版V1.1.1,其中“一体化平台”为产品名称,“平阴版”是项目版本名,V1.1.1则表示版本号。
目录结构管理:各项目组在管理文档时,由于实际情况不同,目录结构往往不能完全统一,但为了简化管理和提高效率,建议按照文档类型划分,主要分为三类:文档类、源码类和安装包类。这种分类可以使文件存放更为清晰,便于进行版本控制。在每个版本的子目录下,文件按版本号进行归档,且项目组需根据规定的目录结构提交文件清单。
以下是某平台1.0版本目录结构示例:
正式版本与特殊版本目录命名规则
正式版本目录以“V”开头,后跟版本号,如:V1.0、V1.1等。
特殊版本在版本号的末尾加入“-”,如:V1.0-特例版。
历史版本一般放置在对应的版本目录下,且通常不进行修改。项目组需要将包括系统需求、设计文档、代码、测试报告和用户手册等相关文件归档到相应的目录。
源代码管理
源码文件通常包括但不限于:Java、JSP、BMP、ICO等格式,这些文件都是未经编译的源代码文件以及编译过程中所需要的其他资源文件。如果生成了联机帮助文件(如HLP),其源文件如DOC、RTF等也应视为源代码文件进行管理。
对于子系统的管理,可以根据实际情况,在目录下为每个子系统创建独立目录。而涉及到不同数据库的SQL文件,建议分别为各数据库(如Oracle、Sybase、DB2等)创建独立的子目录。
发行文档包括:产品的可执行文件、用户手册、联机帮助文件以及资源文件等。这些文件是产品交付用户所需的材料,最终会形成发行盘并存储在指定目录中。
权限管理
为保证不同人员的操作权限适当,必须在服务器上为不同角色设置相应的访问权限。版本管理员应通过表格形式明确不同人员和其访问对象的关系。
3. 更新管理(版本升级)
版本的升级需要严格遵循管理流程,确保新版本的高兼容性,并提供清晰的升级方案。
版本升级的适用场景
平台迁移
开发工具的迁移
系统架构的更新
每次版本更新都需要填写《版本升级记录表》,记录具体的变更内容、发布时间等关键信息。
版本发布流程
根据项目进展或客户需求,准备版本发布。
在指定目录创建新版本的子目录,并将当前版本的所有文件拷贝至新目录。
新版本的目录下可增加readme.txt文件,记录本版本与上版本的差异。
4. 备份管理
为了确保文档和代码的安全性,必须定期和及时地进行备份。
备份方式与周期
随时备份:开发人员应每天将源代码进行本地备份,建议采用循环备份方式。
定期备份:备份形式包括硬盘备份和备份,硬盘应选择独立存储设备,备份应存放在安全地点。备份周期通常为每周一次,具体周期可根据项目阶段和实际情况调整。
备份工作由版本管理员负责,备份过程应确保数据的可恢复性。
5. 用户版本管理
针对每个客户开发的定制软件,需为其建立用户版本文件,记录相关信息,包括:
用户编号、名称
软件版本号
使用开始时间及联系人信息
用户进行版本更新时,应填写版本变更记录,确保软件版本与更新历史的清晰。
6. 研发部版本管理
在产品新版本发布后,研发部门会及时更新演示环境,并在公司发布该版本的特性说明。项目组需提交相关文档,由项目部进行保存并提交给网站管理员进行发布。
7. 配置管理工具使用
研发部专门使用配置管理服务器,通过SVN进行版本控制。SVN作为工具,负责整个公司版本管理的实施与维护,确保每个版本在开发和发布过程中都能够被追踪和管理。
8. 项目组文档与源码提交规则
项目组需按时提交版本文档和源码,且所有提交的文件必须符合规定的命名规范和目录结构要求。
9. 周报管理
各项目组每周需提交项目进展报告,报告中包括任务完成情况、资源分配、风险分析等内容。报告格式要求统一,并且包括项目任务的完成百分比、负责人等信息。
10. 风险管理
每周,项目组需要向研发部提交风险表,详细记录项目可能面临的风险。风险的评估包括风险的严重性和发生的可能性,并按等级划分。