複製鏈接
請複製以下鏈接發送給好友

軟件版本號

鎖定
軟件版本編號訂定是指為軟件設置版本號碼的方式。通常,版本號碼會以數字訂定,但亦有不同的方式。
軟件名稱後面經常有一些英文和數字,如:QQ 2007 Beta,這些都是軟件的版本標誌,通過它,我們可以對軟件的類型有所瞭解。
版本控制比較普遍的 3 種命名格式 :GNU 風格的版本號命名格式、Windows 風格的版本號命名格式、.Net Framework 風格的版本號命名格式。
中文名
軟件版本號
外文名
Software version number
主版本號
Major_Version
子版本號
Minor_Version
修正版本號
Revision_Numbe

軟件版本號命名風格

GNU版
主版本號 . 子版本號 [. 修正版本號 [. 編譯版本號 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
管理策略
  1. 項目初版本時,版本號可以為 0.1 或 0.1.0,也可以為 1.0 或 1.0.0,如果你為人很低調,我想你會選擇那個主版本號為 0 的方式;
  2. 當項目在進行了局部修改或 bug 修正時,主版本號和子版本號都不變,修正版本號加 1;
  3. 當項目在原有的基礎上增加了部分功能時,主版本號不變,子版本號加 1,修正版本號復位為 0,因而可以被忽略掉;
  4. 當項目在進行了重大修改或局部修正累積較多,而導致項目整體發生全局變化時,主版本號加 1;
  5. 編譯版本號一般是編譯器在編譯過程中自動生成的,我們只定義其格式,並不進行人為控制。
Windows版
主版本號 . 子版本號 [ 修正版本號 [. 編譯版本號 ]]
Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0
管理策略
  1. 項目初版時,版本號為 1.0 或 1.00;
  2. 當項目在進行了局部修改或 bug 修正時,主版本號和子版本號都不變,修正版本號加 1;
  3. 當項目在原有的基礎上增加了部分功能時,主版本號不變,子版本號加 1,修正版本號復位為 0,因而可以被忽略掉;
  4. 當項目在進行了重大修改或局部修正累積較多,而導致項目整體發生全局變化時,主版本號加 1;
  5. 編譯版本號一般是編譯器在編譯過程中自動生成的,我們只定義其格式,並不進行人為控制。
  6. 另外,還可以在版本號後面加入 Alpha、Beta、Gamma、Current、RC (Release Candidate)、Release、Stable 等後綴,在這些後綴後面還可以加入1 數字的版本號。對於用户來説,如果某個軟件的主版本號進行了升級,用户還想繼續那個軟件,則發行軟件的公司一般要對用户收取升級費用;而如果子版本號或修正版本號發生了升級,一般來説是免費的。
Net.Framework版
主版本號.子版本號[.編譯版本號[.修正版本號]]
Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]
版本號由二至四個部分組成:主版本號、次版本號、內部版本號和修訂號。主版本號和次版本號是必選的;內部版本號和修訂號是可選的,但是如果定義了修訂號部分,則內部版本號就是必選的。所有定義的部分都必須是大於或等於 0 的整數。 應根據下面的約定使用這些部分:
Major :具有相同名稱但不同主版本號的程序集不可互換。例如,這適用於對產品的大量重寫,這些重寫使得無法實現向後兼容性。
Minor :如果兩個程序集的名稱和主版本號相同,而次版本號不同,這指示顯著增強,但照顧到了向後兼容性。例如,這適用於產品的修正版或完全向後兼容的新版本。
Build :內部版本號的不同表示對相同源所作的重新編譯。這適合於更改處理器、平台或編譯器的情況。 Revision :名稱、主版本號和次版本號都相同但修訂號不同的程序集應是完全可互換的。這適用於修復以前發佈的程序集中的安全漏洞。程序集的只有內部版本號或修訂號不同的後續版本被認為是先前版本的修補程序 (Hotfix) 更新。

軟件版本號版本區別

軟件版本號測試版

α版
此版本表示該軟件僅僅是一個初步完成品,通常只在軟件開發者內部交流,也有很少一部分發布給專業測試人員。一般而言,該版本軟件的bug較多,普通用户最好不要安裝。
β(beta)版
該版本相對於α版已有了很大的改進,消除了嚴重的錯誤,但還是存在着一些缺陷,需要經過大規模的發佈測試來進一步消除。這一版本通常由軟件公司免費發佈,用户可從相關的站點下載。通過一些專業愛好者的測試,將結果反饋給開發者,開發者們再進行有針對性的修改。該版本也不適合一般用户安裝。
γ版
該版本已經相當成熟了,與即將發行的正式版相差無幾,如果用户實在等不及了,儘可以裝上一試。
RC版(發佈候選版)
Release Candidate,含義是"發佈候選版",它不是最終的版本,而是最終版(RTM=Release To Manufacture)之前的最後一個版本。廣義上對測試有三個傳統的稱呼:alpha、beta、gamma,用來標識測試的階段和範圍。alpha 是指內測,即説的CB,指開發團隊內部測試的版本或者有限用户體驗測試版本。beta 是指公測,即針對所有用户公開的測試版本。然後做過一些修改,成為正式發佈的候選版本時叫做gamma,叫做RC(Release Candidate)。
trial(試用版)
試用版軟件在最近的幾年裏頗為流行,主要是得益於互聯網的迅速發展。該版本軟件通常都有時間限制,過期之後用户如果希望繼續使用,一般得繳納一定的費用進行註冊或購買。有些試用版軟件還在功能上做了一定的限制。
unregistered
未註冊版與試用版極其類似,只是未註冊版通常沒有時間限制,在功能上相對於正式版做了一定的限制,例如絕大多數網絡電話軟件的註冊版和未註冊版,兩者之間在通話質量上有很大差距。還有些雖然在使用上與正式版毫無二致,但是動不動就會彈出一個惱人的消息框來提醒你註冊,如看圖軟件acdsee、智能陳橋漢字輸入軟件等。
demo版
也稱為演示版,在非正式版軟件中,該版本的知名度最大。demo版僅僅集成了正式版中的幾個功能,頗有點像unregistered。不同的是,demo版一般不能通過升級或註冊的方法變為正式版
以上是軟件正式版本推出之前的幾個版本,α、β、γ可以稱為測試版,大凡成熟軟件總會有多個測試版,如windows 98的β版,前前後後將近有10個。這麼多的測試版一方面為了最終產品儘可能地滿足用户的需要,另一方面也儘量減少了軟件中的bug。而trial、unregistered、demo有時統稱為演示版,這一類版本的廣告色彩較濃,頗有點先嚐後買的味道,對於普通用户而言自然是可以免費嚐鮮了。

軟件版本號正式版

不同類型的軟件的正式版本通常也有區別。
release
該版本意味“最終釋放版”,在出了一系列的測試版之後,終歸會有一個正式版本,對於用户而言,安裝該版本的軟件絕對不會錯。該版本有時也稱為標準版。一般情況下,release不會以單詞形式出現軟件封面上,取而代之的是符號?,如windows nt? 4.0、ms-dos? 6.22等。
registered
很顯然,該版本是與unregistered相對的註冊版。註冊版、release和下面所講的standard版一樣,都是軟件的正式版本,只是註冊版軟件的前身有很大一部分是從網上下載的。
standard
這是最常見的標準版,不論是什麼軟件,標準版一定存在。標準版中包含了該軟件的基本組件及一些常用功能,佔用資源較高級版低,可以滿足一般用户的需求。對於收費軟件來説,其價格相對高一級版本而言還是“平易近人”的。
deluxe
顧名思義即為“豪華版”。豪華版通常是相對於標準版而言的,主要區別是多了幾項功能,價格當然會高出一大塊,不推薦一般用户購買。此版本通常是為那些追求“完美”的專業用户所準備的。
reference
該版本型號常見於百科全書中,比較有名的是微軟的encarta系列。reference是最高級別,其包含的主題、圖像、影片剪輯等相對於standard和deluxe版均有大幅增加,容量由一張光盤猛增至三張光盤,並且加入了很強的交互功能,當然價格也不菲。可以這麼説,這一版本的百科全書才能算是真正的百科全書,也是發燒友們收藏的首選。
professional
專業版是針對某些特定的開發工具軟件而言的。專業版中有許多內容是標準版中所沒有的,這些內容對於一個專業的軟件開發人員來説是極為重要的。如微軟的visual foxpro標準版並不具備編譯成可執行文件的功能,這對於一個完整的開發項目而言顯然是無法忍受的,若客户機上沒有foxpro將不能使用。如果用專業版就沒有這個問題了。
enterprise(企業版)
企業版是開發類軟件中的極品(相當於百科全書中的reference版)。擁有一套這種版本的軟件可以毫無障礙地開發任何級別的應用軟件。如著名的visual c++的企業版相對於專業版來説增加了幾個附加的特性,如sql調試、擴展的存儲過程嚮導、支持as/400對ole db的訪問等。而這一版本的價格也是普通用户無法接受的。如微軟的visual studios 6.0 enterprise中文版的價格為23000元。

軟件版本號其他版本

除了以上介紹的一些版本外,還有一些專有版本名稱。
update(升級版)
升級版的軟件是不能獨立使用的,該版本的軟件在安裝過程中會搜索原有的正式版,如果不存在,則拒絕執行下一步。如microsoft office 2000升級版、windows 9x升級版等等。
oem版
oem版通常是指捆綁在硬件中而不單獨銷售的版本,將自己的產品交給別的公司去賣,保留自己的著作權,雙方互惠互利,一舉兩得。
單機(網絡)版
網絡版在功能、結構上遠比單機版複雜,如果留心一下軟件的報價,你就會發現某些軟件單機版和網絡版的價格相差非常大,有些網絡版甚至多一個客户端口就要加不少錢。
普及版
該版本有時也會被稱為共享版,其特點是價格便宜(有些甚至完全免費)、功能單一、針對性強(當然也有佔領市場、打擊盜版等因素)。與試用版不同的是,該版本的軟件一般不會有時間上的限制。當然,如果用户想升級,最好還是去購買正式版。

軟件版本號訂定規則

軟件版本編號訂定是指為軟件設定版本號碼的方式 [1]  。通常,版本號碼會以數字訂定,但亦有不同的方式。
小數
這是最常用的一種訂定方式。大部份軟件的版號都是用此方法去計算。一個以此方式來訂定編號的例子如:2.4。通常訂定規則為:major.minor(.build)
major是最大的版本編號,minor為其次,某些軟件可能再細分作build,為更小的版本編號。
通常,正式版的版本編號為“1.0”。1.0以下的版本(0.x)為測試版,代表仍有一些重大錯誤(bugs),未正式推出。
在新版本推出時,應更新majorminor或是build(如有)的版號,決定於變更的大小。當有極大的更新時,會增加major的版號。而當有大更新,但不至於更新major時,會更新minor的版號。若更新比較小,例如只是除蟲(bug fixing),則會更新build的版號。
以下是一個例子:
1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1→3.0→…以上例子中,1.0至1.0.1至1.0.2、1.1至1.1.1、2.1至2.1.1都是小更新;1.0.2至1.1、2.0至2.1都是較大的更新;而1.1.1至2.0和2.1.1至3.0則是重大更新。
有時,小數版本號碼後面會有“a”、“b”、“rc”等字樣,代表某版本的測試版。“a”、“b”、“rc”分別代表“alpha”、“beta”和“releasecandidate”。例如“2.0a”是2.0的alpha測試版,接着可能發佈“2.0b”,是2.0的beta測試版。跟着,又可能出現“2.0b2”,代表2.0的第2個beta測試版。當beta測試完結後,又可能推出“2.0rc1”、“2.0rc2”兩個版本,分別代表2.0的第一和第二個release candidate測試版。當一切測試結束後,就會有“2.0”正式版。
有的軟件版本不是以1.0開始,而是以0.01開始,如Linux操作系統內核的版本。
實例:
只有majorminor的軟件有如MediaWiki。當MediaWiki發佈1.9版本後,下一個版本是1.10。
Mozilla Firefox的3.x版本有majorminorbuild。例如其中兩個版本為3.0和3.0.1。而Firefox的2.x版本更有四個數字,此時版本結構改為major.minor.maintenance.build。例如Firefox 2.x的其中一個版本為2.0.0.14。
日期
除了依照版本發佈次序逐個數以外,軟件版本編號亦有可能使用日期。例如版本“20080101”代表該版本於2008年1月1日發佈。通常日期的排列方法會是“YYYY-MM-DD”,因為這樣做的好處是,當電腦排序時,可以自動分辨哪個是較舊或較新的版本。有時候,版本編號更會由小數和日期結合,即是類以1.5.20080101等方式。。。實例:使用小數和日期結合的版本編號軟件,例如Firefox的其中一個擴充套件“IE Tab”的其中一個版本編號為1.5.20080823。
而Ubuntu亦是採用日期的訂定版本編號方式,但卻看起來像以普通小號訂定。例如Ubuntu 8.04版本代表該版本於2008年4月發佈。事際上,由於Ubuntu並非每個月發佈,因此版本編號會跳序。而一年只有12個月,所以亦沒有像6.13這樣的版本。
年份
有些軟件,尤其不會在一年中出版兩次的軟件會使用年份作版本編號。例如2003版代表該軟件於2003年發佈。有時軟件亦採用兩字的年份縮寫,例如以04代表2004年。實例:微軟的很多產品都以此方式訂定版本編號。例如Windows 95、Windows 2000、Microsoft Office 2007等。
MATLAB通常一年中釋出兩個版本,自2006年後以“R”+四位年份+“a”或“b”的方式區分。例如MATLAB R2011a、MATLAB R2011b等。
數學常數
有些軟件採用數學常數來進行訂定版本編號。具體方法為先選定一個數學常數,每個新版本都距離該數學常數更近。例如選用圓周率的軟件,其版本應為3、3.1、3.14、3.141、……
實例:
TeX選定的數學常數為π。而METAFONT選定的數學常數則為e
英文縮寫
有些軟件採用英文縮寫來為版本制定編號。
實例:
Macromedia於2004年推出Flash MX。Adobe收購Macromedia後,為其推出之後續版本為Flash CS2,當中“CS”代表Creative Suite。
Windows有兩個版本採用英文縮寫作版本編號,分別是Windows Me和Windows XP。“Me”代表“Millennium”(千禧年)或“me”(自己);“XP”代表“experience”(體驗),當讀出experience時,讀音像讀出x和p [2] 
Ubuntu於2008年4月推出8.04 LTS版本。Ubuntu將長期為8.04版本提供技術支持。支持時間最少為三年。LTS是Long Term Support的英文縮寫,意為長期支持。
注意事項
1.混合使用各種定製方式
有些軟件會混合使用各種版本編號訂定方式,即不同的版本分別採用不同的訂定方式。
例如:
Windows,曾採用普通小數方式(Windows 1.0至Windows 3.11),年份(Windows 95、Windows 98、Windows 2000),縮寫(Windows Me、Windows XP)和英文字(Windows Vista)。
2.同時擁有兩個版本編號
有些軟件會同時擁用兩個版本編號,即是以兩種不同的訂定方式,賦予同一個版本兩個編號。
例如:
Windows:Windows 95亦即Windows 4.0,Windows 98亦即Windows 4.10,Windows Me亦即Windows 4.90,Windows 2000亦即NT 5.0,Windows XP亦即NT 5.1,Windows Vista亦即NT 6.0,Windows 7亦即NT 6.1。
3.小數版本序號可能會跳序
有些軟件的小數版本序號可能會出現跳序 [3]  。此處“跳序”是指同一個軟件,兩個相鄰的使用小數版本序號的版本,並不是majorminorbuild其中一個值相差1。
例如:
Simutrans自2005年的major版本序號為86.x、88.x、89.x、99.x、100.x。當中86至88和89至99出現了跳序。
除此以外,還有軟件會因為“不幸運數字”(例如4、13)的原因而跳序。

軟件版本號其他領域

除了軟件以外,還有其他東西也採用類似的版本編號訂定。
電影的續集通常為“XXX 2”,當中XXX是電影名稱。如果再有續集,則會是“XXX 3”。例如《終結者》、《終結者2》和《終結者3》
Web 2.0並不是指軟件“Web”的第二個版本,而是指互聯網的一個新定義,新轉變。
參考資料
  • 1.    軟件版本號新解[J].每週電腦報,1997(43):69.
  • 2.    蔣安琪.談談軟件的版本號[J].電腦愛好者,2002(05):41-42.
  • 3.    細説計算機軟件版本號[J].農村電氣化,1996(10):4.