1.目的
遵循质量管理原则,制定本规范以便于相关参与人员对软件产品内容的保护与控制,完善软件产品在需求、设计、开发、测试以及发布阶段的内容正确性和统一性,提升软件产品质量,提高软件产品开发效率及可维护性,确保各项工作内容顺利进行。
2.范围
本规定适用于软件产品或可独立维护且受控的程序。
3.读者
项目经理、产品经理、开发工程师、测试工程师、实施工程师
4.软件产品标识
软件产品的标识由软件产品简称和软件产品版本号两部分参数组成。
软件产品版本命名规范参考 GNU风格的版本号命名格式,命名格式为:软件产品简称-主版本号.次版本号.修正版本号.【送测版本号.构建时间+构建次数】。
如版本号ZHDJ-1.0.0.12.20211202.12,对外发布版本号为ZHDJ-1.0.0
转载自:https://zhuanlan.zhihu.com/p/458771348
4.1.1. 软件产品的中文名称
软件产品的中文名称要求能够体现产品内容、产品属性和产品用途。
例如:智汇店家平台
4.1.2. 软件产品英文名称
软件产品的英文名称由三部分组成:公司的标识、产品标志中文名称的拼音全拼,拼音全拼都采用首字母或关键字母大写的方法,带有地方性质的需另加地名缩写。
例如:ZhiHuiDianJiaPingTai和ZJ. DianJiaZhiNengXiTong
4.1.3. 软件产品的简称
软件产品的简称:将“系统”、“平台”、“软件”除外,代表产品特色4个拼音缩写组合,带有地方性质的需另加地名缩写。
例如:ZHDJ和 ZJ.ZHDJ
4.1.4. 软件产品名称编码表
4.2.软件产品版本号
软件产品版本命名规范参考 GNU风格的版本号命名格式,命名格式为:软件产品简称-主版本号.次版本号.修正版本号.【送测版本号.构建时间+构建次数】。
当软件产品初版时,特征版本号和修正版本号都为0,可以忽略不计。
主版本号的修改标志该软件产品的升级开发,须提交立项申请,由立项评审委员会决定。版本号之前加入软件产品简称,之前版本号变动时之后的版本号自动清零,不包括构建时间与构建次数。
对外发布的版本号只需软件产品简称-主版本号.次版本号.修正版本号。
如版本号ZHDJ-1.0.0.12.20211202.12,对外发布版本号为ZHDJ-1.0.0
4.2.1. 主版本号
为非负整数,软件产品初的正式版本以1为起始数字,测试版本:演示版(Demo),内测版(Alphal)、公测版(Beta)等都为0,测试版本的主版本不能改变。
主版本号标识软件架构、设计思想,主版本号不同的程序集不可互换,即使具有相同名称也不可互换。软件架构、设计思想改变或大量重写,主版本号+1。主版本号改变,不支持向后兼容性,次版本号、修正版本号及送测版本号复位为0,构建次数+1。
如版本号ZHDJ-1.0.1.12.20211202.12
当主版本号+1时为ZHDJ-2.0.0.0.20211214.13
4.2.2. 次版本号
为非负整数,以0为起始数字,当软件产品在原有基础上增加或变更了功能,涉及数据库的改动,次版本号加1,此时主版本号不变,次版本号之后的所有版本号为0,构建次数+1。
如版本号ZHDJ-1.0.1.12.20211202.12
当次版本号+1时为ZHDJ-1.1.0.0.20211214.13
4.2.3. 修正版本号
为非负整数,以0为起始数字,当软件产品BUG修复后修正版本号+1,此时主版本号、次版本号不变,送测版本号复位为0,构建次数+1。
如版本号ZHDJ-1.0.1.12.20211202.12
当次版本号+1时为ZHDJ-1.0.2.0.20211214.13
4.2.4. 送测版本号
为非负整数,以0为起始数字,当版本进行测试后送测版本号+1,构建次数+1。
如版本号ZHDJ-1.0.1.12.20211202.12
当次版本号+1时为ZHDJ-1.0.1.13.20211214.13
4.2.5. 构建日期
为软件构建日期(年月日)8位数字,构建次数+1,如2021年12月14日,则为20211214,当天发布的多次软件产品,用后编译的软件产品完全替换之前编译的软件产品。
如版本号ZHDJ-1.0.1.12.20211202.12
当次版本号+1时为ZHDJ-1.0.1.12.20211214.13
4.2.6. 构建次数
为非负整数,以0为起始数字,版本构建次数,不会因之前的版本号改变而清0,任何版本号变动后构建次数+1。
主版本号、次版本号、修正版本号,其中任何一个需要变更,需向软件产品负责人申请,由软件负责人确定。软件负责人将统一修改软件产品版本号,并通知所有相关开发人员。
开发人员每次改动必须编写开发日志,注明改动的内容,修复的BUG,对哪些功能模块有影响,提供数据库改动SQL。
软件产品的主版本号、次版本号、修正版本号出现任何一个变更,软件产品都需要整体升级。
5.软件产品版本与配置库版本关系
在软件每次发布时维护配置库代码版本,数据库之间的关系。需要记录软件产品与代码版本对应关系,包括Git代码版本、数据库。如下所示:
此表的作用在于明确产品版本与配置库代码版本号的对应关系,便于配置管理,同时指定数据库脚本,配套使用,共同发布管理。
5.1.配置库前端代码版本
前端代码版本要求与软件产品版本号的编码格式一致。
5.2.配置库后端代码版本
后端代码版本要求与软件产品版本号的编码格式一致。
5.3. 配置库数据库脚本
以现有数据库对象(表,视图,存储过程,触发器,系列,包等)为基础,整理一份空数据库(基本配置数据保留)作为原始数据库,并生成原始脚本,与软件初始版本配套使用。
数据库每次变更必须写SQL脚本,并注明是在哪个版本中生成的,以便数据库的升级。脚本文件名称要写明脚本的创建时间、操作用户、操作内容,如:20211214_ZS_创建存储过程P_Alarm。脚本内容要写注释,详细说明脚本作用,对应软件产品业务功能等信息。如果多个脚本有先后执行顺序要求,要在名称中写明顺序号。
当涉及对数据库结构发生变动时,修改软件产品版本号次版本号;只对数据做改动,程序不需要修改时,修改软件产品版本号的修正版本号。