首页 . 理学 . 计算机科学技术 . 软件工程 . 软件工程管理 . 软件配置管理 . 配置标识

软件版本

/software release/
条目作者玄跻峰马萍顾咏丰
条目作者玄跻峰

玄跻峰

马萍

马萍

顾咏丰

顾咏丰

最后更新 2023-02-02
浏览 189
最后更新 2023-02-02
浏览 189
0 意见反馈 条目引用

软件生命周期中经过特定时期的变更得到的软件。

英文名称
software release
所属学科
计算机科学技术

新的软件变化后就会进入到下一个版本。软件随着版本的变化形成的持续改变,称为版本演化。每个软件版本都会被分配一个唯一的标识来表示,这个唯一的标识叫版本号(release number;release ID)。通常,随着功能的增加、修改或者删除,不同时期的软件版本会被赋予不同的版本号。常见的版本标识号的模式有以下几种:

①基于序列的标识符。在这种模式中,每一个软件版本都被赋予一个唯一的由1个或多个数字组成的标识符,一般来讲,大部分的软件版本号会被分成3段,比如X.Y.Z。其中X表示大版本,一般是软件整体重写,或出现不向后兼容的改变时会增加X的数值;Y表示功能的更新,软件增加了某个功能时,就会增加Y的数值;Z表示小的修改,当软件修复了某些bug的时候,就可以增加Z的数值。图1展示了Apache项目下的开源工具Lucene从2015年2月19日到2016年2月20日之间的版本更替,5.0.0,5.1.0,5.2.0,5.2.1,5.5.0都表示唯一的软件版本。标识符的改变暗示了软件变化的程度,如从5.2.0到5.2.1版本改动的程度比从5.2.1到5.3.0的版本改动程度要小。

图1 基于序列的标识符示意图图1 基于序列的标识符示意图

②基于时间的标识符。在这种模式中,每一个软件版本都会由相应的日期来作为标识。常见的方式是在软件名后面加上代表日期的字符串,如Name20170503,Name20170504等,其中Name表示项目名称,20170503、20170504表示软件更新的日期,软件发布流程见图2。通过这种模式命名软件版本,人们一眼就可以看出发布的日期以及各版本之间的发布先后次序。

图2 基于时间的标识符示意图图2 基于时间的标识符示意图

③包含特殊字符的标识符。这些字符通常具有一定的含义,如Pre-alpha(Pre-α)-准测试版,Alpha(α)-内部测试版,Beta(β)-外部测试版,Release Candidate(RC)-最终测试版,Release To Manufacturing(RTM)- 发行版,General availability(GA)-普遍发行版,Gold-完成版等,软件发布流程见图3。

图3 包含特殊字符的标识符示意图图3 包含特殊字符的标识符示意图

④另外还有一些特殊的版本标记方法(知名的项目版本的命名几乎都不遵循上述3种规则),比如Java的内部版本号是1.X,但是常常会被标记为X.0,如Java 1.6,Java 1.7,Java 1.8也分别被称为Java 6.0,Java 7.0,Java 8.0;比如Windows的发行版本会根据一些特殊含义来说明软件版本,如Windows ME,Windows XP,Windows Vista,Windows 7,Windows 8,Windows 10;比如Linux会用奇数版本来表示开发版,用偶数来表示正式版。因此最终版本标记的决定权还是紧握在相关负责人手中。

在软件开发过程中,为了更加方便的管理和控制软件的变更,人们开发了许多的版本控制工具,从早先的集中式版本控制系统CVSSVN,到现在分布式版本控制系统的Git,人们通过记录不同软件版本之间的差值,来对软件版本进行控制。这样一来,无论是提交新版本,还是回退到旧版本,都会变得更加容易。

  • COLLINSSUSSMAN B.Version Control with Subversion for Subversion 1.6: The Official Guide and Reference Manual.CreateSpace Paramount,2010.
  • LOELIGER J , MCCULLOUGH M.Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development.O’Reilly Media,2009.

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!