1、版本命名規(guī)范
軟件版本號有四部分組成,第一部分為主版本號,第二部分為次版本號,第三部分為修訂版本號,第四部分為日期版本號加希臘字母版本號,希臘字母版本號共有五種,分別為base、alpha、beta 、RC 、 release。
2、軟件版本階段說明
Base:此版本表示該軟件僅僅是一個基礎(chǔ)功能,通常包括所有將要編寫的功能,但是功能都沒有做完整的實現(xiàn),只是做為軟件整體的一個基礎(chǔ)架構(gòu)。
Alpha:軟件的初級版本,表示該軟件在此階段以實現(xiàn)軟件功能為主,通常只在軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改,是測試版本。測試人員提交Bug經(jīng)開發(fā)人員修改確認(rèn)之后,發(fā)布到測試網(wǎng)址讓測試人員測試,此時可將軟件版本標(biāo)注為alpha版。
Beta:該版本相對于Alpha 版已經(jīng)有了很大的進步,消除了嚴(yán)重錯誤,但還需要經(jīng)過多次測試來進一步消除,此版本主要的修改對象是軟件的UI。修改的的Bug 經(jīng)測試人員測試確認(rèn)后可發(fā)布到外網(wǎng)上,此時可將軟件版本標(biāo)注為 beta版。
RC:該版本已經(jīng)相當(dāng)成熟了,基本上不存在導(dǎo)致錯誤的Bug,與即將發(fā)行的正式版本相差無幾。
Release:該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式的版本,是最終交付用戶使用的一個版本。該版本有時也稱標(biāo)準(zhǔn)版。
3、版本號修改規(guī)則
(1)主版本號:當(dāng)功能模塊有較大的變動,比如增加模塊或是整體架構(gòu)發(fā)生變化。此版本號由項目決定是否修改。
(2)次版本號:相對于主版本號而言,次版本號的升級對應(yīng)的只是局部的變動,但該局部的變動造成程序和以前版本不能兼容,或者對該程序以前的協(xié)作關(guān)系產(chǎn)生了破壞,或者是功能上有大的改進或增強。此版本號由項目決定是否修改。
(3)修訂版本號:一般是Bug 的修復(fù)或是一些小的變動或是一些功能的擴充,要經(jīng)常發(fā)布修訂版,修復(fù)一個嚴(yán)重Bug 即可發(fā)布一個修訂版。此版本號由項目經(jīng)理決定是否修改。
(4)日期版本號:用于記錄修改項目的當(dāng)前日期,每天對項目的修改都需要更改日期版本號。此版本號由開發(fā)人員決定是否修改。
(5)希臘字母版本號:此版本號用于標(biāo)注當(dāng)前版本的軟件處于哪個開發(fā)階段,當(dāng)軟件進入到另一個階段時需要修改此版本號。此版本號由項目決定是否修改。
4、版本發(fā)布周期
非緊急情況:首先由測試人員測試并提交Bug,其次開發(fā)人員會盡量在當(dāng)天修復(fù)Bug并在第二天發(fā)布該版本的alpha版,然后由測試人員測試驗證關(guān)閉Bug之后在第三天會發(fā)布該版本的beta版。
緊急情況:如果Bug比較緊急可跳過一般流程,由開發(fā)人員盡快修復(fù)Bug,測試確認(rèn)之后直接發(fā)布該版本的beta版。
5、版本號修改舉例說明
如此時版本號為:1.0.0.0321_alpha ,此時為內(nèi)部測試階段。
(1)開發(fā)人員修復(fù)了測試人員提交的bug并經(jīng)測試人員測試驗證關(guān)閉bug之后,發(fā)布到外網(wǎng)時,此時就進入了軟件的下一個階段,版本號可改為:1.0.0.0321_beta ,如當(dāng)前日期跟上一個版本號的日期不一樣,版本號可改為:1.0.0.0322_beta。
(2)如果修復(fù)了一些重大Bug 并按照流程發(fā)布到外網(wǎng)時就可發(fā)布一個修訂版,如1.0.1.0322_beta,日期為發(fā)布的當(dāng)前日期。
(3)如果對軟件進行了一些功能上的改進或增強,進行了一些局部變動的時候要修改次版本號,如:1.1.0.0322_beta(上一級有變動時,下級要歸零)。
(4)當(dāng)功能模塊有較大變動,增加模塊或整體架構(gòu)發(fā)生變化時要修改主版本號,如新增加了退款功能,則版本號要改為:2.0.0.0322_beta 。