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

下載本文檔

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

文檔簡介

1、 軟件版本管理規(guī)范系統(tǒng)軟件開發(fā)部2011-9-20 目錄1引言 . 31.1目的. 3范圍. 3術(shù)語定義. 3版序控制記錄. 4版本更新記錄. 41.21.31.41.52版本管理 . 42.1流程圖. 4版本命名. 7版本升級. 7版本升級原則. 7新版本的發(fā)布. 8目錄結(jié)構(gòu). 8文檔的存放. 9文本文件的存放. 9源代碼的存放. 9發(fā)行文檔的存放. 10權(quán)限控制管理. 102.22.32.3.12.3.22.42.52.5.12.5.22.5.32.63備份管理 . 103.13.2源文件備份. 10庫文件備份. 1045用戶版本管理 . 11版本工具的使用 . 115.15.25.2.1

2、配置管理工具. 11cvs 的使用 . 12常用命令. 12簡單操作. 12版本分支管理. 135.2.25.2.3 1 引言1.1 目的本文檔是為規(guī)范 xxxxxx 有限公司軟件版本管理而制定的。1.2 范圍本文檔為系統(tǒng)軟件開發(fā)部版本管理員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:l 版本標(biāo)識方法l 軟件系統(tǒng)數(shù)據(jù)的存放l 文檔的修改控制l 文檔的備份制度1.3 術(shù)語定義cvscvs是一個(gè)開源的版本控制系統(tǒng)concurrent versions system的簡稱文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。配置管理標(biāo)識和確定系統(tǒng)中配置項(xiàng)的過程,在系統(tǒng)整個(gè)生存周期內(nèi)控制這些項(xiàng)的投放和更動(dòng),記錄并報(bào)告配置的狀

3、態(tài)和更動(dòng)要求,驗(yàn)證配置項(xiàng)的完整性和正確性。軟件配置軟件的具體形態(tài)在某時(shí)刻的瞬時(shí)影像。配置項(xiàng)軟件配置管理的對象稱為配置項(xiàng),如:系統(tǒng)規(guī)格說明書,項(xiàng)目開發(fā)計(jì)劃,用戶手冊,源碼?;€軟件生存周期中各開發(fā)階段末尾的標(biāo)記,它的作用是把各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點(diǎn)上斷開,使之便于檢驗(yàn)和肯定階段成果。 1.4 版序控制記錄版序狀態(tài)擬稿系統(tǒng)軟件開發(fā)部審核批準(zhǔn)發(fā)布日期1.5 版本更新記錄*a - 增加 m - 修改 d - 刪除修改記錄 修改人版本/修訂版修改頁碼日期初始版本2 版本管理2.1 流程圖2.1.1 文檔歸檔流程評審人員2.1.2 文檔變更流程 評審人員文檔編寫人員配置管理員(

4、歸檔入庫)2.1.3 代碼歸檔流程開發(fā)人員測試人員配置管理員源代碼入庫從 cvs 庫提取源代碼進(jìn)行編譯制作安裝程序通過修改源代碼更新版本2.1.4 代碼變更流程 變更申請人評審人員開發(fā)人員測試人員配置管理員(歸檔入庫)2.1.5 配置管理流程開發(fā)人員項(xiàng)目管理人員測試人員配置管理員新版本發(fā)布入庫輸出給市場部發(fā)布文檔更新流程說明:1、開發(fā)人員完成所負(fù)責(zé)模塊的代碼編寫任務(wù)后,提交到項(xiàng)目經(jīng)理處2、項(xiàng)目經(jīng)理向測試部門提交測試任務(wù)3、配置管理員準(zhǔn)備測試所需的環(huán)境4、測試人員開展測試并實(shí)時(shí)提交 bug5、開發(fā)人員處理測試過程中所出現(xiàn)的bug,并提交給測試人員進(jìn)行回歸測試,直至bug 被關(guān)閉6、測試基本完成后

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

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

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

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

9、部版本號的升級。流程如下:1、根據(jù)項(xiàng)目進(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)部版本號+時(shí)間(+下劃線+合并標(biāo)記)樣例:qzcj_src_1_0_0_110923,qzcj 表示采集模塊的首字母,src 表示源碼,1_0_0表示將要發(fā)布的版本號,合并標(biāo)記可省略,只在有合并操作時(shí)注明,其中合并前的標(biāo)記為 mbe, 合并后的標(biāo)記為 maf。2.4 目錄結(jié)

10、構(gòu)但為了能更好地管理各項(xiàng)目組的文檔,建議可將被管理的配置項(xiàng)分為三大類:文檔類、源碼類及安裝盤類,這樣存放比較清晰,有利于版本管理,現(xiàn)將目錄結(jié)構(gòu)整理如下: 一級目錄對應(yīng)配置項(xiàng)備注源碼源碼后臺計(jì)算業(yè)務(wù)應(yīng)用數(shù)據(jù)庫源碼源碼code立項(xiàng)報(bào)告、需求分析、需求記錄軟件架構(gòu)、總體設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、界面設(shè)計(jì)數(shù)據(jù)字典、數(shù)據(jù)庫搭建、備份還原方案、pdm 設(shè)計(jì)測試計(jì)劃、測試用例、測試報(bào)告文檔doc用戶文檔用戶手冊、產(chǎn)品說明項(xiàng)目計(jì)劃、年度月度計(jì)劃計(jì)劃文檔外部接口文檔標(biāo)準(zhǔn)規(guī)范發(fā)布文檔二級目錄中的版本指一些特殊的版本,不影響基線版本。2.5 文檔的存放2.5.1 文本文件的存放根據(jù)各項(xiàng)目部自己的情況,將系統(tǒng)用戶需求

11、記錄、總體設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)及數(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)機(jī)幫助文件 hlp 在未生成 hlp 文件之前的 doc,rtf 等格式的文檔也視為源代碼。各子系統(tǒng)當(dāng)前的程序源文件放入 cvs 倉庫 code 目錄相應(yīng)的 bb 目錄下,對于一個(gè)子系統(tǒng)又分多個(gè)分子系統(tǒng)的情況,應(yīng)在該目錄下分別建立幾個(gè)相應(yīng)的子目錄。 2.5.3 發(fā)行文檔的存放發(fā)行文檔是指產(chǎn)品交付用戶使用所必須的文件。包括:產(chǎn)品可執(zhí)行

12、文件,用戶使用說明書,聯(lián)機(jī)幫助(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è)計(jì)文檔,源碼,發(fā)行文檔。用戶類別:開發(fā)人員、測試人員、項(xiàng)目經(jīng)理、配置管理員等。為了控制不同的使用權(quán)限,根據(jù)要求在服務(wù)器上分別建立不同的用戶,針對不同的配置項(xiàng)所在目錄分配不同的權(quán)限。為了便于管理,應(yīng)以表格的形式列出

13、人員與管理對象的訪問關(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)異常,需對服務(wù)器上的 cvs 倉庫文件進(jìn)行備份,目前采用的方案如下:工作日備份:每個(gè)工作日將原本位于 d 盤的倉庫文件在 h 盤上備份一份,當(dāng) d 盤 倉庫出現(xiàn)異常時(shí),用戶可把 root 目錄修改至 h 盤備份的目錄,再進(jìn)行更新操作。每周備份:每周五下班時(shí)將192.168.53.68 上)。h 盤備份文件異地備份至其它ip(目前備

14、份在每月備份:每個(gè)月底將最新版本備份至光盤。4 用戶版本管理為了更好地管理源程序,應(yīng)為每一用戶建立一個(gè)用戶版本文件,該文件應(yīng)包含以下內(nèi)容:用戶編號:用戶名稱:軟件版本號:開始使用時(shí)間:聯(lián)系人:聯(lián)系電話:用戶程序更改日志樣例如下:軟件位置 變更 備注人員說明: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è)中心版本控制系統(tǒng)來記錄文件版本,從而達(dá)到保證文件同步的目

15、的。目前采用的 cvs 服務(wù)端為 cvsnt-2.5.03.2260,客戶端為 tortoisecvs-1.8.29。 5.2 cvs 的使用5.2.1 常用命令英文命令 中文命令操作、說明備注將文件下載到本地目錄第一次下載目錄用每次對文件更新后使用獲取最新版本提交更新標(biāo)簽分支合并將改動(dòng)過的文件提交到版本庫將文件同步到最新版本給某個(gè)版本添加一個(gè)標(biāo)記符號創(chuàng)建某個(gè)文件的分支branchmerge將分支文件(或主文件)的更改合并到主文件(或分支文件)diff比較不同比較任意兩個(gè)版本間的不同查看文件各版本(包括分支文件)的走向圖reversion 版本分支圖graphhistory歷史查看文件各個(gè)版本

16、更新歷史5.2.2 簡單操作文件提取:初次使用需將源文件從倉庫提取出來,執(zhí)行 checkout 命令將庫文件提取至本地相應(yīng)位置。定時(shí)更新:開發(fā)人員每天早上對源代碼或文件進(jìn)行更新操作(右鍵執(zhí)行 update 操作)。實(shí)時(shí)更新:某一開發(fā)人員提交更改后,可通知其它人員進(jìn)行更新操作。實(shí)時(shí)提交:對某一文件進(jìn)行更改完成后,執(zhí)行 commit 命令將更改提交至倉庫,更改前先進(jìn)行更新操作,如多個(gè)人員對同一文件同時(shí)進(jìn)行操作,會(huì)產(chǎn)生沖突,這時(shí)需要對沖突進(jìn)行處理。沖突處理:提交產(chǎn)生沖突時(shí),先對文件進(jìn)行同步(即更新)操作,之后會(huì)產(chǎn)生一個(gè)合并文件,前為當(dāng)前服務(wù)器最新版本修改的內(nèi)容,找到最近提交該文件的同事,進(jìn)行協(xié)商后對

17、源文件進(jìn)行修改并提交。創(chuàng)建分支/標(biāo)簽:右鍵菜單中選擇branch或tag找開創(chuàng)建對話框,輸入 branch 名或 tag名,選中create new branch/create new tag,點(diǎn)擊 ok 即可。查看版本/歷史:文件(非文件夾)右健菜單中選擇revision graph.或history.,可查看該文件的版本更新記錄或歷史信息。 5.2.3 版本分支管理我們把一個(gè)項(xiàng)目的主要開發(fā)過程稱作開發(fā)基線。當(dāng)某一個(gè)特殊事件發(fā)生的時(shí)候,例如,有一個(gè)用戶有特殊的需求,于是就從這個(gè)開發(fā)基線里分離出來一個(gè)叉,以滿足用戶特殊的需求,這個(gè)叉有它自己的發(fā)展方向,這就是分支。-分支/-開發(fā)基線上面這個(gè)點(diǎn),

18、代表開發(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)擊ok即可。新建分支的版本號呈偶數(shù)序列遞增,如在基線版本 1.5 上創(chuàng)建兩個(gè)分支,則分支版本分別為 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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論