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