軟件配置管理方法_第1頁(yè)
軟件配置管理方法_第2頁(yè)
軟件配置管理方法_第3頁(yè)
軟件配置管理方法_第4頁(yè)
軟件配置管理方法_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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、軟件配置管理辦法1 軟件配置管理基礎(chǔ)1.1 軟件配置管理簡(jiǎn)介隨著計(jì)算機(jī)應(yīng)用范圍的日益廣泛,應(yīng)用軟件的規(guī)模及復(fù)雜度日益廣泛深入,應(yīng)用軟件的規(guī)模和復(fù)雜程度日趨大型化,復(fù)雜化,這就導(dǎo)致軟件開發(fā)的方式越來(lái)越強(qiáng)調(diào)團(tuán)隊(duì)的協(xié)作開發(fā)。而在這種開發(fā)方式下,會(huì)遇到很多問(wèn)題,例如:需要將整個(gè)軟件的版本恢復(fù)到以前的某一時(shí)間的狀態(tài),限制隨意修改程序,或者控制某一程序在同一時(shí)間內(nèi)只能一個(gè)開發(fā)人員修改等等。為了解決這些問(wèn)題,提高軟件產(chǎn)品和軟件項(xiàng)目的質(zhì)量及軟件開發(fā)過(guò)程中的管理水平,更好地為以后的軟件開發(fā)工作提供有效的服務(wù),必須采用先進(jìn)的管理手段,實(shí)現(xiàn)軟件產(chǎn)品和軟件項(xiàng)目源碼的科學(xué)管理。1.2 軟件配置管理工具軟件配置管理工具有

2、很多,例如:Starteam、PVCS、ClearCase、VSS和CVS等。Starteam、PVCS和ClearCase更適合龐大的團(tuán)隊(duì)和項(xiàng)目,并且價(jià)格不菲,所以并不常用。目前使用比較廣泛的是VSS和CVS。兩者在使用上有各自的優(yōu)勢(shì)和不足。VSS的全名是VisualSourceSafe,是微軟公司開發(fā)的VisualStudio開發(fā)套件中的軟件配置管理部分,有非常好的技術(shù)支持和非常詳盡的技術(shù)文擋。VSS適合在局域網(wǎng)范圍內(nèi),以Windows平臺(tái)為主的中、小項(xiàng)目,以文件管理為主要功能,使用方便,學(xué)習(xí)成本低,對(duì)服務(wù)器僅需要快速大容量的存儲(chǔ)器也是它的優(yōu)勢(shì)。CVS的全名是ConcurrentVersi

3、onSystem,是一種可以并發(fā)的版本控制系統(tǒng)。它是一個(gè)開源項(xiàng)目,可以直接從網(wǎng)站下載最新的源代碼。CVS可以滿足局域網(wǎng)和廣域網(wǎng)不同的網(wǎng)絡(luò)條件,提供不同級(jí)別安全性選擇,在一臺(tái)專門的服務(wù)器配合下,客戶可以使用任何平臺(tái)開發(fā)項(xiàng)目。CVS本身是在unix系統(tǒng)上開發(fā)的,在unix下提供的是命令行使用模式。在Windows平臺(tái)下你可以選擇用CVSNT搭建服務(wù)器,用WinCvs作為客戶端。CVS對(duì)于已經(jīng)完成了開發(fā)過(guò)程進(jìn)入項(xiàng)目維護(hù)階段,或者進(jìn)入項(xiàng)目升級(jí)階段的項(xiàng)目,可提供完善的軟件配置管理的支持,不過(guò)在學(xué)習(xí)和操作上學(xué)習(xí)成本比較高。1.3 軟件配置管理實(shí)施環(huán)境軟件配置管理的實(shí)施環(huán)境由服務(wù)器和客戶端軟件組成,他們的基

4、本功能如下:1.3.1 軟件配置服務(wù)器1) 集中存放軟件產(chǎn)品的文件,供多人訪問(wèn)以便進(jìn)行協(xié)同開發(fā)。2) 對(duì)產(chǎn)品文件進(jìn)行安全管理,分配賬號(hào)并進(jìn)行訪問(wèn)權(quán)限設(shè)置。3) 記錄所有文件的歷史變化,以進(jìn)行版本控制。4) 保障文件的數(shù)據(jù)安全,進(jìn)行冗余存儲(chǔ)和備份。1.3.2 客戶端軟件1) 安裝于開發(fā)人員的電腦上,用以訪問(wèn)軟件配置服務(wù)器。2) 提供導(dǎo)入/導(dǎo)出產(chǎn)品模塊的功能。3) 提供對(duì)文件的檢入/檢出操作。4) 提供查閱和管理文件歷史版本的操作。2 軟件配置管理的實(shí)施目標(biāo)軟件配置管理包括的范圍比較廣,我們當(dāng)前的目標(biāo)是: (1) 軟件配置管理活動(dòng)被定義和計(jì)劃。(2) 軟件開發(fā)過(guò)程中的軟件制品(程序源碼,文檔,數(shù)據(jù)

5、資料等)被識(shí)別、控制和管理。(3) 對(duì)于處于配置管理下的軟件制品的修改被控制。(4) 與軟件制品相關(guān)的項(xiàng)目組和成員應(yīng)該被通知制品的目前狀態(tài)和被修改的信息。3 人員角色分配與職責(zé)范圍3.1 軟件配置管理員軟件配置管理員主要負(fù)責(zé)如下工作:1) 管理軟件配置服務(wù)器,維護(hù)源碼庫(kù)結(jié)構(gòu)、安全設(shè)置,定期備份源碼庫(kù)。2) 編寫和維護(hù)軟件配置管理的相關(guān)文檔資料,包括服務(wù)器配置管理方法、軟件配置工具使用方法、軟件配置規(guī)則與實(shí)行方法等。3) 編寫培訓(xùn)材料,制定培訓(xùn)計(jì)劃,對(duì)開發(fā)人員和產(chǎn)品管理人員進(jìn)行培訓(xùn)。4) 為開發(fā)人員和產(chǎn)品管理人員提供軟件配置工具的高級(jí)使用技巧支持。5) 督促開發(fā)人員定時(shí)提交或更新軟件源碼及文檔資

6、料,確保軟件配置規(guī)則的實(shí)行。3.2 開發(fā)負(fù)責(zé)人開發(fā)負(fù)責(zé)人主要負(fù)責(zé)如下工作:1) 管理項(xiàng)目文件夾結(jié)構(gòu),構(gòu)建代碼框架,導(dǎo)入軟件配置服務(wù)器。2) 在配置管理員的協(xié)助下,對(duì)項(xiàng)目文件夾的結(jié)構(gòu)和權(quán)限進(jìn)行管理。3) 根據(jù)項(xiàng)目進(jìn)展制定開發(fā)基線,管理軟件版本編號(hào)以及分支版本,必要的時(shí)候,負(fù)責(zé)版本的合并,并解決或指導(dǎo)開發(fā)人員解決合并沖突。4) 負(fù)責(zé)軟件發(fā)布版本的導(dǎo)出,提供給項(xiàng)目實(shí)施人員安裝使用。3.3 開發(fā)人員開發(fā)人員主要負(fù)責(zé)如下工作:1) 按照開發(fā)負(fù)責(zé)人的任務(wù)分配,從服務(wù)器導(dǎo)出項(xiàng)目,進(jìn)行分工協(xié)同開發(fā)。2) 從服務(wù)器獲取代碼庫(kù)最新變更,在自己負(fù)責(zé)的模塊中加入、修改或刪除文件。3) 及時(shí)提交自己的修改到服務(wù)器,并附

7、加變更說(shuō)明。4 軟件配置管理規(guī)則本規(guī)則僅限于軟件配置管理,而不涉及軟件開發(fā)的項(xiàng)目管理過(guò)程。4.1 分為開發(fā)庫(kù)和產(chǎn)品庫(kù)進(jìn)行管理在軟件配置管理工具中,對(duì)于源代碼的管理一般分為產(chǎn)品庫(kù)和開發(fā)庫(kù)進(jìn)行管理。在軟件配置服務(wù)器端分別建立產(chǎn)品庫(kù)和開發(fā)庫(kù),產(chǎn)品庫(kù)用于存放通過(guò)編譯,形成了一定產(chǎn)品功能并且能夠?qū)嵤┑乃熊浖创a版本。開發(fā)庫(kù)中存放正在開發(fā)過(guò)程中的軟件源代碼,當(dāng)這些軟件源碼符合了一定的條件后,將被導(dǎo)入到產(chǎn)品庫(kù)。同樣,當(dāng)開發(fā)庫(kù)需要產(chǎn)品庫(kù)的源碼做為新的開發(fā)基線,產(chǎn)品庫(kù)的源碼也可以被導(dǎo)出到開發(fā)庫(kù)進(jìn)行重新開發(fā)。產(chǎn)品庫(kù)用于存放軟件產(chǎn)品的一系列可發(fā)布版本,包括源代碼、設(shè)計(jì)文檔、可執(zhí)行文件、安裝包和產(chǎn)品手冊(cè)。開發(fā)庫(kù)用

8、于存放開發(fā)過(guò)程中的一系列軟代碼版本,是協(xié)同開發(fā)的工作目錄,管理代碼文件的歷史變更。在開發(fā)庫(kù)中開發(fā)成熟,通過(guò)測(cè)試后的軟件,經(jīng)過(guò)整理設(shè)計(jì)文檔、產(chǎn)品手冊(cè)、制作安裝包后,導(dǎo)入到產(chǎn)品庫(kù)中存放。要對(duì)現(xiàn)有軟件的某一版本進(jìn)行改進(jìn)升級(jí)時(shí),從產(chǎn)品庫(kù)導(dǎo)入開發(fā)庫(kù),作為本次開發(fā)計(jì)劃的開發(fā)基線。4.2 對(duì)開發(fā)庫(kù)和產(chǎn)品庫(kù)的管理和操作我們根據(jù)對(duì)軟件配置管理的不同角色所分配的不同職責(zé)范圍,對(duì)開發(fā)庫(kù)和產(chǎn)品庫(kù)進(jìn)行管理和操作。4.2.1 新建版本庫(kù) 這是我們進(jìn)行軟件配置管理的第一步。首先,由軟件配置管理員在服務(wù)器端安裝和配置好軟件配置管理的工具,然后在服務(wù)器上新建兩個(gè)庫(kù)目錄:產(chǎn)品庫(kù)和開發(fā)庫(kù)。4.2.2 對(duì)開發(fā)庫(kù)的管理和操作開發(fā)庫(kù)由開

9、發(fā)負(fù)責(zé)人負(fù)責(zé)日常的更新保管。對(duì)開發(fā)庫(kù)的管理操作方法如下:(1)導(dǎo)入新項(xiàng)目對(duì)于一個(gè)新的開發(fā)項(xiàng)目,由開發(fā)負(fù)責(zé)人負(fù)責(zé)構(gòu)建項(xiàng)目結(jié)構(gòu)。軟件配置管理員配合軟件開發(fā)負(fù)責(zé)人import(導(dǎo)入)該項(xiàng)目到開發(fā)庫(kù)中并完成對(duì)新項(xiàng)目的訪問(wèn)權(quán)限設(shè)置。 (2)對(duì)庫(kù)文件的導(dǎo)入、導(dǎo)出更新以及修改操作開發(fā)負(fù)責(zé)人根據(jù)開發(fā)任務(wù)和開發(fā)需要分配開發(fā)模塊給開發(fā)人員。在開發(fā)過(guò)程中,軟件開發(fā)人員根據(jù)各人對(duì)不同模塊擁有的不同權(quán)限對(duì)開發(fā)庫(kù)中相應(yīng)的文件進(jìn)行commit(導(dǎo)入)/update(更新),add(增加)/remove(刪除)等操作。軟件開發(fā)人員要編輯自己的開發(fā)模塊,首先,必須checkout(導(dǎo)出)該模塊到本地,然后在本地對(duì)文件進(jìn)行修改,

10、修改完成后執(zhí)行commit(導(dǎo)入)命令將該文件導(dǎo)入到開發(fā)庫(kù)中。如果是在模塊里面增加文件,那么首先要該文件放在要增加文件的模塊中,執(zhí)行add(增加)操作。然后執(zhí)行commit(導(dǎo)入)操作,就完成了在模塊中增加文件的操作。如果要從庫(kù)中刪除一個(gè)不需要的文件,可以先執(zhí)行remove命令,然后執(zhí)行commit操作向開發(fā)庫(kù)中提交。軟件開發(fā)人員如果要在自己開發(fā)的模塊里面增加一個(gè)目錄層,就需要執(zhí)行import操作。如果一個(gè)模塊對(duì)某個(gè)軟件開發(fā)人員只開放了讀權(quán)限,那么該軟件開發(fā)人員只能對(duì)這個(gè)模塊執(zhí)行update(更新)操作。建議開發(fā)人員每天早上對(duì)開發(fā)模塊使用update(更新)命令做更新操作,下午下班之前對(duì)開發(fā)模

11、塊執(zhí)行commit(提交)命令,以避免沖突和丟失修改。同時(shí),程序員必須保證上傳的代碼是通過(guò)編譯的源代碼。對(duì)于涉及更改項(xiàng)目結(jié)構(gòu)的操作,應(yīng)由開發(fā)負(fù)責(zé)人負(fù)責(zé)執(zhí)行。(3)對(duì)項(xiàng)目進(jìn)行分支和標(biāo)記標(biāo)簽在開發(fā)過(guò)程中,很多時(shí)候需要對(duì)一個(gè)項(xiàng)目進(jìn)行branch(分支)操作,在分支上對(duì)項(xiàng)目進(jìn)行開發(fā)。這由軟件開發(fā)人員負(fù)責(zé)執(zhí)行。當(dāng)項(xiàng)目開發(fā)到一個(gè)特定階段,由開發(fā)負(fù)責(zé)人為軟件打上標(biāo)記標(biāo)簽(tag),作為一個(gè)項(xiàng)目開發(fā)的里程碑或開發(fā)基線。(4)再次分配開發(fā)模塊開發(fā)負(fù)責(zé)人根據(jù)開發(fā)任務(wù)和開發(fā)需要分配開發(fā)模塊給開發(fā)人員。負(fù)責(zé)一個(gè)開發(fā)模塊的開發(fā)人員我們稱為該模塊的模塊負(fù)責(zé)人。在開發(fā)過(guò)程中,模塊負(fù)責(zé)人可以根據(jù)需要把一個(gè)開發(fā)模塊分成幾個(gè)小的

12、開發(fā)模塊分配給其它的開發(fā)人員進(jìn)行開發(fā),軟件配置管理員配合模塊負(fù)責(zé)人對(duì)這些小模塊進(jìn)行訪問(wèn)權(quán)限的設(shè)置。之后,各開發(fā)人員就可以根據(jù)給各人所分配的權(quán)限checkout(導(dǎo)出)這些小模塊進(jìn)行開發(fā)。(5)上傳開發(fā)完成的項(xiàng)目到產(chǎn)品庫(kù)一個(gè)軟件項(xiàng)目開發(fā)完成之后,由軟件開發(fā)負(fù)責(zé)人從開發(fā)庫(kù)中導(dǎo)出不包含版本控制信息的該項(xiàng)目的所有模塊并把它import(導(dǎo)入)到產(chǎn)品庫(kù)中。同時(shí),由軟件配置管理員負(fù)責(zé)監(jiān)督檢查這些上傳的項(xiàng)目模塊是否符合軟件結(jié)構(gòu)和配置管理規(guī)范等。至此就完成了對(duì)一個(gè)新項(xiàng)目的開發(fā)管理過(guò)程。4.2.3 對(duì)產(chǎn)品庫(kù)的管理和操作產(chǎn)品庫(kù)由軟件配置管理人員保管。產(chǎn)品庫(kù)中的軟件源代碼版本來(lái)源于開發(fā)庫(kù)或者是公司以前舊的軟件產(chǎn)品版

13、本。對(duì)于一個(gè)已經(jīng)開發(fā)完成的軟件產(chǎn)品,在在投入使用一段時(shí)間之后,可能要面臨版本升級(jí)的情況,例如:在使用過(guò)程中可能會(huì)發(fā)現(xiàn)該軟件的當(dāng)前版本存在bug,對(duì)于少量的bug,我們可以在軟件原版本上進(jìn)行修改。但是當(dāng)bug累計(jì)到一定的階段,我們對(duì)原版本的修改越來(lái)越多時(shí),就要考慮在原版本的基礎(chǔ)上進(jìn)行版本的升級(jí)。在軟件產(chǎn)品的現(xiàn)有版本上進(jìn)行版本的升級(jí),首先由軟件開發(fā)負(fù)責(zé)人負(fù)責(zé)checkout(導(dǎo)出)該軟件(在導(dǎo)出的時(shí)候不要導(dǎo)出版本控制文件夾)到本地,然后import(導(dǎo)入)該軟件到開發(fā)庫(kù)中。之后,軟件開發(fā)負(fù)責(zé)人和軟件開發(fā)人員就可以按照對(duì)開發(fā)庫(kù)的管理和操作方法根據(jù)需要對(duì)項(xiàng)目進(jìn)行修改或者再次開發(fā)。產(chǎn)品的版本號(hào)由開發(fā)負(fù)責(zé)

14、人指定。開發(fā)負(fù)責(zé)人對(duì)產(chǎn)品庫(kù)中的所有版本功能特性的變更要有一個(gè)完整的說(shuō)明,便于以后的開發(fā)和使用。這些工作由軟件配置管理人員監(jiān)督執(zhí)行,確保軟件產(chǎn)品的完整性和正確性。4.3 各司其職以免擾亂版本庫(kù)結(jié)構(gòu)軟件配置管理員,開發(fā)負(fù)責(zé)人和開發(fā)人員要根據(jù)自己的職責(zé)范圍做好工作,以免擾亂版本庫(kù)結(jié)構(gòu)。5 軟件配置管理的方法和技巧5.1 版本主線和分支的概念及運(yùn)用5.1.1 版本主線我們把一個(gè)項(xiàng)目的主要開發(fā)過(guò)程成為開發(fā)主線。通常,一個(gè)文件的主干版本歷史是一條增長(zhǎng)線。5.1.2 分支軟件配置管理并不局限于線性的開發(fā)。它可以將對(duì)文件的修改隔離到一個(gè)分離的開發(fā)線上,而不會(huì)影響主線版本,這條線被稱為分支。(1)主線版本可以分

15、為不同的分支,每一個(gè)分支可以是一個(gè)獨(dú)立的自我維護(hù)的開發(fā)線。當(dāng)你改變了一個(gè)分支中的文件時(shí),這些更改不會(huì)出現(xiàn)在版本主線和其它分支版本中。如果有需要,你可以使用merge(合并)命令將這些變更合并到另一個(gè)分支或者版本主線上。(2)在軟件配置管理中進(jìn)行branch(分支)操作,一般是針對(duì)整個(gè)軟件項(xiàng)目:編譯好的.exe、.dll文件等。對(duì)一個(gè)或者幾個(gè)文件進(jìn)行分支操作是沒(méi)有實(shí)際意義的。(3)軟件項(xiàng)目開發(fā)過(guò)程中充滿了各種不確定性,有時(shí)我們需要試探,那么我們?cè)谥骶€版本上開發(fā)就存在一定的風(fēng)險(xiǎn),可能會(huì)破壞原來(lái)的版本結(jié)構(gòu)。而使用分支可以幫我們解決這些問(wèn)題。例如:當(dāng)軟件已經(jīng)達(dá)到了一個(gè)相對(duì)穩(wěn)定的狀態(tài),下一步是想實(shí)驗(yàn)加入一種新功能(新算法),但是對(duì)它沒(méi)有信心。擔(dān)心加入新內(nèi)容后,系統(tǒng)邊的不穩(wěn)定,希望能方便地回到目前的穩(wěn)定狀態(tài)。再比如:我們已經(jīng)發(fā)布了一個(gè)軟件的1.0版本,目前的工作已經(jīng)集中在版本2.0。但是,這時(shí)發(fā)現(xiàn)版本1.0有一個(gè)嚴(yán)重的bug。那么,這些情況下,最好的方法就是使用分支。5.2 開發(fā)基線和里程碑在軟件配置管理中,開發(fā)基線和里程碑是兩個(gè)重要的概念。(1)里程碑:項(xiàng)目開發(fā)到一定的階段,例如:新上傳了一個(gè)模塊、編譯通過(guò)了一個(gè)模塊、完成了一定的產(chǎn)品功能等,都可以給該項(xiàng)目設(shè)定一個(gè)階段的里程碑。對(duì)于里程碑的設(shè)定,可以是一個(gè)項(xiàng)目,也可以是幾個(gè)文件。在我們的開發(fā)過(guò)程中,一般是對(duì)整個(gè)項(xiàng)目設(shè)定里程碑。 里

溫馨提示

  • 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)論