【轉】版本號管理

 
2008-09-23

版本號管理

關鍵字: 軟件版本號

1.看到新公司產品的版本號命名比較奇怪,例如使用fixbug_tom_080909,這種,覺得很奇怪

   專門查了一下,以前公司的規範基本是遵循GNU的風格。

   至於好處或壞處,還真是一下說不出來。只是有些badsmell的感覺。

 

 

 

 

版本控制比較普遍的 3 種命名格式 :
一、GNU 風格的版本號命名格式 :
主版本號 . 子版本號 [. 修正版本號 [. 編譯版本號 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
二、Windows 風格的版本號命名格式 :
主版本號 . 子版本號 [ 修正版本號 [. 編譯版本號 ]]
Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0
三、.Net Framework 風格的版本號命名格式:
主版本號.子版本號[.編譯版本號[.修正版本號]]
Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]
版本號由二至四個部分組成:主版本號、次版本號、內部版本號和修訂號。主版本號和次版本號是必選的;內部版本號和修訂號是可選的,但是如果定義了修訂號部分,則內部版本號就是必選的。所有定義的部分都必須是大於或等於 0 的整數。
應根據下面的約定使用這些部分:
Major :具有相同名稱但不同主版本號的程序集不可互換。例如,這適用於對產品的大量重寫,這些重寫使得無法實現向後兼容性。
Minor :如果兩個程序集的名稱和主版本號相同,而次版本號不同,這指示顯著增強,但照顧到了向後兼容性。例如,這適用於產品的修正版或完全向後兼容的新版本。
Build :內部版本號的不同表示對相同源所作的重新編譯。這適合於更改處理器、平臺或編譯器的情況。
Revision :名稱、主版本號和次版本號都相同但修訂號不同的程序集應是完全可互換的。這適用於修復以前發佈的程序集中的安全漏洞。
程序集的只有內部版本號或修訂號不同的後續版本被認爲是先前版本的修補程序 (Hotfix) 更新。

版本號管理策略
一、GNU 風格的版本號管理策略:
1.項目初版本時,版本號可以爲 0.1 或 0.1.0, 也可以爲 1.0 或 1.0.0,如果你爲人很低調,我想你會選擇那個主版本號爲 0 的方式;
2.當項目在進行了局部修改或 bug 修正時,主版本號和子版本號都不變,修正版本號加 1;
3. 當項目在原有的基礎上增加了部分功能時,主版本號不變,子版本號加 1,修正版本號復位爲 0,因而可以被忽略掉;
4.當項目在進行了重大修改或局部修正累積較多,而導致項目整體發生全局變化時,主版本號加 1;
5.另外,編譯版本號一般是編譯器在編譯過程中自動生成的,我們只定義其格式,並不進行人爲控制。
二、Window 下的版本號管理策略:
1.項目初版時,版本號爲 1.0 或 1.00;
2. 當項目在進行了局部修改或 bug 修正時,主版本號和子版本號都不變,修正版本號加 1;
3. 當項目在原有的基礎上增加了部分功能時,主版本號不變,子版本號加 1,修正版本號復位爲 0,因而可以被忽略掉;
4. 當項目在進行了重大修改或局部修正累積較多,而導致項目整體發生全局變化時,主版本號加 1;
5. 另外 , 編譯版本號一般是編譯器在編譯過程中自動生成的,我們只定義其格式,並不進行人爲控制。
另外,還可以在版本號後面加入 Alpha、Beta、Gamma、Current、RC (Release Candidate)、Release、Stable 等後綴,在這些後綴後面還可以加入 1 位數字的版本號。
對於用戶來說,如果某個軟件的主版本號進行了升級,用戶還想繼續那個軟件,則發行軟件的公司一般要對用戶收取升級費用;而如果子版本號或修正版本號發生了升級,一般來說是免費的。
=====附錄軟件版本名稱=====
α(alphal) 內部測試版
α版,此版本表示該軟件僅僅是一個初步完成品,通常只在軟件開發者內部交流,也有很少一部分發布給專業測試人員。一般而言,該版本軟件的 bug 較多,普通用戶最好不要安裝。
β(beta)外部測試版
該版本相對於α版已有了很大的改進,消除了嚴重的錯誤,但還是存在着一些缺陷,需要經過大規模的發佈測試來進一步消除。這一版本通常由軟件公司免費發佈,用戶可從相關的站點下載。通過一些專業愛好者的測試,將結果反饋給開發者,開發者們再進行有針對性的修改。該版本也不適合一般用戶安裝。
γ(gamma)版
該版本已經相當成熟了,與即將發行的正式版相差無幾,如果用戶實在等不及了,儘可以裝上一試。
trial(試用版)
試用版軟件在最近的幾年裏頗爲流行,主要是得益於互聯網的迅速發展。該版本軟件通常都有時間限制,過期之後用戶如果希望繼續使用,一般得交納一定的費用進行註冊或購買。有些試用版軟件還在功能上做了一定的限制。
unregistered(未註冊版)
未註冊版與試用版極其類似,只是未註冊版通常沒有時間限制,在功能上相對於正式版做了一定的限制,例如絕大多數網絡電話軟件的註冊版和未註冊版,兩者之間在通話質量上有很大差距。還有些雖然在使用上與正式版毫無二致,但是動不動就會彈出一個惱人的消息框來提醒你註冊,如看圖軟件acdsee、智能陳橋漢字輸入軟件等。
demo 演示版
在非正式版軟件中,該版本的知名度最大。demo版僅僅集成了正式版中的幾個功能,頗有點像 unregistered。不同的是,demo版一般不能通過升級或註冊的方法變爲正式版。
以上是軟件正式版本推出之前的幾個版本,α、β、γ可以稱爲測試版,大凡成熟軟件總會有多個測試版,如 windows 98 的β版,前前後後將近有10個。這麼多的測試版一方面爲了最終產品儘可能地滿足用戶的需要,另一方面也儘量減少了軟件中的bug 。而 trial 、unregistered 、demo有時統稱爲演示版,這一類版本的廣告色彩較濃,頗有點先嚐後買的味道,對於普通用戶而言自然是可以免費嚐鮮了。
正式版,不同類型的軟件的正式版本通常也有區別。
release 最終釋放版
該版本意味"最終釋放版",在出了一系列的測試版之後,終歸會有一個正式版本,對於用戶而言,購買該版本的軟件絕對不會錯。該版本有時也稱爲標準版。一般情況下,release不會以單詞形式出現在軟件封面上,取而代之的是符號 (r) ,如 windows nt(r) 4.0、ms-dos(r) 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 版通常是捆綁在硬件中而不單獨銷售的版本。將自己的產品交給別的公司去賣,保留自己的著作權,雙方互惠互利,一舉兩得。
單機(網絡)版
網絡版在功能、結構上遠比單機版複雜,如果留心一下軟件的報價,你就會發現某些軟件單機版和網絡版的價格相差非常大,有些網絡版甚至多一個客戶端口就要加不少錢。
普及版
該版本有時也會被稱爲共享版,其特點是價格便宜(有些甚至完全免費)、功能單一、針對性強(當然也有佔領市場、打擊盜版等因素)。與試用版不同的是,該版本的軟件一般不會有時間上的限制。當然,如果用戶想升級,最好還是去購買正式版。
Enhance 增強版或者加強版 屬於正式版
Free 自由版
Full version 完全版 屬於正式版
shareware 共享版
Release 發行版 有時間限制
Upgrade 升級版
Retail 零售版
Cardware 屬共享軟件的一種,只要給作者回復一封電郵或明信片即可。(有的作者並由此提供註冊碼等),目前這種形式已不多見。
Plus 屬增強版,不過這種大部分是在程序界面及多媒體功能上增強。
Preview 預覽版
Corporation & Enterprise 企業版
Standard 標準版
Mini 迷你版也叫精簡版只有最基本的功能
Premium -- 貴价版
Professional -- 專業版
Express -- 特別版
Deluxe -- 豪華版
Regged -- 已註冊版
CN -- 簡體中文版
CHT -- 繁體中文版
EN -- 英文版
Multilanguage -- 多語言版

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章