軟件版本管理制文檔_第1頁
軟件版本管理制文檔_第2頁
軟件版本管理制文檔_第3頁
軟件版本管理制文檔_第4頁
軟件版本管理制文檔_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件版本管理規(guī)范系統(tǒng)軟件開發(fā)部2011-9-20目錄1引言21.1目的21.2范圍31.3術(shù)語定義31.4版序控制記錄31.5版本更新記錄42版本管理42.1流程圖42.2版本命名52.3版本升級5版本升級原則5新版本的發(fā)布62.4目錄結(jié)構(gòu)62.5文檔的存放7文本文件的存放7源代碼的存放7發(fā)行文檔的存放72.6權(quán)限控制管理83備份管理83.1源文件備份83.2庫文件備份84用戶版本管理95版本工具的使用95.1配置管理工具95.2CVS的使用10常用命令10簡單操作10版本分支管理101 引言1.1 目的本文檔是為規(guī)范XXXXXX有限公司軟件版本管理而制定的。1.2 范圍本文檔為系統(tǒng)軟件開發(fā)部

2、版本管理員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:l 版本標識方法l 軟件系統(tǒng)數(shù)據(jù)的存放l 文檔的修改控制l 文檔的備份制度1.3 術(shù)語定義CVSCVS是一個開源的版本控制系統(tǒng)Concurrent Versions System的簡稱文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。配置管理標識和確定系統(tǒng)中配置項的過程,在系統(tǒng)整個生存周期內(nèi)控制這些項的投放和更動,記錄并報告配置的狀態(tài)和更動要求,驗證配置項的完整性和正確性。軟件配置軟件的具體形態(tài)在某時刻的瞬時影像。配置項 軟件配置管理的對象稱為配置項,如:系統(tǒng)規(guī)格說明書,項目開發(fā)計劃,用戶手冊,源碼?;€ 軟件生存周期中各開發(fā)階段末尾的標記,它的作用是把各階段

3、工作的劃分更加明確化,使本來連續(xù)的工作在這些點上斷開,使之便于檢驗和肯定階段成果。1.4 版序控制記錄版序狀態(tài)擬稿審核批準發(fā)布日期1.0系統(tǒng)軟件開發(fā)部1.5 版本更新記錄*A - 增加 M - 修改 D - 刪除版本/修訂版修改頁碼修改記錄修改人日期1.0初始版本2 版本管理2.1 流程圖2.1.1 文檔歸檔流程文檔編寫人員評審人員配置管理員編寫文檔修改文檔不通過文檔評審?fù)ㄟ^ 確定版本(歸檔入庫) 打評審版本格式規(guī)范化檢查2.1.2 文檔變更流程變更申請人評審人員文檔編寫人員配置管理員提交變更取消變更通過不通過不通過變更影響分析及審批文檔評審?fù)ㄟ^變更實施更新版本(歸檔入庫)2.1.3 代碼歸檔

4、流程開發(fā)人員測試人員配置管理員源代碼入庫從CVS庫提取源代碼修改源代碼不通過系統(tǒng)測試通過從CVS庫提取源代碼進行編譯更新版本入庫:安裝程序源代碼測試報告評審報告打測試版本制作安裝程序2.1.4 代碼變更流程變更申請人評審人員開發(fā)人員測試人員配置管理員提交變更取消變更不通過測試報告評審?fù)ㄟ^變更影響分析及審批通過不通過變更實施代碼測試更新版本(歸檔入庫)2.1.5 配置管理流程開發(fā)人員項目管理人員測試人員配置管理員完成開發(fā)任務(wù)處理BUG提交發(fā)布請求提交測試任務(wù)回歸測試提交測試報告測試執(zhí)行測試計劃、用例新版本發(fā)布入庫輸出給市場部發(fā)布文檔更新確定版本信息制做安裝程序更新測試環(huán)境流程說明:1、開發(fā)人員完

5、成所負責(zé)模塊的代碼編寫任務(wù)后,提交到項目經(jīng)理處2、項目經(jīng)理向測試部門提交測試任務(wù)3、配置管理員準備測試所需的環(huán)境4、測試人員開展測試并實時提交BUG5、開發(fā)人員處理測試過程中所出現(xiàn)的BUG,并提交給測試人員進行回歸測試,直至BUG被關(guān)閉6、測試基本完成后,測試人員提交測試報告7、項目情況根據(jù)實際情況決定是否發(fā)布新的版本8、配置管理員與各相關(guān)人員經(jīng)討論后確定好新版本各項信息9、配置管理員發(fā)布新版本2.2 軟件版本命名軟件版本號由四部分組成,第一個1為主版本號,第二個1為子版本號,第三個1為階段版本號,第四部分為日期版本號加希臘字母版本號,希臘字母版本號共有5種,分別為:Alpha、Beta、RC

6、、Release。例如:Beta。對于小項目或子系統(tǒng)而言,可簡化為。* 主版本號:當功能模塊有較大的變動,比如增加多個模塊或者整體架構(gòu)發(fā)生變化。此版本號由項目決定是否修改。* 子版本號:當功能有一定的增加或變化,比如增加了對權(quán)限控制、增加自定義視圖等功能。此版本號由項目決定是否修改。* 階段版本號:一般是 Bug 修復(fù)或是一些小的變動,要經(jīng)常發(fā)布修訂版,時間間隔不限,修復(fù)一個嚴重的Bug即可發(fā)布一個修訂版。此版本號由項目經(jīng)理決定是否修改。* 日期版本號用于記錄修改項目的當前日期,每天對項目的修改都需要更改日期版本號。此版本號由開發(fā)人員決定是否修改。* Alpha版: 此版本表示該軟件在此階段主

7、要是以實現(xiàn)軟件功能為主,通常只在軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改。* Beta版: 該版本相對于版已有了很大的改進,消除了嚴重的錯誤,但還是存在著一些缺陷,需要經(jīng)過多次測試來進一步消除,此版本主要的修改對像是軟件的UI。* RC版: 該版本已經(jīng)相當成熟了,基本上不存在導(dǎo)致錯誤的BUG,與即將發(fā)行的正式版相差無幾。* Release版: 該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式版本,是最終交付用戶使用的一個版本。該版本有時也稱為標準版。一般情況下,Release不會以單詞形式出現(xiàn)在軟件封面上,取而代之的是符號(R)。2.3 版本升級

8、2.3.1 版本升級原則版本升級應(yīng)嚴格納入版本管理的控制之下。應(yīng)當謹慎地控制版本的升級,保障高版本的向下兼容性,或提供嚴格定義的升級方法。在下面幾種情況下,進行版本演化和升級:1、當產(chǎn)品發(fā)生重大修改和改進時,主版本號加1。重大修改和改進包括:1) 平臺遷移;2) 開發(fā)工具的遷移;3) 體系結(jié)構(gòu)的變遷。2、當產(chǎn)品發(fā)生較小的改進或修改時,次版本號可以加1。3、對于改動量比較少的,如修改產(chǎn)品的錯誤,可升級修訂版本號。4、記錄版本升級過程。每次版本升級,都要填寫版本升級記錄表,記錄表樣例如下:版本升級記錄表主版本子系統(tǒng)名稱子系統(tǒng)版本發(fā)布日期功能變更描述發(fā)布責(zé)任人批準人備注說明:版本號: 記錄當前發(fā)布的

9、版本。發(fā)布日期:該版本批準發(fā)布的日期。修改文件:版本修改記錄文件,一般為版本修改日志。2.3.2 新版本的發(fā)布新版本的發(fā)布包括主版本號和次版本號的升級,一般不包括內(nèi)部版本號的升級。流程如下:1、 根據(jù)項目進展情況,或者根據(jù)用戶需要進行發(fā)布準備。2、 將發(fā)布所需文件進行打包,放在指定目錄中,給目錄加上標簽Tag,標簽中包含將要發(fā)布的版本信息。3、 同樣對源碼文件也要加上與版本信息相關(guān)的標簽Tag。標簽Tag命名規(guī)則如下:組成:模塊首字母+下劃線+文件類型+下劃線+主版本號+次版本號+內(nèi)部版本號+時間(+下劃線+合并標記)樣例:qzcj_src_1_0_0_110923,qzcj表示采集模塊的首字

10、母,src表示源碼,1_0_0表示將要發(fā)布的版本號,合并標記可省略,只在有合并操作時注明,其中合并前的標記為mbe, 合并后的標記為maf。2.4 目錄結(jié)構(gòu)但為了能更好地管理各項目組的文檔,建議可將被管理的配置項分為三大類:文檔類、源碼類及安裝盤類,這樣存放比較清晰,有利于版本管理,現(xiàn)將目錄結(jié)構(gòu)整理如下:根目錄一級目錄二級目錄對應(yīng)配置項備注resp源碼code前置采集源碼后臺計算源碼業(yè)務(wù)應(yīng)用源碼數(shù)據(jù)庫SQL文件業(yè)務(wù)支撐公用開發(fā)包文檔doc需求文檔立項報告、需求分析、需求記錄設(shè)計文檔軟件架構(gòu)、總體設(shè)計、概要設(shè)計、詳細設(shè)計、界面設(shè)計數(shù)據(jù)庫文檔數(shù)據(jù)字典、數(shù)據(jù)庫搭建、備份還原方案、PDM設(shè)計測試文檔測

11、試計劃、測試用例、測試報告用戶文檔用戶手冊、產(chǎn)品說明計劃文檔項目計劃、年度月度計劃外部接口文檔標準規(guī)范發(fā)布文件SETUPreleaserar文件發(fā)布文檔二級目錄中的版本指一些特殊的版本,不影響基線版本。2.5 文檔的存放2.5.1 文本文件的存放根據(jù)各項目部自己的情況,將系統(tǒng)用戶需求記錄、總體設(shè)計文檔、詳細設(shè)計及數(shù)據(jù)結(jié)構(gòu)文件、測試記錄、用戶手冊等放入CVS倉庫doc目錄相應(yīng)的子目錄下。2.5.2 源代碼的存放源代碼包括如:java,jsp,BMP,ICO等相關(guān)文件,是未經(jīng)編譯處理的、不能直接交付使用的產(chǎn)品文件以及編譯產(chǎn)品所需的文件;聯(lián)機幫助文件HLP在未生成HLP文件之前的DOC,RTF等格式

12、的文檔也視為源代碼。各子系統(tǒng)當前的程序源文件放入CVS倉庫code目錄相應(yīng)的bb 目錄下,對于一個子系統(tǒng)又分多個分子系統(tǒng)的情況,應(yīng)在該目錄下分別建立幾個相應(yīng)的子目錄。2.5.3 發(fā)行文檔的存放發(fā)行文檔是指產(chǎn)品交付用戶使用所必須的文件。包括:產(chǎn)品可執(zhí)行文件,用戶使用說明書,聯(lián)機幫助(HLP);資源文件(BMP,ICO等),環(huán)境配置文件等。以上文檔作為制作發(fā)行盤的素材,放在CVS倉庫發(fā)布文件目錄的Release目錄之下,制作好的發(fā)行盤放在發(fā)布文件的Setup目錄。2.6 權(quán)限控制管理為保障文檔的安全性,一致性,以及防止意外修改,必須對不同的文檔設(shè)置不同的訪問權(quán)限。文檔權(quán)限類別:無任何權(quán)限,只讀權(quán)限

13、,所有權(quán)限。文檔類別:設(shè)計文檔,源碼,發(fā)行文檔。用戶類別:開發(fā)人員、測試人員、項目經(jīng)理、配置管理員等。為了控制不同的使用權(quán)限,根據(jù)要求在服務(wù)器上分別建立不同的用戶,針對不同的配置項所在目錄分配不同的權(quán)限。為了便于管理,應(yīng)以表格的形式列出人員與管理對象的訪問關(guān)系(用戶權(quán)限清單),詳見系統(tǒng)部CVS權(quán)限配置。3 備份管理為了保證文檔的最大可恢復(fù)性,要隨時及定期地進行備份工作。3.1 源文件備份開發(fā)人員每天都要將自已當日修改的源文件提交(commit)至CVS倉庫。3.2 庫文件備份為防止服務(wù)器出現(xiàn)異常,需對服務(wù)器上的CVS倉庫文件進行備份,目前采用的方案如下:工作日備份:每個工作日將原本位于D盤的倉

14、庫文件在H盤上備份一份,當D盤倉庫出現(xiàn)異常時,用戶可把ROOT目錄修改至H盤備份的目錄,再進行更新操作。每周備份:每周五下班時將H盤備份文件異地備份至其它IP(目前備份在192.168.53.68上)。每月備份:每個月底將最新版本備份至光盤。4 用戶版本管理為了更好地管理源程序,應(yīng)為每一用戶建立一個用戶版本文件,該文件應(yīng)包含以下內(nèi)容:用戶編號:用戶名稱:軟件版本號:開始使用時間:聯(lián)系人:聯(lián)系電話:用戶程序更改日志樣例如下:更改時間版本號修改模塊名稱變更原因變更概述軟件位置變更人員備注說明:1) 用戶購買軟件時要為該用戶建立一個包含上述內(nèi)容的一個用戶版本文件,并填寫有關(guān)數(shù)據(jù)。2) 用戶進行版本更

15、新時要求填寫該文件的版本變更記錄,用以反映用戶版本的變更情況。5 版本工具的使用5.1 配置管理工具開發(fā)部采用CVS進行配置管理,CVS是一個C/S系統(tǒng),多個開發(fā)人員通過一個中心版本控制系統(tǒng)來記錄文件版本,從而達到保證文件同步的目的。目前采用的CVS服務(wù)端為,客戶端為。5.2 CVS的使用5.2.1 常用命令英文命令中文命令操作、說明備注Checkout提取/取出將文件下載到本地目錄第一次下載目錄用Commit提交將改動過的文件提交到版本庫每次對文件更新后使用Update更新將文件同步到最新版本獲取最新版本Tag標簽給某個版本添加一個標記符號便于合并分支與主線Branch分支創(chuàng)建某個文件的分支

16、建立特殊版本時用到Merge合并將分支文件(或主文件)的更改合并到主文件(或分支文件)diff比較不同比較任意兩個版本間的不同ReversionGraph版本分支圖查看文件各版本(包括分支文件)的走向圖查詢各個版本及TagHistory歷史查看文件各個版本更新歷史查詢版本詳細信息5.2.2 簡單操作文件提?。撼醮问褂眯鑼⒃次募膫}庫提取出來,執(zhí)行checkout命令將庫文件提取至本地相應(yīng)位置。定時更新:開發(fā)人員每天早上對源代碼或文件進行更新操作(右鍵執(zhí)行update操作)。實時更新:某一開發(fā)人員提交更改后,可通知其它人員進行更新操作。實時提交:對某一文件進行更改完成后,執(zhí)行commit命令將更

17、改提交至倉庫,更改前先進行更新操作,如多個人員對同一文件同時進行操作,會產(chǎn)生沖突,這時需要對沖突進行處理。沖突處理:提交產(chǎn)生沖突時,先對文件進行同步(即更新)操作,之后會產(chǎn)生一個合并文件,<號前為兩個版本相同部分,號前為本地版本修改的內(nèi)容,>前為當前服務(wù)器最新版本修改的內(nèi)容,找到最近提交該文件的同事,進行協(xié)商后對源文件進行修改并提交。創(chuàng)建分支/標簽:右鍵菜單中選擇Branch或Tag找開創(chuàng)建對話框,輸入Branch名或Tag名,選中Create new branch/Create new tag,點擊OK即可。查看版本/歷史:文件(非文件夾)右健菜單中選擇Revision Grap

18、h.或History.,可查看該文件的版本更新記錄或歷史信息。5.2.3 版本分支管理我們把一個項目的主要開發(fā)過程稱作開發(fā)基線。當某一個特殊事件發(fā)生的時候,例如,有一個用戶有特殊的需求,于是就從這個開發(fā)基線里分離出來一個叉,以滿足用戶特殊的需求,這個叉有它自己的發(fā)展方向,這就是分支。-分支/-開發(fā)基線上面這個點,代表開發(fā)基線的最新版本,如果從開發(fā)基線建立分支來進行定制開發(fā),開發(fā)基線和分支就可以有各自的發(fā)展方向。如果有需要,分支的代碼可以重新合并到開發(fā)基線中,開發(fā)基線的代碼也可以合并到分支代碼中。假設(shè)在我們的home目錄下的proj目錄就是我們的工程。下面具體看一下,如何建立分支:1、當我們要在基線某個版本建立分支時,先在基線該版本上創(chuàng)建一個標簽(Tag),就是上圖中的黑點。這樣做是便于以后主干可以重新回到分支創(chuàng)建時的狀態(tài)。2、創(chuàng)建分支:右健單擊該目錄,選擇Branch,指定分支名,點擊OK即可。新建分支的版本號呈偶數(shù)序列遞增,如在基線版本1.5上創(chuàng)建兩個分支,則分支版本分別為1.5.2.1和1.5.4.1,分支的后續(xù)版本分別為1.5.2.2和1.5.4.2。3、在另外的目錄下執(zhí)行checkout命令,把剛才

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論