软件版本信息定义规则

软件版本信息定义规则

前言:
阅读这篇文章我能学到什么?
  如果你正为软件版本迭代得越来越多烦恼,或者想寻找更规范的版本定义,那么请阅读这篇文章,也许你会有启发。

——如果你觉得这是一篇不错的博文,希望你能给一个小小的赞,感谢您的支持。

1 软件版本信息码

  软件版本信息码组成 :协议名/产品名(A).系列号(B).主版本号(C).副版本号(D).子版本号(E).日期版本号(F)(阶段版本号(G))
例:MPP2.0.A.1.0.0.200510(R)

1.1 协议名/产品名(A)

  作用 :用于区分不同的大类产品。
  规则 :由协议类型+协议版本号。如MPP2.0。优先使用协议名,无具体协议的使用大类产品名。
  可能值

  • None: 空,表示未知,不确定。
  • MPP: MPP协议笔。
  • USI:协议笔。
  • HPP:华为协议笔。
  • APP:APP协议笔。
  • UNI:万能笔。

  后续视情况新增。

1.2 系列号(B)

  作用 :用于区分软件差异。所有外部差异使得软件版本之间存在明显区分的因素都应该使其有不同的系列号。比如:Pencil+da262及Pencil+LIS2DH12TR、Pencil+单路打码及Pencil+双路打码、Pencil+不同的引脚接线等。
  规则 :默认一位字母,不够时考虑新增一位,可大小写但优先使用大写。如:A。
  可能值 :A~Z、a~z。

1.3 主版本号(C)

  作用 :关键里程碑式的修改。当模块有较大变动时,比如模块为单位的变动,架构的变化。
  规则 :从1开始递增。

1.4 副版本号(D)

  作用 :较为大的修改。一般为功能性的变动等。
  规则 :从0开始递增。

1.5 子本号(E)

  作用 :较小的修改。如Bug的修复,参数的调整,代码规范的修改等。
  规则 :从0开始递增。

1.6 日期版本号(F)

  作用 :1、记录项目立项日期(原则上偏差小于一个月),2、具有唯一标识的作用(发布版或临时版都能唯一标识),唯一性的目的是方便查找和版本树状图管理。3、具有区分项目先后作用,原则上先确立的项目日期版本号比后确立的项目日期版本号小(临时或正式程序都遵守)。
  规则 :使用日期后六位,项目立项时此版本号就应该被唯一确认。末尾数为0或5时表示用于正式发布的程序,末尾数为其他表示临时发布程序(为了与旧规则一致)。如:200505表示受控程序,200504表示临时程序。

1.7 阶段版本号(G)

  作用 :此版本号用于标注当前版本的软件处于哪个开发阶段。
  规则 :将开发过程分为五个阶段,对应五种版本。

  • Base版:基础版。此版本表示该软件还在基础开发阶段,较多功能还未实现。
  • Alpha版:内部试用版。此版本表示该软件完成了基本的功能开发,可能存在较多的Bug需要进行具体的测试,通常在开发人员内部交流。
  • Beta版本:对外公测版。该版本已经经过经过了较多测试,Bug较少且不存在严重的Bug。需要进一步系统大规模的测试。
  • RC版:成熟版。该版本已经过系统性的测试,几乎不存在Bug,接近于正式版。
  • Release版:最终版/正式版/标准版。为最终交付的版本,可简写为大写字母R。

  可能值

  • Base:基础版。
  • Alpha:内部试用版。
  • Beta:对外公测版。
  • RC:成熟版。
  • Release:最终版/正式版/标准版。

2 释意举例说明

  MPP2.0.A.2.2.3.200510(R) 表示此版软件为MPP2.0协议下的A系列软件,经历过一次重大修改,重大修改后进行了2次功能性变更,最近一次功能性变更后又经历了3次小的调整。唯一标识日期版本为200510,为最终版软件。

3 更新版本信息规则

  软件版本信息码组成 :协议名/产品名(A).系列号(B).主版本号(C).副版本号(D).子版本号(E).日期版本号(F)(阶段版本号(G))

3.1 旧项目变更

  从左往右,当某项信息被修改时,其右侧的信息都需要进行修改,如:MPP2.0.A.2.2.3.200510(R)进行了一次功能变更后版本号应该为:MPP2.0.A.2.3.0.200510(Beta),子版号被清零。

3.2 新项目立项

  比如立项MPP2.5协议的第一个软件项目,版本号为:MPP2.5.A.1.0.0.200510(Base),新项目的主版本号从1开始,副和子版本号从0开始递增,阶段为Base。

4 软件发布树

  按如上定义软件版本规则,在发布版迭代树中效果如下:

切da262
取消GSensor
Pencil.A.1.0.2.200105(R)
Pencil.A.1.1.2.200110(R)
Pencil.A.1.2.1.200115(R)
Pencil.B.1.0.0.200220(R)
Pencil.C.1.0.0.200305(R)

  可以较好的表示出版本升级和分支关系。协议名/产品名(A).系列号(B)可以唯一确定出一个纵向分支,比如Pencil.A系列。而日期版本号可以唯一对应到一个版本的软件发布,在进行检索或简化记录信息时可以只使用日期版本信息。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值