您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 >
如何利用PVCS進(jìn)行軟件項(xiàng)目文檔管理?
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/7 15:56:42 ] 推薦標(biāo)簽:

為什么選擇PVCS VM? 在軟件系統(tǒng)的開發(fā)過程中,開發(fā)人員經(jīng)常會(huì)遇到這樣的問題:
1. 源代碼和文檔數(shù)量的急劇增加;
2. 經(jīng)常需要與錯(cuò)綜復(fù)雜的多用戶、多產(chǎn)品的軟件版本打交道;
3. 開發(fā)小組成員間源代碼的更新和保存記錄變得越來越復(fù)雜;
4. 產(chǎn)品的多版本導(dǎo)致磁盤空間占有量浩大。
實(shí)際上,上述問題可以歸結(jié)為一個(gè)問題,即開發(fā)文檔的版本控制問題:開發(fā)人員追蹤、 記錄整個(gè)開發(fā)過程而保?許多不同版本的程序源代碼。從而可以有效地控制產(chǎn)品的設(shè)計(jì)質(zhì)量,提高項(xiàng)目開發(fā)管理水平。
PVCS VM(版本管理)是軟件配置管理工具PVCS 家族中的一個(gè)組成部分。軟件配置管理可以使軟件開發(fā)隊(duì)伍中的任何成員以一致,可重復(fù)的方式隨時(shí)找回和創(chuàng)建應(yīng)用的任何版本。
VM詳細(xì)記錄了一個(gè)軟件系統(tǒng)的所有變更,包括誰做了修改,什么時(shí)候,和為什么修改。通過VM,你可以輕易地找回任何先前的修訂版本,并且確信這些文件不是被忽略重寫的。當(dāng)你檢出一個(gè)文件時(shí),VM將阻止其他用戶對(duì)該文件的修改。
通過VM,開發(fā)小組成員可以......
* 建立配置文件,能夠?yàn)樗杏脩籼峁┮惶紫嗤奶卣,或者為不同?xiàng)目提供不同的特征。
* 使用VM 特權(quán)設(shè)置每個(gè)用戶的訪問級(jí)別,以防止對(duì)文件和版本管理命令的未認(rèn)證訪問。
* 重建任何文件的任何修訂?梢钥焖俣菀椎鼗氐饺我还ぷ魑募南惹靶抻。
* 用版本鎖定來阻止其他用戶對(duì)文件的修改,以及防止當(dāng)文件更新時(shí)所造成的損失。
* 軟件開發(fā)中的并行線稱為分支。VM可以追蹤分支并且保持開發(fā)的獨(dú)立進(jìn)行,這樣你可以在不影響主線的情況下跟隨開發(fā)的另一線。
下面我們將應(yīng)用PVCS VM(版本控制)工具來說明在軟件項(xiàng)目中的“源碼控制過程”。通過工程" Dynaweb"這個(gè)案例,來展示我們已經(jīng)使用的過程模型,該源碼控制系統(tǒng)的目的是:
* 支持團(tuán)隊(duì)工作環(huán)境:在某個(gè)時(shí)刻,相同的文件會(huì)被2個(gè)以上的開發(fā)人員同時(shí)作修改。當(dāng)他們做完修改后存盤,錯(cuò)誤將會(huì)發(fā)生。后者覆蓋了前者所做的修改,從而造成一些錯(cuò)誤產(chǎn)生。而PVCS VM將控制源碼的訪問,從而避免超過1人以上用戶修改相同文件的問題。
* 保持發(fā)布版本變更的歷史記錄:通常,在產(chǎn)品發(fā)布以后,開發(fā)人員還需要繼續(xù)修改源碼。當(dāng)QA報(bào)告發(fā)布版本的Bug信息時(shí),開發(fā)人員所修改的源碼與發(fā)布版本初的源碼不同。即使我們確實(shí)保?了原始發(fā)布版本的源碼,在QA期間,開發(fā)人員要想在新的版本上進(jìn)行BUG的修改,這也是非常困難的。而我們使用PVCS VM保存源碼變更的歷史記錄,那么我們可以獲得任意發(fā)布版本的源碼。
* 標(biāo)準(zhǔn)發(fā)布過程:通常開發(fā)人員是在自己的PC機(jī)上生成發(fā)布程序。這樣做會(huì)導(dǎo)致一些錯(cuò)誤發(fā)生,例如使用了錯(cuò)誤源碼進(jìn)行發(fā)布,應(yīng)用不同的設(shè)置來創(chuàng)建代碼,等等。PVCS VM可以幫助我們集中管理發(fā)布構(gòu)建的過程,以避免錯(cuò)誤發(fā)生。
在我們開始為源碼控制而建立PVCS VM系統(tǒng)之前,我們需要先做一些準(zhǔn)備工作:
* 我們需要配置網(wǎng)絡(luò)環(huán)境與服務(wù)器連接,還有工作站和開發(fā)人員的PC機(jī)。網(wǎng)絡(luò)類型應(yīng)該支持開發(fā)平臺(tái)和PVCS VM系統(tǒng)。
* 服務(wù)器通常是由公司網(wǎng)絡(luò)部門提供的,需要有足夠大的磁盤空間用于源碼的存儲(chǔ),并且服務(wù)器上已經(jīng)安裝好PVCS VM系統(tǒng)。請(qǐng)參看《PVCS VM用戶指南》的服務(wù)器安裝。
* 開發(fā)小組需要準(zhǔn)備一個(gè)工作站(PC),在上面建立開發(fā)環(huán)境,這個(gè)環(huán)境與開發(fā)人員的相同,該工作站用于產(chǎn)品發(fā)布。開發(fā)環(huán)境包括一些構(gòu)建工具,如編譯器、鏈接器、創(chuàng)建文件等等,并且在工作目錄下保存工作源文件。
* 對(duì)于應(yīng)用PVCS VM系統(tǒng), 網(wǎng)絡(luò)部人員和至少1名開發(fā)人員需要較好受過管理員這方面的培訓(xùn)。每個(gè)開發(fā)人員都應(yīng)該知道如何應(yīng)用PVCS VM進(jìn)行開發(fā)源碼的檢入和檢出操 作。

PVCS VM是一個(gè)多用戶的客戶服務(wù)器網(wǎng)絡(luò)工作環(huán)境?蛻舳耸情_發(fā)人員的工作站,服務(wù)器是公司網(wǎng)絡(luò)部門文件服務(wù)器中的一個(gè)。
* PVCS VM服務(wù)器是公司網(wǎng)絡(luò)部文件服務(wù)器中的一個(gè),由公司網(wǎng)絡(luò)部門來維護(hù)。這個(gè)服務(wù)器保存著Dynaweb工程源碼的所有主要數(shù)據(jù)和PVCS VM系統(tǒng)。它包含有兩個(gè)主要的目錄文件夾:
* PVCS VM目錄:該目錄是由安裝的PVCS VM服務(wù)器版本自動(dòng)生成的。目錄中包含PVCS VM服務(wù)器版本的所有工作文件和數(shù)據(jù)庫。
* 存檔文件目錄:該目錄下保存著PVCS VM服務(wù)器中的所有工程源碼檔案。
* 工作站包括所有開發(fā)人員的PC機(jī)和一臺(tái)作為發(fā)布使用的配有標(biāo)準(zhǔn)編譯環(huán)境的PC機(jī)。每一個(gè)工作站下都有三個(gè)主要的目錄文件夾:
* 工作文件目錄: 該目錄是本地PC機(jī)上的一個(gè)物理目錄。它用于保存從服務(wù)器中檢出的源碼。開發(fā)人員使用這個(gè)目錄下的文件進(jìn)行開發(fā)工作,同時(shí)也從該目錄下向服務(wù)器中檢入文件。
* 存檔文件目錄:該目錄的物理位置是在PVCS VM服務(wù)器上,并作為一個(gè)邏輯目錄被映射到每個(gè)本地工作站中。這個(gè)目錄保存著所有工程的源碼檔案。
* PVCS安裝目錄:該目錄是在本地工作站安裝PVCS VM時(shí)建立的。它保存著本地工作站中用于運(yùn)行PVCS VM的文件。
Dynaweb軟件項(xiàng)目中的角色分配
為了實(shí)現(xiàn)源碼控制系統(tǒng),對(duì)Dynaweb項(xiàng)目來說,我們需要分配多種角色來擔(dān)任PVCS VM中的不同工作。這些角色具有不同的訪問權(quán)限和負(fù)責(zé)不同的職責(zé)來貫徹整個(gè)項(xiàng)目的進(jìn)行。這里,我們定義4種角色:
* 網(wǎng)管
* 項(xiàng)目經(jīng)理
* 系統(tǒng)操作人員
* 開發(fā)人員
這4種角色分別擔(dān)負(fù)著PVCS VM權(quán)限定義中不同的權(quán)責(zé),從項(xiàng)目請(qǐng)求啟動(dòng)->項(xiàng)目準(zhǔn)備->源碼的檢入/檢出->項(xiàng)目關(guān)閉—>數(shù)據(jù)備份等一系列操作中,各盡其職,如下面要說明的,遵循著源碼控制行為。
項(xiàng)目開發(fā)中的源碼控制行為
在整個(gè)開發(fā)過程中,源碼控制行為是一條主線,指導(dǎo)著開發(fā)過程進(jìn)行。
1. ?動(dòng)請(qǐng)求
當(dāng)項(xiàng)目Dynaweb過程模型的設(shè)計(jì)階段完成以后,開發(fā)小組將進(jìn)入項(xiàng)目開發(fā)的執(zhí)行階段和開始編碼。
當(dāng)程序代碼生成,這些原始資源需要應(yīng)用源碼控制系統(tǒng)來管理。在這個(gè)時(shí)候,項(xiàng)目經(jīng)理要請(qǐng)求?動(dòng)源碼控制系統(tǒng)。
2. 構(gòu)建和初始化
在網(wǎng)管接受項(xiàng)目經(jīng)理的請(qǐng)求并完成PVCS VM服務(wù)器磁盤空間預(yù)?工作后,開發(fā)小組開始在服務(wù)器上構(gòu)建PVCS文件夾結(jié)構(gòu)和檢入所有原始文件進(jìn)行初始化。這項(xiàng)工作是由系統(tǒng)操作人員來完成的。這個(gè)過程包括:PVCS VM的安裝、創(chuàng)建項(xiàng)目文件夾、配置項(xiàng)目?性和工作路徑、對(duì)所有工作文件的初始化等。
3. 源碼更新
源碼更新是開發(fā)人員的日常工作。其中包含兩部分主要任務(wù):源碼的檢入和檢出。
我們應(yīng)用這個(gè)源碼控制系統(tǒng),對(duì)任何源碼的更新過程,開發(fā)人員都必需遵循下面所列出的步驟:
* 先要檢出源碼:開發(fā)人員需要從PVCS VM服務(wù)器上向本地工作目錄中檢出要進(jìn)行修改的原始文件。
* 修改本地的工作源文件:開發(fā)人員在本地工作目錄中修改原始文件并在本機(jī)上測(cè)試。
* 為更新數(shù)據(jù)檢入修改的源文件:使用“check in”命令將修改的源文件從本地工作目錄更新到PVCS VM服務(wù)器中。
4. 發(fā)布
在每一個(gè)里程碑,開發(fā)小組都需要向QA或OEM客戶發(fā)布程序。項(xiàng)目經(jīng)理將決定是否要產(chǎn)生發(fā)布,以及發(fā)布版本。發(fā)布的操作是由系統(tǒng)操作人員來完成的。系統(tǒng)操作人員首先檢出所有源文件到工作空間中,然后在標(biāo)準(zhǔn)的發(fā)布環(huán)境中創(chuàng)建所有模型。
5. 存檔操作
在通常的操作過程中,開發(fā)小組只是使用檢入、檢出和發(fā)布操作。存檔結(jié)構(gòu)并沒有改變(僅僅是添加了修訂和版本標(biāo)簽)。但是,有時(shí)設(shè)計(jì)被改變,源文件增加或減少了,存檔結(jié)構(gòu)也隨著改變。由于設(shè)計(jì)的改變會(huì)影響到整個(gè)項(xiàng)目的變動(dòng),因此需要由項(xiàng)目經(jīng)理來確認(rèn)。存檔結(jié)構(gòu)的任何改變都需要項(xiàng)目經(jīng)理檢驗(yàn)并由系統(tǒng)操作人員來完成改變。這個(gè)改變的操作包括添加或刪除存檔文件夾,添加或刪除存檔文件,生成一個(gè)新的分支,等等。

6. 請(qǐng)求關(guān)閉
在項(xiàng)目關(guān)閉之后,便于項(xiàng)目關(guān)閉里程碑今后的使用,源代碼檔案需要在其它媒介(如MD, 或CD)上做一次備份。如果這些源碼不需要改變,那么要將源代碼檔案從PVCS服務(wù)器中刪除。如果項(xiàng)目進(jìn)入維護(hù)階段,源碼將保?在服務(wù)器中供維護(hù)使用。項(xiàng)目經(jīng)理首先需要請(qǐng)求關(guān)閉項(xiàng)目,然后由網(wǎng)管進(jìn)行備份,并基于請(qǐng)求刪除或保?服務(wù)器中的源代碼檔案。
7. 備份
在源碼控制周期中,網(wǎng)管將根據(jù)《公司服務(wù)器維護(hù)指南方針》維護(hù)PVCS VM文檔服務(wù)器。這項(xiàng)工作包括對(duì)服務(wù)器中的源碼檔案做備份,是由網(wǎng)管人員來完成的。
在執(zhí)行上面的源碼控制行為中,開發(fā)小組中不同角色的人員需要根據(jù)“批準(zhǔn)流程”提交請(qǐng)求表:
* PVCS項(xiàng)目請(qǐng)求
在項(xiàng)目進(jìn)行中,我們可能遇到核心端口問題。這些情況需要修改深層存檔的項(xiàng)目結(jié)構(gòu)(如刪除文件夾,添加文件,刪除文件或文件移動(dòng),等等)研發(fā)人員需要請(qǐng)求并遵從“批準(zhǔn)流程”來填寫PVCS項(xiàng)目請(qǐng)求表,然后請(qǐng)求才被執(zhí)行。這樣做的好處是可以保護(hù)存檔的完整性,可以使每個(gè)研發(fā)人員知道這次所做的修訂,并且在項(xiàng)目生命周期中保存存檔記錄。
* 項(xiàng)目發(fā)布請(qǐng)求
對(duì)于項(xiàng)目發(fā)布請(qǐng)求,請(qǐng)求者需要填寫項(xiàng)目發(fā)布請(qǐng)求表,然后發(fā)布才被執(zhí)行。
這樣做的好處是可以在每次修訂(由某人、某時(shí)、某種目的所做的修訂)發(fā)布中保?完整的記錄。項(xiàng)目經(jīng)理可以追蹤每次修訂發(fā)布的錯(cuò)誤和保持質(zhì)量控制。
通過PVCS VM進(jìn)行的版本控制,可以幫助項(xiàng)目小組在整個(gè)開發(fā)周期內(nèi)保持開發(fā)文檔的變更,通過項(xiàng)目存檔來跟蹤變化,同時(shí)可以管理多種存檔的修訂版。從而使開發(fā)過程更加有組織、協(xié)同地進(jìn)行。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd