




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件配置管理辦法1 軟件配置管理基礎(chǔ)1.1 軟件配置管理簡介隨著計算機應(yīng)用范圍的日益廣泛,應(yīng)用軟件的規(guī)模及復(fù)雜度日益廣泛深入,應(yīng)用軟件的規(guī)模和復(fù)雜程度日趨大型化,復(fù)雜化,這就導致軟件開發(fā)的方式越來越強調(diào)團隊的協(xié)作開發(fā)。而在這種開發(fā)方式下,會遇到很多問題,例如:需要將整個軟件的版本恢復(fù)到以前的某一時間的狀態(tài),限制隨意修改程序,或者控制某一程序在同一時間內(nèi)只能一個開發(fā)人員修改等等。為了解決這些問題,提高軟件產(chǎn)品和軟件項目的質(zhì)量及軟件開發(fā)過程中的管理水平,更好地為以后的軟件開發(fā)工作提供有效的服務(wù),必須采用先進的管理手段,實現(xiàn)軟件產(chǎn)品和軟件項目源碼的科學管理。1.2 軟件配置管理工具軟件配置管理工具有
2、很多,例如:Starteam、PVCS、ClearCase、VSS和CVS等。Starteam、PVCS和ClearCase更適合龐大的團隊和項目,并且價格不菲,所以并不常用。目前使用比較廣泛的是VSS和CVS。兩者在使用上有各自的優(yōu)勢和不足。VSS的全名是VisualSourceSafe,是微軟公司開發(fā)的VisualStudio開發(fā)套件中的軟件配置管理部分,有非常好的技術(shù)支持和非常詳盡的技術(shù)文擋。VSS適合在局域網(wǎng)范圍內(nèi),以Windows平臺為主的中、小項目,以文件管理為主要功能,使用方便,學習成本低,對服務(wù)器僅需要快速大容量的存儲器也是它的優(yōu)勢。CVS的全名是ConcurrentVersi
3、onSystem,是一種可以并發(fā)的版本控制系統(tǒng)。它是一個開源項目,可以直接從網(wǎng)站下載最新的源代碼。CVS可以滿足局域網(wǎng)和廣域網(wǎng)不同的網(wǎng)絡(luò)條件,提供不同級別安全性選擇,在一臺專門的服務(wù)器配合下,客戶可以使用任何平臺開發(fā)項目。CVS本身是在unix系統(tǒng)上開發(fā)的,在unix下提供的是命令行使用模式。在Windows平臺下你可以選擇用CVSNT搭建服務(wù)器,用WinCvs作為客戶端。CVS對于已經(jīng)完成了開發(fā)過程進入項目維護階段,或者進入項目升級階段的項目,可提供完善的軟件配置管理的支持,不過在學習和操作上學習成本比較高。1.3 軟件配置管理實施環(huán)境軟件配置管理的實施環(huán)境由服務(wù)器和客戶端軟件組成,他們的基
4、本功能如下:1.3.1 軟件配置服務(wù)器1) 集中存放軟件產(chǎn)品的文件,供多人訪問以便進行協(xié)同開發(fā)。2) 對產(chǎn)品文件進行安全管理,分配賬號并進行訪問權(quán)限設(shè)置。3) 記錄所有文件的歷史變化,以進行版本控制。4) 保障文件的數(shù)據(jù)安全,進行冗余存儲和備份。1.3.2 客戶端軟件1) 安裝于開發(fā)人員的電腦上,用以訪問軟件配置服務(wù)器。2) 提供導入/導出產(chǎn)品模塊的功能。3) 提供對文件的檢入/檢出操作。4) 提供查閱和管理文件歷史版本的操作。2 軟件配置管理的實施目標軟件配置管理包括的范圍比較廣,我們當前的目標是: (1) 軟件配置管理活動被定義和計劃。(2) 軟件開發(fā)過程中的軟件制品(程序源碼,文檔,數(shù)據(jù)
5、資料等)被識別、控制和管理。(3) 對于處于配置管理下的軟件制品的修改被控制。(4) 與軟件制品相關(guān)的項目組和成員應(yīng)該被通知制品的目前狀態(tài)和被修改的信息。3 人員角色分配與職責范圍3.1 軟件配置管理員軟件配置管理員主要負責如下工作:1) 管理軟件配置服務(wù)器,維護源碼庫結(jié)構(gòu)、安全設(shè)置,定期備份源碼庫。2) 編寫和維護軟件配置管理的相關(guān)文檔資料,包括服務(wù)器配置管理方法、軟件配置工具使用方法、軟件配置規(guī)則與實行方法等。3) 編寫培訓材料,制定培訓計劃,對開發(fā)人員和產(chǎn)品管理人員進行培訓。4) 為開發(fā)人員和產(chǎn)品管理人員提供軟件配置工具的高級使用技巧支持。5) 督促開發(fā)人員定時提交或更新軟件源碼及文檔資
6、料,確保軟件配置規(guī)則的實行。3.2 開發(fā)負責人開發(fā)負責人主要負責如下工作:1) 管理項目文件夾結(jié)構(gòu),構(gòu)建代碼框架,導入軟件配置服務(wù)器。2) 在配置管理員的協(xié)助下,對項目文件夾的結(jié)構(gòu)和權(quán)限進行管理。3) 根據(jù)項目進展制定開發(fā)基線,管理軟件版本編號以及分支版本,必要的時候,負責版本的合并,并解決或指導開發(fā)人員解決合并沖突。4) 負責軟件發(fā)布版本的導出,提供給項目實施人員安裝使用。3.3 開發(fā)人員開發(fā)人員主要負責如下工作:1) 按照開發(fā)負責人的任務(wù)分配,從服務(wù)器導出項目,進行分工協(xié)同開發(fā)。2) 從服務(wù)器獲取代碼庫最新變更,在自己負責的模塊中加入、修改或刪除文件。3) 及時提交自己的修改到服務(wù)器,并附
7、加變更說明。4 軟件配置管理規(guī)則本規(guī)則僅限于軟件配置管理,而不涉及軟件開發(fā)的項目管理過程。4.1 分為開發(fā)庫和產(chǎn)品庫進行管理在軟件配置管理工具中,對于源代碼的管理一般分為產(chǎn)品庫和開發(fā)庫進行管理。在軟件配置服務(wù)器端分別建立產(chǎn)品庫和開發(fā)庫,產(chǎn)品庫用于存放通過編譯,形成了一定產(chǎn)品功能并且能夠?qū)嵤┑乃熊浖创a版本。開發(fā)庫中存放正在開發(fā)過程中的軟件源代碼,當這些軟件源碼符合了一定的條件后,將被導入到產(chǎn)品庫。同樣,當開發(fā)庫需要產(chǎn)品庫的源碼做為新的開發(fā)基線,產(chǎn)品庫的源碼也可以被導出到開發(fā)庫進行重新開發(fā)。產(chǎn)品庫用于存放軟件產(chǎn)品的一系列可發(fā)布版本,包括源代碼、設(shè)計文檔、可執(zhí)行文件、安裝包和產(chǎn)品手冊。開發(fā)庫用
8、于存放開發(fā)過程中的一系列軟代碼版本,是協(xié)同開發(fā)的工作目錄,管理代碼文件的歷史變更。在開發(fā)庫中開發(fā)成熟,通過測試后的軟件,經(jīng)過整理設(shè)計文檔、產(chǎn)品手冊、制作安裝包后,導入到產(chǎn)品庫中存放。要對現(xiàn)有軟件的某一版本進行改進升級時,從產(chǎn)品庫導入開發(fā)庫,作為本次開發(fā)計劃的開發(fā)基線。4.2 對開發(fā)庫和產(chǎn)品庫的管理和操作我們根據(jù)對軟件配置管理的不同角色所分配的不同職責范圍,對開發(fā)庫和產(chǎn)品庫進行管理和操作。4.2.1 新建版本庫 這是我們進行軟件配置管理的第一步。首先,由軟件配置管理員在服務(wù)器端安裝和配置好軟件配置管理的工具,然后在服務(wù)器上新建兩個庫目錄:產(chǎn)品庫和開發(fā)庫。4.2.2 對開發(fā)庫的管理和操作開發(fā)庫由開
9、發(fā)負責人負責日常的更新保管。對開發(fā)庫的管理操作方法如下:(1)導入新項目對于一個新的開發(fā)項目,由開發(fā)負責人負責構(gòu)建項目結(jié)構(gòu)。軟件配置管理員配合軟件開發(fā)負責人import(導入)該項目到開發(fā)庫中并完成對新項目的訪問權(quán)限設(shè)置。 (2)對庫文件的導入、導出更新以及修改操作開發(fā)負責人根據(jù)開發(fā)任務(wù)和開發(fā)需要分配開發(fā)模塊給開發(fā)人員。在開發(fā)過程中,軟件開發(fā)人員根據(jù)各人對不同模塊擁有的不同權(quán)限對開發(fā)庫中相應(yīng)的文件進行commit(導入)/update(更新),add(增加)/remove(刪除)等操作。軟件開發(fā)人員要編輯自己的開發(fā)模塊,首先,必須checkout(導出)該模塊到本地,然后在本地對文件進行修改,
10、修改完成后執(zhí)行commit(導入)命令將該文件導入到開發(fā)庫中。如果是在模塊里面增加文件,那么首先要該文件放在要增加文件的模塊中,執(zhí)行add(增加)操作。然后執(zhí)行commit(導入)操作,就完成了在模塊中增加文件的操作。如果要從庫中刪除一個不需要的文件,可以先執(zhí)行remove命令,然后執(zhí)行commit操作向開發(fā)庫中提交。軟件開發(fā)人員如果要在自己開發(fā)的模塊里面增加一個目錄層,就需要執(zhí)行import操作。如果一個模塊對某個軟件開發(fā)人員只開放了讀權(quán)限,那么該軟件開發(fā)人員只能對這個模塊執(zhí)行update(更新)操作。建議開發(fā)人員每天早上對開發(fā)模塊使用update(更新)命令做更新操作,下午下班之前對開發(fā)模
11、塊執(zhí)行commit(提交)命令,以避免沖突和丟失修改。同時,程序員必須保證上傳的代碼是通過編譯的源代碼。對于涉及更改項目結(jié)構(gòu)的操作,應(yīng)由開發(fā)負責人負責執(zhí)行。(3)對項目進行分支和標記標簽在開發(fā)過程中,很多時候需要對一個項目進行branch(分支)操作,在分支上對項目進行開發(fā)。這由軟件開發(fā)人員負責執(zhí)行。當項目開發(fā)到一個特定階段,由開發(fā)負責人為軟件打上標記標簽(tag),作為一個項目開發(fā)的里程碑或開發(fā)基線。(4)再次分配開發(fā)模塊開發(fā)負責人根據(jù)開發(fā)任務(wù)和開發(fā)需要分配開發(fā)模塊給開發(fā)人員。負責一個開發(fā)模塊的開發(fā)人員我們稱為該模塊的模塊負責人。在開發(fā)過程中,模塊負責人可以根據(jù)需要把一個開發(fā)模塊分成幾個小的
12、開發(fā)模塊分配給其它的開發(fā)人員進行開發(fā),軟件配置管理員配合模塊負責人對這些小模塊進行訪問權(quán)限的設(shè)置。之后,各開發(fā)人員就可以根據(jù)給各人所分配的權(quán)限checkout(導出)這些小模塊進行開發(fā)。(5)上傳開發(fā)完成的項目到產(chǎn)品庫一個軟件項目開發(fā)完成之后,由軟件開發(fā)負責人從開發(fā)庫中導出不包含版本控制信息的該項目的所有模塊并把它import(導入)到產(chǎn)品庫中。同時,由軟件配置管理員負責監(jiān)督檢查這些上傳的項目模塊是否符合軟件結(jié)構(gòu)和配置管理規(guī)范等。至此就完成了對一個新項目的開發(fā)管理過程。4.2.3 對產(chǎn)品庫的管理和操作產(chǎn)品庫由軟件配置管理人員保管。產(chǎn)品庫中的軟件源代碼版本來源于開發(fā)庫或者是公司以前舊的軟件產(chǎn)品版
13、本。對于一個已經(jīng)開發(fā)完成的軟件產(chǎn)品,在在投入使用一段時間之后,可能要面臨版本升級的情況,例如:在使用過程中可能會發(fā)現(xiàn)該軟件的當前版本存在bug,對于少量的bug,我們可以在軟件原版本上進行修改。但是當bug累計到一定的階段,我們對原版本的修改越來越多時,就要考慮在原版本的基礎(chǔ)上進行版本的升級。在軟件產(chǎn)品的現(xiàn)有版本上進行版本的升級,首先由軟件開發(fā)負責人負責checkout(導出)該軟件(在導出的時候不要導出版本控制文件夾)到本地,然后import(導入)該軟件到開發(fā)庫中。之后,軟件開發(fā)負責人和軟件開發(fā)人員就可以按照對開發(fā)庫的管理和操作方法根據(jù)需要對項目進行修改或者再次開發(fā)。產(chǎn)品的版本號由開發(fā)負責
14、人指定。開發(fā)負責人對產(chǎn)品庫中的所有版本功能特性的變更要有一個完整的說明,便于以后的開發(fā)和使用。這些工作由軟件配置管理人員監(jiān)督執(zhí)行,確保軟件產(chǎn)品的完整性和正確性。4.3 各司其職以免擾亂版本庫結(jié)構(gòu)軟件配置管理員,開發(fā)負責人和開發(fā)人員要根據(jù)自己的職責范圍做好工作,以免擾亂版本庫結(jié)構(gòu)。5 軟件配置管理的方法和技巧5.1 版本主線和分支的概念及運用5.1.1 版本主線我們把一個項目的主要開發(fā)過程成為開發(fā)主線。通常,一個文件的主干版本歷史是一條增長線。5.1.2 分支軟件配置管理并不局限于線性的開發(fā)。它可以將對文件的修改隔離到一個分離的開發(fā)線上,而不會影響主線版本,這條線被稱為分支。(1)主線版本可以分
15、為不同的分支,每一個分支可以是一個獨立的自我維護的開發(fā)線。當你改變了一個分支中的文件時,這些更改不會出現(xiàn)在版本主線和其它分支版本中。如果有需要,你可以使用merge(合并)命令將這些變更合并到另一個分支或者版本主線上。(2)在軟件配置管理中進行branch(分支)操作,一般是針對整個軟件項目:編譯好的.exe、.dll文件等。對一個或者幾個文件進行分支操作是沒有實際意義的。(3)軟件項目開發(fā)過程中充滿了各種不確定性,有時我們需要試探,那么我們在主線版本上開發(fā)就存在一定的風險,可能會破壞原來的版本結(jié)構(gòu)。而使用分支可以幫我們解決這些問題。例如:當軟件已經(jīng)達到了一個相對穩(wěn)定的狀態(tài),下一步是想實驗加入一種新功能(新算法),但是對它沒有信心。擔心加入新內(nèi)容后,系統(tǒng)邊的不穩(wěn)定,希望能方便地回到目前的穩(wěn)定狀態(tài)。再比如:我們已經(jīng)發(fā)布了一個軟件的1.0版本,目前的工作已經(jīng)集中在版本2.0。但是,這時發(fā)現(xiàn)版本1.0有一個嚴重的bug。那么,這些情況下,最好的方法就是使用分支。5.2 開發(fā)基線和里程碑在軟件配置管理中,開發(fā)基線和里程碑是兩個重要的概念。(1)里程碑:項目開發(fā)到一定的階段,例如:新上傳了一個模塊、編譯通過了一個模塊、完成了一定的產(chǎn)品功能等,都可以給該項目設(shè)定一個階段的里程碑。對于里程碑的設(shè)定,可以是一個項目,也可以是幾個文件。在我們的開發(fā)過程中,一般是對整個項目設(shè)定里程碑。 里
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職場寫作能力相關(guān)培訓
- 海信集團面試題及答案
- 防蚊培訓課件
- 北京捷文科技股份有限公司java面試題及答案
- 企業(yè)話術(shù)培訓
- java知識點面試題及答案
- 初級推拿考試題及答案
- 腫瘤科護理多學科聯(lián)合查房
- java面試題及答案idea
- 聲樂作品考試題及答案
- 《公司法教學課件》課件
- 房屋停租合同協(xié)議
- 銀行客戶分類管理
- 造價咨詢保密管理制度
- 支吊架廠家抗震支架安裝規(guī)范圖集
- 2025年江蘇瑞海投資控股集團有限公司招聘筆試參考題庫含答案解析
- 醫(yī)療廢物應(yīng)急處理流程與方案
- 簡陽市2024-2025學年數(shù)學五下期末統(tǒng)考試題含答案
- 體檢中心投訴處理流程
- 2025山西焦煤集團公司招聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2025年中國東方航空股份有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論