软件版本信息定义规则

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

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

目录

  • 软件版本信息定义规则
    • 1 软件版本信息码
      • 1.1 协议名/产品名(A)
      • 1.2 系列号(B)
      • 1.3 主版本号(C\)
      • 1.4 副版本号(D)
      • 1.5 子本号(E)
      • 1.6 日期版本号(F)
      • 1.7 阶段版本号(G)
    • 2 释意举例说明
    • 3 更新版本信息规则
      • 3.1 旧项目变更
      • 3.2 新项目立项
      • 4 软件发布树

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系列。而日期版本号可以唯一对应到一个版本的软件发布,在进行检索或简化记录信息时可以只使用日期版本信息。

软件版本信息定义规则相关推荐

  1. 文件隐藏服务器版本信息吗,隐藏/屏蔽服务器信息与web软件版本信息

    1.隐藏服务器系统信息 在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称.版本.内核版本.服务器的名称.为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个& ...

  2. 隐藏服务器header与web软件版本信息

    引入 每次当浏览器向Web服务器发起一个请求的时,都会伴随着一些HTTP头的发送.而这些HTTP头是用于给Web服务器提供一些额外信息以便于处理请求.比如说吧.如果浏览器支持压缩功能,则浏览器会发送A ...

  3. 让软件版本信息自动引用SVN修订版本号

    软件发布出去后通常用户反馈一个BUG时往往需要知道程序版本号.当软件发布的版本多了后版本号的管理变的麻烦,当然正式版本发布周期较长手动管理版本号是合理的.如果是临时编译的测试版本,则可以让程序自动引用 ...

  4. FANUC机器人如何通过示教器查看软件版本和电机相关配置信息?

    FANUC机器人如何通过示教器查看软件版本和电机相关配置信息? 软件版本:显示该控制装置的识别信息.在控制装置发生故障时使用该信息.软件版本有如下种类的画面.  软件:显示软件版本画面:  配置: ...

  5. vc 取windows系统信息 版本 cpu信息 内存信息 ie版本信息 office版本

    头文件: /*! Copyright (C) *---------------------------------------------------------------------------- ...

  6. android如何设置软件的版本,android如何实现对软件版本的配置

    在手机的设置-关于手机中,有一个开发版本(build version)信息.此信息我们经常要修改. 为了更好的对软件版本信息管理和修改,我们一般是在mk文件中,对其配置. 那么,为什么我们在mk文件中 ...

  7. 给Qt程序加上版本信息

    2019独角兽企业重金招聘Python工程师标准>>> windows下的可执行文件的属性中有版本这个信息,她含有版本信息,描述,版权等等.对于qt的程序,要含有这样的信息,该怎么办 ...

  8. 产品版本、软件版本、文档版本定义

    最近对公司的产品版本.软件版本.文档版本定义进行了细化.供参考. 1.  软件版本 a)        X.Y.Z.build i.             X--软件主版本,与产品主版本对应: ii ...

  9. 版本号命名规则 软件版本说明

    版本号命名规则 主版本号.子/次版本号.修正/补丁版本号.编译版本号 当代码变更时,版本号按以下原则更新. 如果只是修复bug,需要更新补丁版本号: 如果是新增了功能,但是向下兼容,需要更新子版本号: ...

最新文章

  1. ubuntu kylin 18.04 安装 Qt Creator 5.11
  2. Android Studio你不知道的调试技巧
  3. Linux下找不到动态链接库
  4. 加速你的Hibernate引擎(上)
  5. Windows Phone 8初学者开发—第7部分:本地化应用程序
  6. SAP License:SAP菜单修改
  7. 软件测试的兼容性和易用性测试
  8. 解决html中图片自适应屏幕大小的问题
  9. 统计学基础(四)—卡方检验怎么用?
  10. Android 应用程序无响应(ANR)报错原因
  11. 微软又犯二了!WebApi中不支持MVC的OutputCache
  12. Libgdx游戏编程之卡牌游戏UI布局
  13. 231313132131
  14. 苹果ios签名过期了,APP应用还能照常使用吗?
  15. 中文分词-转载3_一个北京程序员
  16. 公众号如何获得关注粉丝openid?
  17. android 设备最大像素,最高2100万像素镜头 拍照强悍手机盘点
  18. 智慧睡眠风口之上,企业破圈要聚焦“场景竞争力”
  19. 用java实现文学研究助手_数据结构文学研究助手 C语言代码实现(带源码+解析)...
  20. 如何在webstorm中使用jQuery库

热门文章

  1. 摩莎(MOXA)NPort 5110串口转网口设定
  2. iOS 图片剪裁(附demo下载)
  3. iOS Xcode如何添加模拟器
  4. spring boot火车订票系统 毕业设计源码031012
  5. 手动搭建 Discuz! 论坛
  6. 快速入手python正则
  7. Windows Server 2008文件服务器
  8. 与自己赛跑 迎5G而上 ,九州云做边缘计算实力玩家
  9. 反编译之XX营销软件
  10. 小米路由青春虚拟服务器,小米路由青春版刷padavan