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

下載本文檔

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

文檔簡(jiǎn)介

1、軟件版本管理規(guī)范系統(tǒng)軟件開發(fā)部2011-9-20目錄目的 范圍 術(shù)語定義 版序控制記錄 版本更新記錄 2 版本管理 流程圖 版本命名 版本升級(jí) 版本升級(jí)原則 新版本的發(fā)布 目錄結(jié)構(gòu) 文檔的存放 文本文件的存放 源代碼的存放 發(fā)行文檔的存放 權(quán)限控制管理 3 備份管理 源文件備份 庫文件備份 4 用戶版本管理 5 版本工具的使用 配置管理工具 CVS的使用常用命令 簡(jiǎn)單操作 版本分支管理 1 引言1.1 目的本文檔是為規(guī)范XXXXX有限公司軟件版本管理而制定的1.2范圍本文檔為系統(tǒng)軟件開發(fā)部版本管理員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:版本標(biāo)識(shí)方法軟件系統(tǒng)數(shù)據(jù)的存放文檔的修改控制文檔的備份制度

2、1.3術(shù)語定義CVSCVS是一個(gè)開源的版本控制系統(tǒng) ConcurrentVersionsSystem 的簡(jiǎn)稱 文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。 配置管理標(biāo)識(shí)和確定系統(tǒng)中配置項(xiàng)的過程,在系統(tǒng)整個(gè)生存周期內(nèi)控制這些項(xiàng)的投放和 更動(dòng),記錄并報(bào)告配置的狀態(tài)和更動(dòng)要求,驗(yàn)證配置項(xiàng)的完整性和正確性。 軟件配置軟件的具體形態(tài)在某時(shí)刻的瞬時(shí)影像。 配置項(xiàng) 軟件配置管理的對(duì)象稱為配置項(xiàng),女口:系統(tǒng)規(guī)格說明書,項(xiàng)目開發(fā)計(jì)劃,用戶手冊(cè), 源碼。基線軟件生存周期中各開發(fā)階段末尾的標(biāo)記,它的作用是把各階段工作的劃分更加明確 化,使本來連續(xù)的工作在這些點(diǎn)上斷開,使之便于檢驗(yàn)和肯定階段成果。1.4版序控制記錄版序狀態(tài)擬

3、稿審核批準(zhǔn)發(fā)布日期系統(tǒng)軟件開發(fā)部1.5版本更新記錄*A-增加M修改D-刪除版本/修訂版修改頁碼修改記錄修改人日期初始版本2版本管理2.1流程圖2.1.1文檔歸檔流程開發(fā)人員測(cè)試人員配置管理員2.1.3代碼歸檔流程2.1.4代碼變更流程變更申請(qǐng)人評(píng)審人員開發(fā)人員測(cè)試人員配置管理員提交變更取消變更通過變更實(shí)施變更影響分 析及審批不通過2.1.5配置管理流程卜代碼測(cè)試不通過流程說明:1、開發(fā)人員完成所負(fù)責(zé)模塊的代碼編寫任務(wù)后,提交到項(xiàng)目經(jīng)理處2、項(xiàng)目經(jīng)理向測(cè)試部門提交測(cè)試任務(wù)3、配置管理員準(zhǔn)備測(cè)試所需的環(huán)境4、測(cè)試人員開展測(cè)試并實(shí)時(shí)提交BUG5、 開發(fā)人員處理測(cè)試過程中所岀現(xiàn)的BUG并提交給測(cè)試人員

4、進(jìn)行回歸測(cè)試,直至BUG被關(guān)閉6、測(cè)試基本完成后,測(cè)試人員提交測(cè)試報(bào)告7、項(xiàng)目情況根據(jù)實(shí)際情況決定是否發(fā)布新的版本8、配置管理員與各相關(guān)人員經(jīng)討論后確定好新版本各項(xiàng)信息9、配置管理員發(fā)布新版本2.2 軟件版本命名軟件版本號(hào)由四部分組成,第一個(gè) 1 為主版本號(hào),第二個(gè) 1為子版本號(hào),第三 個(gè) 1 為階段版本號(hào),第四部分為日期版本號(hào)加希臘字母版本號(hào),希臘字母版本號(hào)共 有5種,分別為:Alpha、Beta、RC Release。例如:Beta。對(duì)于小項(xiàng)目或子系統(tǒng) 而言,可簡(jiǎn)化為 主版本號(hào) .次版本號(hào) .修訂版本號(hào) ,如。*主版本號(hào): 當(dāng)功能模塊有較大的變動(dòng), 比如增加多個(gè)模塊或者整體架構(gòu)發(fā)生變 化。

5、此版本號(hào)由項(xiàng)目決定是否修改。*子版本號(hào):當(dāng)功能有一定的增加或變化,比如增加了對(duì)權(quán)限控制、增加自定義 視圖等功能。此版本號(hào)由項(xiàng)目決定是否修改。*階段版本號(hào):一般是Bug修復(fù)或是一些小的變動(dòng),要經(jīng)常發(fā)布修訂版,時(shí)間間 隔不限,修復(fù)一個(gè)嚴(yán)重的Bug即可發(fā)布一個(gè)修訂版。此版本號(hào)由項(xiàng)目經(jīng)理決定是否 修改。*日期版本號(hào)用于記錄修改項(xiàng)目的當(dāng)前日期, 每天對(duì)項(xiàng)目的修改都需要更改日期 版本號(hào)。此版本號(hào)由開發(fā)人員決定是否修改。*Alpha 版: 此版本表示該軟件在此階段主要是以實(shí)現(xiàn)軟件功能為主,通常只在 軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改。*Beta版:該版本相對(duì)于a版已有了很大的

6、改進(jìn),消除了嚴(yán)重的錯(cuò)誤,但還是 存在著一些缺陷,需要經(jīng)過多次測(cè)試來進(jìn)一步消除,此版本主要的修改對(duì)像是軟件 的 UI 。*RC版:該版本已經(jīng)相當(dāng)成熟了,基本上不存在導(dǎo)致錯(cuò)誤的BUG與即將發(fā)行的正式版相差無幾。*Release 版: 該版本意味“最終版本”,在前面版本的一系列測(cè)試版之后,終 歸會(huì)有一個(gè)正式版本, 是最終交付用戶使用的一個(gè)版本。 該版本有時(shí)也稱為標(biāo)準(zhǔn)版。 一般情況下, Release 不會(huì)以單詞形式岀現(xiàn)在軟件封面上,取而代之的是符號(hào) (R)2.3 版本升級(jí)2.3.1 版本升級(jí)原則版本升級(jí)應(yīng)嚴(yán)格納入版本管理的控制之下。應(yīng)當(dāng)謹(jǐn)慎地控制版本的升級(jí),保障 高版本的向下兼容性,或提供嚴(yán)格定義的

7、升級(jí)方法。在下面幾種情況下,進(jìn)行版本演化和升級(jí):1、當(dāng)產(chǎn)品發(fā)生重大修改和改進(jìn)時(shí),主版本號(hào)加 1。重大修改和改進(jìn)包括:1) 平臺(tái)遷移;2)開發(fā)工具的遷移;3)體系結(jié)構(gòu)的變遷。2、當(dāng)產(chǎn)品發(fā)生較小的改進(jìn)或修改時(shí),次版本號(hào)可以加 1。3、對(duì)于改動(dòng)量比較少的,如修改產(chǎn)品的錯(cuò)誤,可升級(jí)修訂版本號(hào)。4、記錄版本升級(jí)過程。每次版本升級(jí),都要填寫版本升級(jí)記錄表,記錄表樣例 如下:版本升級(jí)記錄表主版本子系統(tǒng)名稱子系統(tǒng)版本發(fā)布日期功能變更描述發(fā)布責(zé)任人批準(zhǔn)人備注說明:版本號(hào):記錄當(dāng)前發(fā)布的版本。發(fā)布日期:該版本批準(zhǔn)發(fā)布的日期。修改文件:版本修改記錄文件,一般為版本修改日志。2.3.2新版本的發(fā)布新版本的發(fā)布包括主版

8、本號(hào)和次版本號(hào)的升級(jí), 一般不包括內(nèi)部版本號(hào)的升級(jí)。 流程如下:1、根據(jù)項(xiàng)目進(jìn)展情況,或者根據(jù)用戶需要進(jìn)行發(fā)布準(zhǔn)備。2、 將發(fā)布所需文件進(jìn)行打包,放在指定目錄中,給目錄加上標(biāo)簽Tag,標(biāo)簽 中包含將要發(fā)布的版本信息。3、 同樣對(duì)源碼文件也要加上與版本信息相關(guān)的標(biāo)簽Tag。標(biāo)簽Tag命名規(guī)則如下:組成:模塊首字母+下劃線+文件類型+下劃線+主版本號(hào)+次版本號(hào)+內(nèi)部版本號(hào) +時(shí)間(+下劃線+合并標(biāo)記)樣例:qzcj_src_1_0_0_110923,qzcj表示采集模塊的首字母,src表示源碼, 1_0_0表示將要發(fā)布的版本號(hào),合并標(biāo)記可省略,只在有合并操作時(shí)注明,其 中合并前的標(biāo)記為mbe合并后

9、的標(biāo)記為maf。2.4目錄結(jié)構(gòu)但為了能更好地管理各項(xiàng)目組的文檔,建議可將被管理的配置項(xiàng)分為三大類: 文檔類、源碼類及安裝盤類,這樣存放比較清晰,有利于版本管理,現(xiàn)將目錄結(jié)構(gòu) 整理如下:根目錄一級(jí)目錄二級(jí)目錄對(duì)應(yīng)配置項(xiàng)備注resp源碼code前置采集源碼后臺(tái)計(jì)算源碼業(yè)務(wù)應(yīng)用源碼數(shù)據(jù)庫SQL文件業(yè)務(wù)支撐公用開發(fā)包文檔doc需求文檔立項(xiàng)報(bào)告、需求分析、需求 記錄設(shè)計(jì)文檔軟件架構(gòu)、總體設(shè)計(jì)、概要 設(shè)計(jì)、詳細(xì)設(shè)計(jì)、界面設(shè)計(jì)數(shù)據(jù)庫文檔數(shù)據(jù)字典、數(shù)據(jù)庫搭建、備 份還原方案、PDM設(shè)計(jì)測(cè)試文檔測(cè)試計(jì)劃、測(cè)試用例、測(cè)試 報(bào)告用戶文檔用戶手冊(cè)、產(chǎn)品說明計(jì)劃文檔項(xiàng)目計(jì)劃、年度月度計(jì)劃:外部接口文檔標(biāo)準(zhǔn)規(guī)范發(fā)布文件S

10、ETUPreleaserar文件發(fā)布文檔二級(jí)目錄中的版本指一些特殊的版本,不影響基線版本2.5文檔的存放2.5.1文本文件的存放根據(jù)各項(xiàng)目部自己的情況,將系統(tǒng)用戶需求記錄、總體設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)及 數(shù)據(jù)結(jié)構(gòu)文件、測(cè)試記錄、用戶手冊(cè)等放入CVS倉庫doc目錄相應(yīng)的子目錄下。2.5.2源代碼的存放源代碼包括如:java,jsp,BMP ICO等相關(guān)文件,是未經(jīng)編譯處理的、不能 直接交付使用的產(chǎn)品文件以及編譯產(chǎn)品所需的文件;聯(lián)機(jī)幫助文件HLP在未生成HLP文件之前的DOC RTF等格式的文檔也視為源代碼。各子系統(tǒng)當(dāng)前的程序源文件放入 CVS倉庫code目錄相應(yīng)的bb目錄下,對(duì)于一 個(gè)子系統(tǒng)又分多個(gè)分

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

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

13、行更新操作。每月備份:每個(gè)月底將最新版本備份至光盤。4 用戶版本管理為了更好地管理源程序,應(yīng)為每一用戶建立一個(gè)用戶版本文件,該文件應(yīng)包含 以下內(nèi)容:用戶編號(hào):用戶名稱: 軟件版本號(hào): 開始使用時(shí)間: 聯(lián)系人:聯(lián)系電話: 用戶程序更改日志樣例如下:更改 時(shí)間版本號(hào)修改模 塊名稱變更原因變更概述軟件位置變更 人員備注說明:1) 用戶購買軟件時(shí)要為該用戶建立一個(gè)包含上述內(nèi)容的一個(gè)用戶版本文件,并 填寫有關(guān)數(shù)據(jù)。2)用戶進(jìn)行版本更新時(shí)要求填寫該文件的版本變更記錄, 用以反映用戶版本的 變更情況。5版本工具的使用5.1配置管理工具開發(fā)部采用CVS進(jìn)行配置管理,CVS是一個(gè)C/S系統(tǒng),多個(gè)開發(fā)人員通過一個(gè)

14、 中心版本控制系統(tǒng)來記錄,從而達(dá)到保證文件同步的目的。目前采用的CVS服務(wù)端為,客戶端為。5.2 CVS的使用5.2.1常用命令英文命令中文命令操作、說明備注Checkout提取/取出將文件下載到本地目錄第一次下載目錄用Commit提交將改動(dòng)過的文件提交到版本庫每次對(duì)文件更新后使 用Update更新將文件冋步到最新版本獲取最新版本Tag標(biāo)簽給某個(gè)版本添加一個(gè)標(biāo)記符號(hào)便于合并分支與主線Branch分支創(chuàng)建某個(gè)文件的分支建立特殊版本時(shí)用到Merge合并將分支文件(或主文件)的更改合并到主文 件(或分支文件)diff比較不同比較任意兩個(gè)版本間的不冋Revers ionGraph版本分支圖查看文件各版

15、本(包括分支文件)的走向圖查詢各個(gè)版本及TagHistory歷史查看文件各個(gè)版本更新歷史查詢版本詳細(xì)信息5.2.2簡(jiǎn)單操作文件提?。撼醮问褂眯鑼⒃次募膫}庫提取出來,執(zhí)行checkout命令將庫文件提取至本地相應(yīng)位置定時(shí)更新:開發(fā)人員每天早上對(duì)源代碼或文件進(jìn)行更新操作(右鍵執(zhí)行update 操作)。實(shí)時(shí)更新:某一開發(fā)人員提交更改后,可通知其它人員進(jìn)行更新操作。實(shí)時(shí)提交:對(duì)某一文件進(jìn)行更改完成后,執(zhí)行 commit 命令將更改提交至 倉庫,更改前先進(jìn)行更新操作,如多個(gè)人員對(duì)同一文件同時(shí)進(jìn)行操作,會(huì)產(chǎn) 生沖突,這時(shí)需要對(duì)沖突進(jìn)行處理。沖突處理:提交產(chǎn)生沖突時(shí),先對(duì)文件進(jìn)行同步(即更新)操作,之后會(huì)

16、 產(chǎn)生一個(gè)合并文件, V '號(hào)前為兩個(gè)版本相同部分,二號(hào)前為本地版本修 改的內(nèi)容, >'前為當(dāng)前服務(wù)器最新版本修改的內(nèi)容,找到最近提交該文件 的同事,進(jìn)行協(xié)商后對(duì)源文件進(jìn)行修改并提交。創(chuàng)建分支/標(biāo)簽:右鍵菜單中選擇Branch '或Tag'找?guī)詣?chuàng)建對(duì)話框, 輸入 Branch 名或 Tag 名,選中Createnewbranch ' / Createnewtag ',點(diǎn) 擊OK即可。查看版本 / 歷史:文件(非文件夾)右健菜單中選擇 RevisionGraph.'或 History. ',可查看該文件的版本更新記錄或歷史信息

17、。5.2.3 版本分支管理我們把一個(gè)項(xiàng)目的主要開發(fā)過程稱作開發(fā)基線。 當(dāng)某一個(gè)特殊事件發(fā)生的時(shí)候, 例如,有一個(gè)用戶有特殊的需求,于是就從這個(gè)開發(fā)基線里分離出來一個(gè)叉,以滿 足用戶特殊的需求,這個(gè)叉有它自己的發(fā)展方向,這就是分支。 分支/開發(fā)基線上面這個(gè)點(diǎn),代表開發(fā)基線的最新版本,如果從開發(fā)基線建立分支來進(jìn)行定制 開發(fā),開發(fā)基線和分支就可以有各自的發(fā)展方向。如果有需要,分支的代碼可以重 新合并到開發(fā)基線中,開發(fā)基線的代碼也可以合并到分支代碼中。假設(shè)在我們的home目錄下的proj目錄就是我們的工程。下面具體看一下,如何建立分支:1、當(dāng)我們要在基線某個(gè)版本建立分支時(shí),先在基線該版本上創(chuàng)建一個(gè)標(biāo)簽(Tag),就是上圖中的黑點(diǎn)。這樣做是便于以后主干可以重新回到分支創(chuàng)建時(shí)的 狀態(tài)。2、創(chuàng)建分支:右健單擊該目錄,選擇 Branch指定分支名,點(diǎn)擊 0K即可。新建分支的版本號(hào)呈偶數(shù)序列遞增,如在基線3、在另外的目錄下執(zhí)行 checkout 命令,把剛才建立的分支提取出來(注意不 要在原來目錄下提取,那樣會(huì)覆蓋原有文件夾)。接

溫馨提示

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

評(píng)論

0/150

提交評(píng)論