程序代码版本管理规范
Working Instruction
软件版本管理规范
Working Instruction
Revision List
Working Instruction
目录
一、目的 ......................................................................................................................................................................... - 4 - 二、适用范围.................................................................................................................................................................. - 4 - 三、版本定义规范 . ......................................................................................................................................................... - 4 - 四、版本代码设计规范 . ................................................................................................................................................. - 4 - 五、版本进阶规范 . ......................................................................................................................................................... - 5 - 六、软件备份要求规范 . ................................................................................................................................................. - 5 - 七、软件版本发布规范 . ................................................................................................................................................. - 5 - 八、软件发布流程规范 . ................................................................................................................................................. - 7 - 九、量产中软件管理规范 . ............................................................................................................................................. - 8 -
Working Instruction
一、目的
1.1本规范规定了公司软件发布及版本管理规范,为工程师发布软件提供版本管理标准和流程。
1.2提高本公司软件版本的可识别性,为工程,生产,售后服务提供便利性。
二、适用范围
本规范适用于研发部软件人员发布软件、程序时制定版本参考。
本规范中所涉及软件为泛指一切以计算机代码形式存在的软件,包括以下(但不限于) 几类: 1、 Windows 软件、程序 2、 Linux 软件、程序
3、 经过裁剪后Linux 内核
4、 单片机,DSP ,ARM 固件代码及烧录FW 5、 FPGA 代码及烧录FW
6、 本公司自己开发的驱动程序 7、 第三方提供的驱动程序 8、 第三方提供的烧录FW
三、版本定义规范
3.1本规范规定:除第三方提供的软件以外,本公司开发的软件正式版本号采用如下格式,
3.1.1 三位版本编码格式,即x.xx, 由三位数字和一位小数点组成。 第一版正式版即1.00;
在1.00正式版之前研发内部测试和验证版本以0.xx.xx 表示。
3.2 选用哪种版本号格式由软件自身情况决定;同一软件版本号格式不得随意更改, 一旦选用三位或五位版本编码格式,在没有必要和充分的理由的前提下不能对版本号格式进行变更。 3.3 第三方公司提供的软件继续沿用第三方公司的版本号编码格式。
四、版本代码设计规范
为便于检查和查看软件版本,固件、软件版本通过工具可以被查看,因此在软件代码设计阶段,
Working Instruction
对版本查看应实现如下要求:
4.1固件:量产后烧录的F/W版本可通过以下两种方式之一进行查看
(1) 可以通过LCD 显示。
(2) 可用通过串口或其他通信接口通过电脑上位机软件(命令方式)获取
4.2上位机程序或软件版本可以通过以下方式之一进行查看
(1) 显示在标题栏、状态栏,或界面中;
(2) 通过“关于„”或 “About „”菜单查看;
(3) 通过命令行查看。例: xxxx –h 或 xxxx –ver ;
五、版本进阶规范
5.1正式版版本迭代更新。软件为修正bug ,完善功能,增加功能的情况下,需要对软件版本进行更新和升级,本规范规定如下:
5.1.1三位版本编码格式
正式版本迭代升级可进行两部分变更,小数位之前或小数位之后。 例:1.00 版本可以升级为 1.01,也可以升级为2.00; 较大的软件变动建议升级小数位之前数字,较小的软件修正和变动建议升级小数位之后的数字。
5.2 测试版和试用版版本迭代更新。
产品量产后若需要修改部分功能或针对客户进行定制的F/W和Program 在测试验证阶段均采用5位数字和2个小数点构成, 且只能修改最后两位数字版本号,如:1.01.00- 1.01.01,1.01.02。 只有当测试版本经过测试和验证,或客户认可后,才能发表正式版,进阶前3位数字。例: 1.01.02的测试版解决了某些bug 或增加功能,并经过测试验证解决了实际的问题,则将1.01.02测试版重新编译,变更测试版本变更为正式版格式。如 1.01.02-->1.02.00。
六、软件备份要求规范
软件代码变更后均要将变更更新至服务器Git 版本库进行管理,未备份至Git 版本库的软件版本不允许发布。
具体备份步骤参考《研发部Git 版本库服务器使用指南》。
七、软件版本发布规范
7.1正式版FW ,软件需要经过工程测试部门验证后在进行发布。测试版软件发布由工程师根据实际情况而定。
Working Instruction
7.2正式版软件发布时要除软件本身外,需要附更新说明release notes。 Release notes 采用追加方式记录,即保留之前的更新日志。且采用倒序方式,最新版本更新日志在最前端。测试版更新一样要记录入更新日志文件。
Release notes 格式如下: 当前版本:1.01 日期:xx-xx-xx
Author :
更新原因及内容: (1)Xxxxx (2)Xxxxx
---------(分隔线)-------- 前一版本:1.00.08(T测试版) 日期:xx-xx-xx Author :
更新原因及内容: (1)Xxxxx (2)Xxxxx
„„„„„„„„
Working Instruction
八、软件发布流程规范
Working Instruction
九、量产中软件管理规范
9.1 已发布的软件程序,安装包,Bin ,Hex 等文件需要在FTP 中进行备份。 备份管理工作由工程部负责。
9.2 生产部生产带有软件下载的PCBA 或成品时,F/W(bin,hex)文件下载后须在相应芯片上贴上“机种、版本”标签。
9.3当软件版本有更新时,软件工程师和研发主管根据更新内容评估,对在产品,产成品,及已出货产品中的软件是否更新,其他部门应根据ECN 要求执行更新动作。
9.4对已更新软件版本的产品,需要更换正确的,与之对应的标签;已出货的产品视具体情况而定。
9.5 QA应对出货及入库产品的软件版本进行检查。检查方法由工程部或研发部提供。