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

下載本文檔

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

文檔簡介

軟件版本管理規(guī)范

系統(tǒng)軟件開發(fā)部

2011—9—20

目錄TOC\o"1-5"\h\z\o"CurrentDocument"1 引言 2\o"CurrentDocument"1.1 目的 2\o"CurrentDocument"1.2 范圍 2\o"CurrentDocument"1。3 術(shù)語定義 2\o"CurrentDocument"1.4 版序控制記錄 2\o"CurrentDocument"1.5 版本更新記錄 3\o"CurrentDocument"2 版本管理 3\o"CurrentDocument"2。1 流程圖 3\o"CurrentDocument"2.2 版本命名 5\o"CurrentDocument"2.3 版本升級 6\o"CurrentDocument"2。3。1 版本升級原則 6\o"CurrentDocument"2。3。2 新版本的發(fā)布 6\o"CurrentDocument"2。4 目錄結(jié)構(gòu) 7\o"CurrentDocument"2.5 文檔的存放 8\o"CurrentDocument"2.5。1 文本文件的存放 8\o"CurrentDocument"2.5.2 源代碼的存放 8\o"CurrentDocument"2.5。3 發(fā)行文檔的存放 8\o"CurrentDocument"2.6 權(quán)限控制管理 8\o"CurrentDocument"3 備份管理 9\o"CurrentDocument"3.1 源文件備份 9\o"CurrentDocument"3.2 庫文件備份 9\o"CurrentDocument"4 用戶版本管理 9\o"CurrentDocument"5 版本工具的使用 10\o"CurrentDocument"5.1 配置管理工具 10\o"CurrentDocument"5.2 CVS的使用 10\o"CurrentDocument"5。2.1 常用命令 10\o"CurrentDocument"5。2.2 簡單操作 10\o"CurrentDocument"5.2。3 版本分支管理 111引言1.1目的本文檔是為規(guī)范XXXXXX有限公司軟件版本管理而制定的.1.2范圍本文檔為系統(tǒng)軟件開發(fā)部版本管理員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:?版本標(biāo)識方法?軟件系統(tǒng)數(shù)據(jù)的存放?文檔的修改控制?文檔的備份制度1.3術(shù)語定義CVSCVS是一個開源的版本控制系統(tǒng)ConcurrentVersionsSystem的簡稱文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。配置管理標(biāo)識和確定系統(tǒng)中配置項的過程,在系統(tǒng)整個生存周期內(nèi)控制這些項的投放和更動,記錄并報告配置的狀態(tài)和更動要求,驗證配置項的完整性和正確性.軟件配置軟件的具體形態(tài)在某時刻的瞬時影像.配置項軟件配置管理的對象稱為配置項,如:系統(tǒng)規(guī)格說明書,項目開發(fā)計劃,用戶手冊,源碼?;€軟件生存周期中各開發(fā)階段末尾的標(biāo)記,它的作用是把各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點上斷開,使之便于檢驗和肯定階段成果。1.4版序控制記錄版序狀態(tài)擬稿審核批準(zhǔn)發(fā)布日期1.0系統(tǒng)軟件開發(fā)部

1.5版本更新記錄*A—增加M—修改D—刪除版本/修訂版修改頁碼修改記錄修改人日期1。0初始版本版本管理2.1流程圖2.1.1文檔歸檔流程2.1.3代碼歸檔流程2.1.42.1.4代碼變更流程變更申請人評審人員開發(fā)人員測試人員配置管理員取消變更'不通過2?1?5配置管理流程變更申請人評審人員開發(fā)人員測試人員配置管理員取消變更'不通過2?1?5配置管理流程開發(fā)人員通過測試人員配置管理員更新版本(歸檔入庫)2.2軟件版本命名軟件版本號由四部分組成,第一個1為主版本號,第二個1為子版本號,第三個1為階段版本號,第四部分為日期版本號加希臘字母版本號,希臘字母版本號共有5種,分別為:Alpha、Beta、RC、Release。例如:1。1.1.051021_Beta。對于小項目或子系統(tǒng)而言,可簡化為<主版本號〉.<次版本號>?!葱抻啺姹咎枴担?。0。0。*主版本號:當(dāng)功能模塊有較大的變動,比如增加多個模塊或者整體架構(gòu)發(fā)生變化。此版本號由項目決定是否修改.子版本號:當(dāng)功能有一定的增加或變化,比如增加了對權(quán)限控制、增加自定義視圖等功能。此版本號由項目決定是否修改。階段版本號:一般是Bug修復(fù)或是一些小的變動,要經(jīng)常發(fā)布修訂版,時間間隔不限,修復(fù)一個嚴(yán)重的Bug即可發(fā)布一個修訂版。此版本號由項目經(jīng)理決定是否修改。*日期版本號用于記錄修改項目的當(dāng)前日期,每天對項目的修改都需要更改日期版本號.此版本號由開發(fā)人員決定是否修改。*Alpha版:此版本表示該軟件在此階段主要是以實現(xiàn)軟件功能為主,通常只在軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改.Beta版:該版本相對于a版已有了很大的改進(jìn),消除了嚴(yán)重的錯誤,但還是存在著一些缺陷,需要經(jīng)過多次測試來進(jìn)一步消除,此版本主要的修改對像是軟件的UI.RC版:該版本已經(jīng)相當(dāng)成熟了,基本上不存在導(dǎo)致錯誤的BUG,與即將發(fā)行的正式版相差無幾。Release版:該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式版本,是最終交付用戶使用的一個版本.該版本有時也稱為標(biāo)準(zhǔn)版。一般情況下,Release不會以單詞形式出現(xiàn)在軟件封面上,取而代之的是符號(R)。2.3版本升級2.3.1版本升級原則版本升級應(yīng)嚴(yán)格納入版本管理的控制之下。應(yīng)當(dāng)謹(jǐn)慎地控制版本的升級,保障高版本的向下兼容性,或提供嚴(yán)格定義的升級方法。在下面幾種情況下,進(jìn)行版本演化和升級:1、 當(dāng)產(chǎn)品發(fā)生重大修改和改進(jìn)時,主版本號加1。重大修改和改進(jìn)包括:平臺遷移;開發(fā)工具的遷移;體系結(jié)構(gòu)的變遷.2、 當(dāng)產(chǎn)品發(fā)生較小的改進(jìn)或修改時,次版本號可以加1.3、 對于改動量比較少的,如修改產(chǎn)品的錯誤,可升級修訂版本號.4、 記錄版本升級過程。每次版本升級,都要填寫版本升級記錄表,記錄表樣例如下:版本升級記錄表主版本子系統(tǒng)名稱子系統(tǒng)版本發(fā)布日期功能變更描述發(fā)布責(zé)任人批準(zhǔn)人備注說明:版本號:記錄當(dāng)前發(fā)布的版本。發(fā)布日期:該版本批準(zhǔn)發(fā)布的日期.修改文件:版本修改記錄文件,一般為版本修改日志。2.3.2新版本的發(fā)布新版本的發(fā)布包括主版本號和次版本號的升級,一般不包括內(nèi)部版本號的升級。流程如下:1、根據(jù)項目進(jìn)展情況,或者根據(jù)用戶需要進(jìn)行發(fā)布準(zhǔn)備。2、 將發(fā)布所需文件進(jìn)行打包,放在指定目錄中,給目錄加上標(biāo)簽Tag,標(biāo)簽中包含將要發(fā)布的版本信息。3、 同樣對源碼文件也要加上與版本信息相關(guān)的標(biāo)簽Tag.標(biāo)簽Tag命名規(guī)則如下:組成:模塊首字母+下劃線+文件類型+下劃線+主版本號+次版本號+內(nèi)部版本號+時間(+下劃線+合并標(biāo)記)樣例:qzcj_src_l_0_0_110923,qzcj表示采集模塊的首字母,src表示源碼,1_0_0表示將要發(fā)布的版本號,合并標(biāo)記可省略,只在有合并操作時注明,其中合并前的標(biāo)記為mbe,合并后的標(biāo)記為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è)計、詳細(xì)設(shè)計、界面設(shè)計數(shù)據(jù)庫文檔數(shù)據(jù)字典、數(shù)據(jù)庫搭建、備份還原方案、PDM設(shè)計測試文檔測試計劃、測試用例、測試報告用戶文檔用戶手冊、產(chǎn)品說明計劃文檔項目計劃、年度月度計劃外部接口文檔標(biāo)準(zhǔn)規(guī)范發(fā)布文件SETUPreleaserar文件發(fā)布文檔二級目錄中的版本指一些特殊的版本,不影響基線版本。2.5文檔的存放2.5.1文本文件的存放根據(jù)各項目部自己的情況,將系統(tǒng)用戶需求記錄、總體設(shè)計文檔、詳細(xì)設(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等格式的文檔也視為源代碼。各子系統(tǒng)當(dā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)限,所有權(quán)限。文檔類別:設(shè)計文檔,源碼,發(fā)行文檔。用戶類別:開發(fā)人員、測試人員、項目經(jīng)理、配置管理員等。為了控制不同的使用權(quán)限,根據(jù)要求在服務(wù)器上分別建立不同的用戶,針對不同的配置項所在目錄分配不同的權(quán)限。為了便于管理,應(yīng)以表格的形式列出人員與管理對象的訪問關(guān)系(用戶權(quán)限清單),詳見《系統(tǒng)部CVS權(quán)限配置》。備份管理為了保證文檔的最大可恢復(fù)性,要隨時及定期地進(jìn)行備份工作。3.1源文件備份開發(fā)人員每天都要將自已當(dāng)日修改的源文件提交(commit)至CVS倉庫。3.2庫文件備份為防止服務(wù)器出現(xiàn)異常,需對服務(wù)器上的CVS倉庫文件進(jìn)行備份,目前采用的方案如下:工作日備份:每個工作日將原本位于D盤的倉庫文件在H盤上備份一份,當(dāng)D盤倉庫出現(xiàn)異常時,用戶可把ROOT目錄修改至H盤備份的目錄,再進(jìn)行更新操作。每周備份:每周五下班時將H盤備份文件異地備份至其它IP(目前備份在192.168。53。68上).每月備份:每個月底將最新版本備份至光盤。用戶版本管理為了更好地管理源程序,應(yīng)為每一用戶建立一個用戶版本文件,該文件應(yīng)包含以下內(nèi)容:用戶編號:用戶名稱:軟件版本號:開始使用時間:聯(lián)系人:聯(lián)系電話:用戶程序更改日志樣例如下:更改時間版本號修改模塊名稱變更原因變更概述軟件位置變更人員備注說明:1) 用戶購買軟件時要為該用戶建立一個包含上述內(nèi)容的一個用戶版本文件,并填寫有關(guān)數(shù)據(jù).2) 用戶進(jìn)行版本更新時要求填寫該文件的版本變更記錄,用以反映用戶版本的變更情況.版本工具的使用5.1配置管理工具開發(fā)部采用CVS進(jìn)行配置管理,CVS是一個C/S系統(tǒng),多個開發(fā)人員通過一個中心版本控制系統(tǒng)來記錄文件版本,從而達(dá)到保證文件同步的目的。目前采用的CVS服務(wù)端為cvsnt—2.5.03.2260,客戶端為TortoiseCVS—1。8。29。5.2CVS的使用5.2.1常用命令央文命令中文命令操作、說明備注Checkout提取/取出將文件下載到本地目錄第一次下載目錄用Commit提交將改動過的文件提父到版本庫每次對文件更新后使用Update更新將文件同步到最新版本獲取最新版本Tag標(biāo)簽給某個版本添加一個標(biāo)記符號便于合并分支與主線Branch分支創(chuàng)建某個文件的分支建立特殊版本時用到Merge合并將分支文件(或主文件)的更改合并到主文件(或分支文件)diff比較不同比較任意兩個版本間的不同ReversionGraph版本分支圖查看文件各版本(包括分支文件)的走向圖查詢各個版本及TagHistory歷史查看文件各個版本更新歷史查詢版本詳細(xì)信息5.2.2簡單操作文件提取:初次使用需將源文件從倉庫提取出來,執(zhí)行checkout命令將庫文件提取至本地相應(yīng)位置。定時更新:開發(fā)人員每天早上對源代碼或文件進(jìn)行更新操作(右鍵執(zhí)行update操作)。實時更新:某一開發(fā)人員提交更改后,可通知其它人員進(jìn)行更新操作。實時提交:對某一文件進(jìn)行更改完成后,執(zhí)行commit命令將更改提交至倉庫,更改前先進(jìn)行更新操作,如多個人員對同一文件同時進(jìn)行操作,會產(chǎn)生沖突,這時需要對沖突進(jìn)行處理。沖突處理:提交產(chǎn)生沖突時,先對文件進(jìn)行同步(即更新)操作,之后會產(chǎn)生一個合并文件,‘〈'號前為兩個版本相同部分,號前為本地版本修改的內(nèi)容,‘〉前為當(dāng)前服務(wù)器最新版本修改的內(nèi)容,找到最近提交該文件的同事,進(jìn)行協(xié)商后對源文件進(jìn)行修改并提交。創(chuàng)建分支/標(biāo)簽:右鍵菜單中選擇'Branch'或‘Tag'找開創(chuàng)建對話框,輸入Branch名或Tag名,選中‘Createnewbranch'/‘Createnewtag',點擊OK即可。查看版本/歷史:文件(非文件夾)右健菜單中選擇'RevisionGraph.。'或'History。,可查看該文件的版本更新記錄或歷史信息.5.2.3版本分支管理我們把一個項目的主要開發(fā)過程稱作開發(fā)基線。當(dāng)某一個特殊事件發(fā)生的時候,例如,有一個用戶有特殊的需求,于是就從這個開發(fā)基線里分離出來一個叉,以滿足用戶特殊的需求,這個叉有它自己的發(fā)展方向,這就是分支. 分支///—--——-?—-——————--—————---—--—— 開發(fā)基線上面這個點,代表開發(fā)基線的最新版本,如果從開發(fā)基線建立分支來進(jìn)行定制開發(fā),開發(fā)基線

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論