軟件版本信息定義規則

軟件版本信息定義規則

前言:
閱讀這篇文章我能學到什麼?
  如果你正爲軟件版本迭代得越來越多煩惱,或者想尋找更規範的版本定義,那麼請閱讀這篇文章,也許你會有啓發。

——如果你覺得這是一篇不錯的博文,希望你能給一個小小的贊,感謝您的支持。

1 軟件版本信息碼

  軟件版本信息碼組成 :協議名/產品名(A).系列號(B).主版本號(C).副版本號(D).子版本號(E).日期版本號(F)(階段版本號(G))
例:MPP2.0.A.1.0.0.200510(R)

1.1 協議名/產品名(A)

  作用 :用於區分不同的大類產品。
  規則 :由協議類型+協議版本號。如MPP2.0。優先使用協議名,無具體協議的使用大類產品名。
  可能值

  • None: 空,表示未知,不確定。
  • MPP: MPP協議筆。
  • USI:協議筆。
  • HPP:華爲協議筆。
  • APP:APP協議筆。
  • UNI:萬能筆。

  後續視情況新增。

1.2 系列號(B)

  作用 :用於區分軟件差異。所有外部差異使得軟件版本之間存在明顯區分的因素都應該使其有不同的系列號。比如:Pencil+da262及Pencil+LIS2DH12TR、Pencil+單路打碼及Pencil+雙路打碼、Pencil+不同的引腳接線等。
  規則 :默認一位字母,不夠時考慮新增一位,可大小寫但優先使用大寫。如:A。
  可能值 :A~Z、a~z。

1.3 主版本號(C)

  作用 :關鍵里程碑式的修改。當模塊有較大變動時,比如模塊爲單位的變動,架構的變化。
  規則 :從1開始遞增。

1.4 副版本號(D)

  作用 :較爲大的修改。一般爲功能性的變動等。
  規則 :從0開始遞增。

1.5 子本號(E)

  作用 :較小的修改。如Bug的修復,參數的調整,代碼規範的修改等。
  規則 :從0開始遞增。

1.6 日期版本號(F)

  作用 :1、記錄項目立項日期(原則上偏差小於一個月),2、具有唯一標識的作用(發佈版或臨時版都能唯一標識),唯一性的目的是方便查找和版本樹狀圖管理。3、具有區分項目先後作用,原則上先確立的項目日期版本號比後確立的項目日期版本號小(臨時或正式程序都遵守)。
  規則 :使用日期後六位,項目立項時此版本號就應該被唯一確認。末尾數爲0或5時表示用於正式發佈的程序,末尾數爲其他表示臨時發佈程序(爲了與舊規則一致)。如:200505表示受控程序,200504表示臨時程序。

1.7 階段版本號(G)

  作用 :此版本號用於標註當前版本的軟件處於哪個開發階段。
  規則 :將開發過程分爲五個階段,對應五種版本。

  • Base版:基礎版。此版本表示該軟件還在基礎開發階段,較多功能還未實現。
  • Alpha版:內部試用版。此版本表示該軟件完成了基本的功能開發,可能存在較多的Bug需要進行具體的測試,通常在開發人員內部交流。
  • Beta版本:對外公測版。該版本已經經過經過了較多測試,Bug較少且不存在嚴重的Bug。需要進一步系統大規模的測試。
  • RC版:成熟版。該版本已經過系統性的測試,幾乎不存在Bug,接近於正式版。
  • Release版:最終版/正式版/標準版。爲最終交付的版本,可簡寫爲大寫字母R。

  可能值

  • Base:基礎版。
  • Alpha:內部試用版。
  • Beta:對外公測版。
  • RC:成熟版。
  • Release:最終版/正式版/標準版。

2 釋意舉例說明

  MPP2.0.A.2.2.3.200510(R) 表示此版軟件爲MPP2.0協議下的A系列軟件,經歷過一次重大修改,重大修改後進行了2次功能性變更,最近一次功能性變更後又經歷了3次小的調整。唯一標識日期版本爲200510,爲最終版軟件。

3 更新版本信息規則

  軟件版本信息碼組成 :協議名/產品名(A).系列號(B).主版本號(C).副版本號(D).子版本號(E).日期版本號(F)(階段版本號(G))

3.1 舊項目變更

  從左往右,當某項信息被修改時,其右側的信息都需要進行修改,如:MPP2.0.A.2.2.3.200510(R)進行了一次功能變更後版本號應該爲:MPP2.0.A.2.3.0.200510(Beta),子版號被清零。

3.2 新項目立項

  比如立項MPP2.5協議的第一個軟件項目,版本號爲:MPP2.5.A.1.0.0.200510(Base),新項目的主版本號從1開始,副和子版本號從0開始遞增,階段爲Base。

4 軟件發佈樹

  按如上定義軟件版本規則,在發佈版迭代樹中效果如下:

切da262
取消GSensor
Pencil.A.1.0.2.200105(R)
Pencil.A.1.1.2.200110(R)
Pencil.A.1.2.1.200115(R)
Pencil.B.1.0.0.200220(R)
Pencil.C.1.0.0.200305(R)

  可以較好的表示出版本升級和分支關係。協議名/產品名(A).系列號(B)可以唯一確定出一個縱向分支,比如Pencil.A系列。而日期版本號可以唯一對應到一個版本的軟件發佈,在進行檢索或簡化記錄信息時可以只使用日期版本信息。

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