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

下載本文檔

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

文檔簡(jiǎn)介

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

2、版本管理員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:l 版本標(biāo)識(shí)方法l 軟件系統(tǒng)數(shù)據(jù)的存放l 文檔的修改控制l 文檔的備份制度1.3 術(shù)語(yǔ)定義CVSCVS是一個(gè)開(kāi)源的版本控制系統(tǒng)Concurrent Versions System的簡(jiǎn)稱文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。配置管理標(biāo)識(shí)和確定系統(tǒng)中配置項(xiàng)的過(guò)程,在系統(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ī)格說(shuō)明書(shū),項(xiàng)目開(kāi)發(fā)計(jì)劃,用戶手冊(cè),源碼。基線 軟件生存周期中各開(kāi)發(fā)階段末尾的標(biāo)記,它的作用是把各階段

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

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

5、成所負(fù)責(zé)模塊的代碼編寫(xiě)任務(wù)后,提交到項(xiàng)目經(jīng)理處2、項(xiàng)目經(jīng)理向測(cè)試部門(mén)提交測(cè)試任務(wù)3、配置管理員準(zhǔn)備測(cè)試所需的環(huán)境4、測(cè)試人員開(kāi)展測(cè)試并實(shí)時(shí)提交BUG5、開(kāi)發(fā)人員處理測(cè)試過(guò)程中所出現(xiàn)的BUG,并提交給測(cè)試人員進(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

6、、Release。例如:Beta。對(duì)于小項(xiàng)目或子系統(tǒng)而言,可簡(jiǎn)化為。* 主版本號(hào):當(dāng)功能模塊有較大的變動(dòng),比如增加多個(gè)模塊或者整體架構(gòu)發(fā)生變化。此版本號(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)由開(kāi)發(fā)人員決定是否修改。* Alpha版: 此版本表示該軟件在此階段主

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

8、2.3.1 版本升級(jí)原則版本升級(jí)應(yīng)嚴(yán)格納入版本管理的控制之下。應(yīng)當(dāng)謹(jǐn)慎地控制版本的升級(jí),保障高版本的向下兼容性,或提供嚴(yán)格定義的升級(jí)方法。在下面幾種情況下,進(jìn)行版本演化和升級(jí):1、當(dāng)產(chǎn)品發(fā)生重大修改和改進(jìn)時(shí),主版本號(hào)加1。重大修改和改進(jìn)包括:1) 平臺(tái)遷移;2) 開(kāi)發(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í)過(guò)程。每次版本升級(jí),都要填寫(xiě)版本升級(jí)記錄表,記錄表樣例如下:版本升級(jí)記錄表主版本子系統(tǒng)名稱子系統(tǒng)版本發(fā)布日期功能變更描述發(fā)布責(zé)任人批準(zhǔn)人備注說(shuō)明:版本號(hào): 記錄當(dāng)前發(fā)布的

9、版本。發(fā)布日期:該版本批準(zhǔn)發(fā)布的日期。修改文件:版本修改記錄文件,一般為版本修改日志。2.3.2 新版本的發(fā)布新版本的發(fā)布包括主版本號(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表示采集模塊的首字

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

11、試計(jì)劃、測(cè)試用例、測(cè)試報(bào)告用戶文檔用戶手冊(cè)、產(chǎn)品說(shuō)明計(jì)劃文檔項(xiàng)目計(jì)劃、年度月度計(jì)劃外部接口文檔標(biāo)準(zhǔn)規(guī)范發(fā)布文件SETUPreleaserar文件發(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倉(cāng)庫(kù)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等格式

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

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

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

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

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

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

18、h.或History.,可查看該文件的版本更新記錄或歷史信息。5.2.3 版本分支管理我們把一個(gè)項(xiàng)目的主要開(kāi)發(fā)過(guò)程稱作開(kāi)發(fā)基線。當(dāng)某一個(gè)特殊事件發(fā)生的時(shí)候,例如,有一個(gè)用戶有特殊的需求,于是就從這個(gè)開(kāi)發(fā)基線里分離出來(lái)一個(gè)叉,以滿足用戶特殊的需求,這個(gè)叉有它自己的發(fā)展方向,這就是分支。-分支/-開(kāi)發(fā)基線上面這個(gè)點(diǎn),代表開(kāi)發(fā)基線的最新版本,如果從開(kāi)發(fā)基線建立分支來(lái)進(jìn)行定制開(kāi)發(fā),開(kāi)發(fā)基線和分支就可以有各自的發(fā)展方向。如果有需要,分支的代碼可以重新合并到開(kāi)發(fā)基線中,開(kāi)發(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即可。新建分支的版本號(hào)呈偶數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論