




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件配置管理軟件配置管理軟件配置管理軟件配置管理什么是軟件配置管理什么是軟件配置管理 軟件配置管理軟件配置管理(Software Configuration Management, SCM)是指通過執(zhí)行版本控制、變更)是指通過執(zhí)行版本控制、變更控制等規(guī)程,以及使用合適的配置管理軟件,來??刂频纫?guī)程,以及使用合適的配置管理軟件,來保證所有配置項的完整性和可跟蹤性。證所有配置項的完整性和可跟蹤性。配置管理是對配置管理是對工作成果的一種有效保護(hù)。工作成果的一種有效保護(hù)。v軟件配置管理軟件配置管理(SCM)(SCM)是貫穿于整個軟件過程中的是貫穿于整個軟件過程中的保護(hù)保護(hù)性活動性活動。vSCMSCM目
2、的是保證軟件項目生成的產(chǎn)品在軟件生命周期目的是保證軟件項目生成的產(chǎn)品在軟件生命周期中的中的完整性和一致性完整性和一致性. .v因為變化可能發(fā)生在任意時間,因為變化可能發(fā)生在任意時間,SCM SCM 活動被設(shè)計來活動被設(shè)計來: : (1) (1)標(biāo)識變化標(biāo)識變化; ; (2) (2)控制變化控制變化; ; (3) (3)保證變化被適當(dāng)?shù)貙崿F(xiàn)保證變化被適當(dāng)?shù)貙崿F(xiàn); ; (4) (4)向其他可能有興趣的人員報告變化。向其他可能有興趣的人員報告變化。v軟件配置管理使改進(jìn)變化可以更容易地被適應(yīng),并軟件配置管理使改進(jìn)變化可以更容易地被適應(yīng),并減少當(dāng)變化必須發(fā)生時所需花費的工作量減少當(dāng)變化必須發(fā)生時所需花費
3、的工作量。v明確地區(qū)分明確地區(qū)分軟件維護(hù)軟件維護(hù)和和軟件配置管理軟件配置管理是很重要的。是很重要的。v維護(hù)維護(hù)是發(fā)生在軟件已經(jīng)被交付給客戶,并投入運行是發(fā)生在軟件已經(jīng)被交付給客戶,并投入運行后的一系列軟件工程活動,而后的一系列軟件工程活動,而軟件配置管理軟件配置管理則是當(dāng)則是當(dāng)軟件項目開始時就開始,并且僅當(dāng)軟件退出運行后軟件項目開始時就開始,并且僅當(dāng)軟件退出運行后才終止的一組跟蹤和控制活動。才終止的一組跟蹤和控制活動。配置管理與配置管理與任何一位項目成員任何一位項目成員都有關(guān)系,因都有關(guān)系,因為每個人都會產(chǎn)生工作成果。為每個人都會產(chǎn)生工作成果。配置管理是否有成效取決于三個要素:配置管理是否有成
4、效取決于三個要素:人、人、規(guī)范、工具規(guī)范、工具 軟件配置管理是軟件配置管理是CMM2CMM2中中6 6個關(guān)鍵過程域的第個關(guān)鍵過程域的第6 6個關(guān)鍵域個關(guān)鍵域。CMM2CMM2認(rèn)為,認(rèn)為,SCM SCM 的目的是為了建的目的是為了建立和維護(hù)軟件開發(fā)過程中各種制品的完整性立和維護(hù)軟件開發(fā)過程中各種制品的完整性和一致性,包括以下內(nèi)容:和一致性,包括以下內(nèi)容:對軟件產(chǎn)品配置的標(biāo)志和識別對軟件產(chǎn)品配置的標(biāo)志和識別系統(tǒng)地控制對處于配置管理下的各種軟系統(tǒng)地控制對處于配置管理下的各種軟件制品的修改和更新件制品的修改和更新維護(hù)軟件開發(fā)過程中的各種制品的一致維護(hù)軟件開發(fā)過程中的各種制品的一致性和可跟蹤性性和可跟蹤
5、性CMM2的配置管理概念的配置管理概念 SCM 的目標(biāo)的目標(biāo)v 目標(biāo)目標(biāo)1: 軟件配置管理活動被定義和計劃軟件配置管理活動被定義和計劃v 目標(biāo)目標(biāo)2: 軟件開發(fā)過程中的制品被識別、控制軟件開發(fā)過程中的制品被識別、控制和管理和管理v 目標(biāo)目標(biāo)3: 對于處于配置管理下的軟件制品的修對于處于配置管理下的軟件制品的修改被控制改被控制v 目標(biāo)目標(biāo)4: 與軟件制品相關(guān)的項目組和成員應(yīng)該與軟件制品相關(guān)的項目組和成員應(yīng)該被通知制品的目前狀態(tài)和被修改的信息被通知制品的目前狀態(tài)和被修改的信息 SCM SCM 的目標(biāo)的目標(biāo) 要達(dá)到要達(dá)到 CMM CMM 規(guī)定的規(guī)定的 SCMSCM要求所需具備的能力要求所需具備的能力
6、:1.1.具有對軟件基線產(chǎn)品有具有對軟件基線產(chǎn)品有管理管理權(quán)限的權(quán)限的組織組織已經(jīng)已經(jīng)建立,例如:軟件配置管理委員會;建立,例如:軟件配置管理委員會;2.2.協(xié)調(diào)和實現(xiàn)協(xié)調(diào)和實現(xiàn)軟件軟件配置管理配置管理的組織已經(jīng)建立;的組織已經(jīng)建立;3.3.為進(jìn)行軟件配置管理所需要的各項為進(jìn)行軟件配置管理所需要的各項資源資源已經(jīng)已經(jīng)分配;分配;4.4.軟件軟件配置管理配置管理組織里的成員已經(jīng)接受了軟件組織里的成員已經(jīng)接受了軟件配置目標(biāo)、流程、方法方面的配置目標(biāo)、流程、方法方面的培訓(xùn)培訓(xùn);5.5.軟件軟件項目組項目組或是其他的相關(guān)的部門經(jīng)過或是其他的相關(guān)的部門經(jīng)過培訓(xùn)培訓(xùn),可以執(zhí)行他們的軟件配置管理活動;可以執(zhí)
7、行他們的軟件配置管理活動;CMM CMM 中對中對SCM SCM 規(guī)定的活動規(guī)定的活動1.1.根據(jù)文檔化的流程,根據(jù)文檔化的流程,項目軟件配置管理計項目軟件配置管理計劃劃已準(zhǔn)備完畢;已準(zhǔn)備完畢;2.2.文檔化的文檔化的已獲批準(zhǔn)已獲批準(zhǔn)的軟件配置管理計劃可的軟件配置管理計劃可用作以后軟件配置管理活動的基礎(chǔ);用作以后軟件配置管理活動的基礎(chǔ);3.3.軟件配置管理庫軟件配置管理庫已經(jīng)創(chuàng)建,并可用作進(jìn)入已經(jīng)創(chuàng)建,并可用作進(jìn)入基線的軟件制品的存貯庫;基線的軟件制品的存貯庫;4.4.處于軟件配置管理下的軟件制品處于軟件配置管理下的軟件制品被標(biāo)志和被標(biāo)志和識別識別;5.5.對于配置項的對于配置項的變更請求和問
8、題報告變更請求和問題報告被初始被初始化、計劃、評審、批準(zhǔn)并根據(jù)文化化的流化、計劃、評審、批準(zhǔn)并根據(jù)文化化的流程對其進(jìn)行跟蹤;程對其進(jìn)行跟蹤;6. 對于對于進(jìn)入基線的制品的修改進(jìn)入基線的制品的修改必須遵循文檔化的必須遵循文檔化的流程;流程;7. 發(fā)布發(fā)布的產(chǎn)品必須從軟件配置庫中取出,并且產(chǎn)的產(chǎn)品必須從軟件配置庫中取出,并且產(chǎn)品發(fā)布的流程須依照文檔化的流程和規(guī)定;品發(fā)布的流程須依照文檔化的流程和規(guī)定;8. 根據(jù)文檔化的流程和規(guī)定,根據(jù)文檔化的流程和規(guī)定,軟件配置項的狀態(tài)軟件配置項的狀態(tài)被記錄和跟蹤;被記錄和跟蹤;9. 記錄軟件配置管理活動和軟件基線內(nèi)容的記錄軟件配置管理活動和軟件基線內(nèi)容的報告報告
9、被建立,并通知受到被建立,并通知受到影響影響的項目組和個人;的項目組和個人;10.根據(jù)文檔化的流程進(jìn)行軟件制品根據(jù)文檔化的流程進(jìn)行軟件制品基線的評審基線的評審;CMM CMM 中對中對SCM SCM 規(guī)定的活動規(guī)定的活動組織規(guī)定和相關(guān)責(zé)任組織規(guī)定和相關(guān)責(zé)任v項目級配置管理項目級配置管理項目配置經(jīng)理項目配置經(jīng)理(Project Configuration Manager) 與軟件配置管理計劃與軟件配置管理計劃變更控制委員會變更控制委員會(Change Control Board)v組織級配置管理組織級配置管理組織配置管理庫組織配置管理庫(Organizational Configuration
10、Management Cell)1. 負(fù)責(zé)項目完成后的軟件配置管理活動負(fù)責(zé)項目完成后的軟件配置管理活動2. 管理組織級的文檔管理組織級的文檔IEEEIEEE標(biāo)準(zhǔn)標(biāo)準(zhǔn)729-1983729-1983就配置管理的內(nèi)容進(jìn)行了規(guī)范的定義:就配置管理的內(nèi)容進(jìn)行了規(guī)范的定義:(1 1)標(biāo)識:標(biāo)識:識別產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配唯一的識別產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配唯一的標(biāo)識符,并以某種形式提供對它們的存取。標(biāo)識符,并以某種形式提供對它們的存取。(2 2)控制:控制:通過建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個軟件生通過建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個軟件生命周期中對軟件產(chǎn)
11、品的修改。例如,它將解決哪些修改會在該產(chǎn)品的命周期中對軟件產(chǎn)品的修改。例如,它將解決哪些修改會在該產(chǎn)品的最新版本中實現(xiàn)的問題。最新版本中實現(xiàn)的問題。(3 3)狀態(tài)統(tǒng)計:狀態(tài)統(tǒng)計:記錄并報告構(gòu)件和修改請求的狀態(tài),并收集關(guān)于產(chǎn)品記錄并報告構(gòu)件和修改請求的狀態(tài),并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計信息。例如,它將解決修改這個錯誤會影響多少個文構(gòu)件的重要統(tǒng)計信息。例如,它將解決修改這個錯誤會影響多少個文件的問題。件的問題。(4 4)審計和審查:審計和審查:確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保產(chǎn)品是一個嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所產(chǎn)品是一
12、個嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所用的文件的版本是否正確的問題。用的文件的版本是否正確的問題。(5 5)生產(chǎn):生產(chǎn):對產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)對產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來生成的問題。由哪些版本的文件和工具來生成的問題。(6 6)過程管理:過程管理:確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過測試和質(zhì)量檢查的問題。執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過測試和質(zhì)量檢查的問題。(7 7)小組協(xié)作:小組協(xié)作:控制開發(fā)統(tǒng)一產(chǎn)品的
13、多個開發(fā)人員之間的協(xié)作。例如,控制開發(fā)統(tǒng)一產(chǎn)品的多個開發(fā)人員之間的協(xié)作。例如,它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品中的問題。中的問題。IEEEIEEE的配置管理定義的配置管理定義 CMM2CMM2的定義比較抽象,的定義比較抽象,IEEEIEEE的定義比較具體。結(jié)的定義比較具體。結(jié)合各體系的定義和要求,我們下面具體來討論配合各體系的定義和要求,我們下面具體來討論配置管理的概念。置管理的概念。 配置管理功能概述配置管理功能概述 配置標(biāo)識配置標(biāo)識或者又稱為配置需求,包括標(biāo)識軟件系統(tǒng)的結(jié)構(gòu),標(biāo)識獨立或者又稱為配置需求,
14、包括標(biāo)識軟件系統(tǒng)的結(jié)構(gòu),標(biāo)識獨立部件,并使它們是可訪問的。配置標(biāo)識的目的,是在整個生命周期中部件,并使它們是可訪問的。配置標(biāo)識的目的,是在整個生命周期中標(biāo)識系統(tǒng)各部件并提供對軟件過程及其軟件產(chǎn)品的跟蹤能力。標(biāo)識系統(tǒng)各部件并提供對軟件過程及其軟件產(chǎn)品的跟蹤能力。它回答:它回答:什么是受控的?什么是受控的? 配置變更控制配置變更控制包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更,目包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更,目的是建立確保軟件產(chǎn)品質(zhì)量的機(jī)制。的是建立確保軟件產(chǎn)品質(zhì)量的機(jī)制。它回答:受控產(chǎn)品怎樣變更?誰它回答:受控產(chǎn)品怎樣變更?誰控制變更?何時接受,恢復(fù),驗證變更?控制變更?何時接受
15、,恢復(fù),驗證變更?配置狀態(tài)統(tǒng)計配置狀態(tài)統(tǒng)計包括記錄和報告變更過程,目標(biāo)是不間斷記錄所有基線包括記錄和報告變更過程,目標(biāo)是不間斷記錄所有基線項的狀態(tài)和歷史,并進(jìn)行維護(hù),項的狀態(tài)和歷史,并進(jìn)行維護(hù),它解決以下問題:系統(tǒng)已經(jīng)做了什么它解決以下問題:系統(tǒng)已經(jīng)做了什么變更?此問題將會對多少個文件產(chǎn)生影響?變更?此問題將會對多少個文件產(chǎn)生影響?配置變更控制是針對軟件配置變更控制是針對軟件產(chǎn)品,狀態(tài)統(tǒng)計針對軟件過程。因此,二者的統(tǒng)一就是對軟件開發(fā)產(chǎn)品,狀態(tài)統(tǒng)計針對軟件過程。因此,二者的統(tǒng)一就是對軟件開發(fā)(產(chǎn)品、過程)的變更控制。(產(chǎn)品、過程)的變更控制。配置審核配置審核將驗證軟件產(chǎn)品的構(gòu)造是否符合需求、標(biāo)準(zhǔn)
16、、或合同的要求,將驗證軟件產(chǎn)品的構(gòu)造是否符合需求、標(biāo)準(zhǔn)、或合同的要求,目的是根據(jù)目的是根據(jù)SCM的過程和程序,驗證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有正的過程和程序,驗證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有正確標(biāo)識和描述,所有的變更需求都已解決。確標(biāo)識和描述,所有的變更需求都已解決。它回答:系統(tǒng)和需求是否它回答:系統(tǒng)和需求是否吻合?是否所有變更都是在版本控制下?吻合?是否所有變更都是在版本控制下? SCMSCM的四大功能領(lǐng)域的四大功能領(lǐng)域SCMSCM從應(yīng)用層次上可以從低到高分為三級:版本控制、以開從應(yīng)用層次上可以從低到高分為三級:版本控制、以開發(fā)者為中心、過程驅(qū)動。發(fā)者為中心、過程驅(qū)動。版本控制版本控制主要應(yīng)用于
17、個人獨立開發(fā)或小組開發(fā),它可以控主要應(yīng)用于個人獨立開發(fā)或小組開發(fā),它可以控制任何文件的版本、實現(xiàn)分支和歸并功能、進(jìn)行文本比較、制任何文件的版本、實現(xiàn)分支和歸并功能、進(jìn)行文本比較、標(biāo)記注釋和版本報告信息,主要工具有標(biāo)記注釋和版本報告信息,主要工具有MSMS的的Visual Visual SourceSafeSourceSafe及及Intersolv PVCSIntersolv PVCS。 以開發(fā)者為中心以開發(fā)者為中心主要應(yīng)用于部門級開發(fā),它可用于軟件維主要應(yīng)用于部門級開發(fā),它可用于軟件維護(hù)、不斷增加的開發(fā)任務(wù)、并行開發(fā)、護(hù)、不斷增加的開發(fā)任務(wù)、并行開發(fā)、QAQA及測試,它面向及測試,它面向大型團(tuán)
18、隊、利于交流、能最大限度地利用人力資源,主要大型團(tuán)隊、利于交流、能最大限度地利用人力資源,主要工具為工具為Rational ClearCaseRational ClearCase及及MKS Source IntegrityMKS Source Integrity。過程驅(qū)動過程驅(qū)動主要使用于企業(yè)級開發(fā),著重解決新的工具引入、主要使用于企業(yè)級開發(fā),著重解決新的工具引入、ITIT審核、管理報告、復(fù)雜的生命周期、應(yīng)用工具包、集成審核、管理報告、復(fù)雜的生命周期、應(yīng)用工具包、集成解決方案、資料庫等問題,實現(xiàn)真正規(guī)范的團(tuán)隊開發(fā),主解決方案、資料庫等問題,實現(xiàn)真正規(guī)范的團(tuán)隊開發(fā),主要工具為要工具為Platin
19、um Technology CCC/HarvestPlatinum Technology CCC/Harvest。SCMSCM的三個應(yīng)用層次的三個應(yīng)用層次 SCM SCM 中的專業(yè)術(shù)語中的專業(yè)術(shù)語v 配置配置(Configuration)與與配置項配置項(Configuration Item)v 在軟件開發(fā)過程中生成各種制品的總和叫做這個在軟件開發(fā)過程中生成各種制品的總和叫做這個項目的軟件配置項目的軟件配置 Roger S. Pressman, 1997計算機(jī)程序,包括源代碼和可執(zhí)行程序計算機(jī)程序,包括源代碼和可執(zhí)行程序與計算機(jī)程序相對應(yīng)的各種文檔與計算機(jī)程序相對應(yīng)的各種文檔計算機(jī)數(shù)據(jù),包括計
20、算機(jī)程序中包含的數(shù)據(jù)和計算機(jī)數(shù)據(jù),包括計算機(jī)程序中包含的數(shù)據(jù)和系統(tǒng)初始化數(shù)據(jù)系統(tǒng)初始化數(shù)據(jù)v基線基線項目開發(fā)過程的制品經(jīng)過正式評審并被相關(guān)人員項目開發(fā)過程的制品經(jīng)過正式評審并被相關(guān)人員一致同意,可以作為以后項目開發(fā)的基礎(chǔ)一致同意,可以作為以后項目開發(fā)的基礎(chǔ)。對已。對已經(jīng)確定為基線的制品的修改必須要通過正式的變經(jīng)確定為基線的制品的修改必須要通過正式的變更控制流程。更控制流程。在軟件工程環(huán)境中,基線是指在軟件開發(fā)過程中在軟件工程環(huán)境中,基線是指在軟件開發(fā)過程中的里程碑,這些里程碑的標(biāo)志是一項或多項經(jīng)過的里程碑,這些里程碑的標(biāo)志是一項或多項經(jīng)過正式的技術(shù)評審并一致認(rèn)同的軟件制品的提交。正式的技術(shù)評審
21、并一致認(rèn)同的軟件制品的提交。v配置數(shù)據(jù)庫配置數(shù)據(jù)庫(軟件制品基線庫)(軟件制品基線庫) 項目建立和訪問軟件制品庫,這個制品庫主項目建立和訪問軟件制品庫,這個制品庫主要用來對保存配置項和一些與軟件配置管理要用來對保存配置項和一些與軟件配置管理相關(guān)的記錄。相關(guān)的記錄。 目前比較好的配置管理工具:目前比較好的配置管理工具:Clearcase Clearcase (Rational), Notes/Domino (Lotus), PVCS (Rational), Notes/Domino (Lotus), PVCS (Merant) and VSS (Microsoft).(Merant) and V
22、SS (Microsoft).配置管理的商業(yè)理念配置管理的商業(yè)理念 u企業(yè)的商業(yè)需求決定了配置管理的力度,企業(yè)的商業(yè)需求決定了配置管理的力度,我們不必追求完美無缺的配置管理,而是我們不必追求完美無缺的配置管理,而是讓開發(fā)團(tuán)隊恰好夠用就行讓開發(fā)團(tuán)隊恰好夠用就行,并將為配置管,并將為配置管理所付出的代價控制在預(yù)算之內(nèi)。理所付出的代價控制在預(yù)算之內(nèi)。 u富有成效的配置管理的特征:富有成效的配置管理的特征: 1.1. 任何項目成員任何項目成員都要對其工作成果進(jìn)行配置管都要對其工作成果進(jìn)行配置管理,應(yīng)當(dāng)養(yǎng)成良好的習(xí)慣。不必付出過多的理,應(yīng)當(dāng)養(yǎng)成良好的習(xí)慣。不必付出過多的精力,最低要求是保證重要工作成果不
23、發(fā)生精力,最低要求是保證重要工作成果不發(fā)生混亂?;靵y。 2.2. 配置管理規(guī)范配置管理規(guī)范應(yīng)當(dāng)清晰明了,便于執(zhí)行,不應(yīng)當(dāng)清晰明了,便于執(zhí)行,不必在細(xì)節(jié)方面要求太多,不給項目人員添加必在細(xì)節(jié)方面要求太多,不給項目人員添加過多的負(fù)擔(dān),不使人厭煩。過多的負(fù)擔(dān),不使人厭煩。 最大的麻煩是工作成果被覆蓋。最大的麻煩是工作成果被覆蓋。如果不采用配置管理軟件來保存工作成果如果不采用配置管理軟件來保存工作成果的歷史版本的話,人們在同一個文件上修改內(nèi)的歷史版本的話,人們在同一個文件上修改內(nèi)容,保存之后,那么新的內(nèi)容覆蓋了老的內(nèi)容。容,保存之后,那么新的內(nèi)容覆蓋了老的內(nèi)容。如果沒有軟件配置管理,將有什么壞處?如果
24、沒有軟件配置管理,將有什么壞處?多數(shù)情況下新的內(nèi)容比老的內(nèi)容好多數(shù)情況下新的內(nèi)容比老的內(nèi)容好,覆蓋了也沒關(guān)系。但是總有不少意,覆蓋了也沒關(guān)系。但是總有不少意外,例如外,例如程序員修改了老程序員之后程序員修改了老程序員之后,突然發(fā)現(xiàn)新程序是錯誤的,而老程,突然發(fā)現(xiàn)新程序是錯誤的,而老程序卻是對的,可是老程序被新程序覆序卻是對的,可是老程序被新程序覆蓋了,再也無法恢復(fù)。蓋了,再也無法恢復(fù)。怎么辦呢?還能怎么辦,怎么辦呢?還能怎么辦,只好重新寫老只好重新寫老程序再覆蓋新程序,可是過一陣子又發(fā)程序再覆蓋新程序,可是過一陣子又發(fā)現(xiàn)新程序也又可取之處,這時卻無法恢現(xiàn)新程序也又可取之處,這時卻無法恢復(fù)新程序
25、了,只好重新寫新程序再覆蓋復(fù)新程序了,只好重新寫新程序再覆蓋老程序老程序,如果你經(jīng)常碰到這樣的事情如果你經(jīng)常碰到這樣的事情,你會發(fā)瘋的。,你會發(fā)瘋的。為了避免成果被覆蓋,很多人采用最原為了避免成果被覆蓋,很多人采用最原始的始的手工管理版本手工管理版本的方式,例如給文件加后的方式,例如給文件加后綴綴“-01”、“-02”以表示版本。天長日久,以表示版本。天長日久,工作目錄下就會有一堆帶數(shù)字后綴的文件,工作目錄下就會有一堆帶數(shù)字后綴的文件,而且你自己也忘記了數(shù)字后綴代表什么內(nèi)容,而且你自己也忘記了數(shù)字后綴代表什么內(nèi)容,管理起來非常麻煩。管理起來非常麻煩。 u最直接的好處是最直接的好處是工作成果的所
26、有版本工作成果的所有版本都被保留著,不會丟失也不會被覆蓋都被保留著,不會丟失也不會被覆蓋,你不會氣得發(fā)瘋了。你不會氣得發(fā)瘋了。 使用軟件配置管理,將有什么好處?使用軟件配置管理,將有什么好處?u如今硬盤的存儲空間價格低廉,用于如今硬盤的存儲空間價格低廉,用于保存歷史版本的存儲空間的成本可以忽保存歷史版本的存儲空間的成本可以忽略不計。略不計。u如果你保存了工作成果的如果你保存了工作成果的100個歷史個歷史版本,哪怕版本,哪怕99版本都是版本都是“垃圾垃圾”,只有,只有一個版本里有一個版本里有“黃金黃金”,那也值了。,那也值了。u所以你盡管放心保存歷史版本好了,所以你盡管放心保存歷史版本好了,累的
27、是計算機(jī)又不是你,你怕什么。累的是計算機(jī)又不是你,你怕什么。間接的好處是,間接的好處是,項目的所有工作成果被項目的所有工作成果被完整地保留下來,這是企業(yè)的知識財富,可以完整地保留下來,這是企業(yè)的知識財富,可以被人們很好地分享利用。而且減少了人員辭職被人們很好地分享利用。而且減少了人員辭職造成的損失,企業(yè)老板可以放心很多了造成的損失,企業(yè)老板可以放心很多了。因為如果沒有配置管理的話,人走了,因為如果沒有配置管理的話,人走了,即使他把成果刻錄成光盤交給接收者,即使他把成果刻錄成光盤交給接收者,別人也搞不清楚那些成果的演化過程。別人也搞不清楚那些成果的演化過程。 事在人為事在人為 u配置管理的方法是
28、成熟的,而且相配置管理的方法是成熟的,而且相應(yīng)的軟件工具也是成熟的,基本上應(yīng)的軟件工具也是成熟的,基本上不存在看不懂、不會用的問題。不存在看不懂、不會用的問題。u配置管理的執(zhí)行效果如何,完全應(yīng)配置管理的執(zhí)行效果如何,完全應(yīng)了中國的一句老話了中國的一句老話“事在人為事在人為”啊啊。 妨礙配置管理的主要問題是人們妨礙配置管理的主要問題是人們“嫌麻煩嫌麻煩”(還有僥幸心理)。(還有僥幸心理)。在沒有出亂子的情況下,執(zhí)行版本在沒有出亂子的情況下,執(zhí)行版本控制看起來有些麻煩??刂瓶雌饋碛行┞闊?。 每次修改工作成果的時候,總是每次修改工作成果的時候,總是先先check outcheck out,然后再修改
29、,最后還要,然后再修改,最后還要check incheck in,多了前后兩步。,多了前后兩步。其實其實check outcheck out和和check incheck in兩步操作兩步操作只需花費幾秒鐘,而且不費腦子,憑良心只需花費幾秒鐘,而且不費腦子,憑良心說根本沒有添加麻煩,僅僅是個人感覺不說根本沒有添加麻煩,僅僅是個人感覺不爽快而已。爽快而已。然而不執(zhí)行版本控制的話,萬一發(fā)生然而不執(zhí)行版本控制的話,萬一發(fā)生工作成果被覆蓋或丟失等問題,那么麻煩工作成果被覆蓋或丟失等問題,那么麻煩就大了。就大了。 配置項配置項 u軟件研發(fā)和管理過程中會產(chǎn)生許許多多的工作軟件研發(fā)和管理過程中會產(chǎn)生許許多多
30、的工作成果,例如文檔、程序和數(shù)據(jù)等,它們都應(yīng)當(dāng)被成果,例如文檔、程序和數(shù)據(jù)等,它們都應(yīng)當(dāng)被妥善地保管起來,以便查閱和修改。妥善地保管起來,以便查閱和修改。u如果把所有文件一股腦地塞進(jìn)計算機(jī)里,那么如果把所有文件一股腦地塞進(jìn)計算機(jī)里,那么使用起來肯定很麻煩。使用起來肯定很麻煩。u毫無疑問,人們應(yīng)當(dāng)將文件毫無疑問,人們應(yīng)當(dāng)將文件分門別類分門別類、有條理、有條理地保存起來。地保存起來。u凡是納入配置管理范疇的工作成果統(tǒng)稱為凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項(配置項(Configuration ItemConfiguration Item,CICI)。u軟件配置項軟件配置項(Software
31、Configuration Items(Software Configuration Items,SCI)SCI)u配置項主要有兩大類:配置項主要有兩大類:1.1.屬于產(chǎn)品組成部分的屬于產(chǎn)品組成部分的工作成果工作成果,例如源代碼、需,例如源代碼、需求文檔、設(shè)計文檔、測試用例等等求文檔、設(shè)計文檔、測試用例等等2.2.在管理在管理過程中產(chǎn)生的文檔過程中產(chǎn)生的文檔例如各種計劃、監(jiān)控報例如各種計劃、監(jiān)控報告等等,這些文檔雖然不是產(chǎn)品的組成部分,但告等等,這些文檔雖然不是產(chǎn)品的組成部分,但是值得保存。是值得保存。標(biāo)識軟件配置項標(biāo)識軟件配置項v軟件配置項分為基本對象和復(fù)合對象軟件配置項分為基本對象和復(fù)合對
32、象:v基本對象:分析基本對象:分析設(shè)計設(shè)計編碼編碼測試時所建立的測試時所建立的”文文檔單元檔單元”,如如,需求規(guī)格說明中的一節(jié)、一個模塊的需求規(guī)格說明中的一節(jié)、一個模塊的源代碼、一組測試用例。源代碼、一組測試用例。v復(fù)合對象:基本對象或其他復(fù)合對象的一個集合。復(fù)合對象:基本對象或其他復(fù)合對象的一個集合。如,如,“設(shè)計規(guī)格說明書設(shè)計規(guī)格說明書”是一個復(fù)合對象、一些基是一個復(fù)合對象、一些基本對象,如本對象,如“數(shù)據(jù)模型數(shù)據(jù)模型”、“模塊模塊N”的集合。的集合。v每個配置項可用一組信息來唯一地標(biāo)識它。每個配置項可用一組信息來唯一地標(biāo)識它。每個配置項的每個配置項的主要屬性主要屬性有:有:名稱、標(biāo)識符、
33、文件狀態(tài)、版本、作者、名稱、標(biāo)識符、文件狀態(tài)、版本、作者、日期等。日期等。所有配置項都被保存在配置庫里,確保不所有配置項都被保存在配置庫里,確保不會混淆、丟失。會混淆、丟失。配置項及其歷史記錄反映了軟件的演化過配置項及其歷史記錄反映了軟件的演化過程。程?;€基線 u由正式技術(shù)評審而得到的軟件配置項的正式文由正式技術(shù)評審而得到的軟件配置項的正式文本構(gòu)成了基線本構(gòu)成了基線。u基線(基線(BaselineBaseline)由一組配置項組成,這些配由一組配置項組成,這些配置項構(gòu)成了一個相對穩(wěn)定的邏輯實體置項構(gòu)成了一個相對穩(wěn)定的邏輯實體。u基線中的配置項被基線中的配置項被“凍結(jié)凍結(jié)”了,不能再被任何了,
34、不能再被任何人隨意修改(見變更控制規(guī)程)。人隨意修改(見變更控制規(guī)程)。u其作用是使連續(xù)的工作在這些點上斷開,以便其作用是使連續(xù)的工作在這些點上斷開,以便于檢查和肯定階段成果。于檢查和肯定階段成果。u基線需要定期審核,以驗證與文檔的一致性?;€需要定期審核,以驗證與文檔的一致性?;€通常對應(yīng)于開發(fā)過程中的基線通常對應(yīng)于開發(fā)過程中的里程碑里程碑(MilestoneMilestone),一個產(chǎn)品可以有多個基線,也可,一個產(chǎn)品可以有多個基線,也可以只有一個基線。以只有一個基線?;€的主要屬性有:基線的主要屬性有:名稱、標(biāo)識符、版本、日期等。名稱、標(biāo)識符、版本、日期等。u通 常 將 交 付 給 客 戶
35、 的 基 線 稱 為 一 個通 常 將 交 付 給 客 戶 的 基 線 稱 為 一 個“ReleaseRelease”,為內(nèi)部開發(fā)用的基線則稱為一個為內(nèi)部開發(fā)用的基線則稱為一個“BuildBuild”。 v 以下的以下的SCI SCI 成為配置管理技術(shù)的目標(biāo)并形成成為配置管理技術(shù)的目標(biāo)并形成一組基線一組基線:v 1.1.系統(tǒng)規(guī)約系統(tǒng)規(guī)約v 2.2.軟件項目計劃軟件項目計劃v 3.3.軟件需求規(guī)約軟件需求規(guī)約: : a. a.圖形分析模型圖形分析模型; b.; b.處理規(guī)約處理規(guī)約;c.;c.原型原型;d.;d.數(shù)學(xué)規(guī)約數(shù)學(xué)規(guī)約v 4.4.初步的用戶手冊初步的用戶手冊v 5.5.設(shè)計規(guī)約設(shè)計規(guī)約
36、: : a. a.數(shù)據(jù)設(shè)計描述數(shù)據(jù)設(shè)計描述; b.; b.體系結(jié)構(gòu)設(shè)計描述體系結(jié)構(gòu)設(shè)計描述; ; c. c.模塊設(shè)計描述模塊設(shè)計描述; d.; d.界面設(shè)計描述界面設(shè)計描述 e.e.對象描述對象描述( (如果使用面向?qū)ο蠹夹g(shù)如果使用面向?qū)ο蠹夹g(shù)) )v 6.6.源代碼清單源代碼清單v 7.7.測試規(guī)約測試規(guī)約 a.a.測試計劃和過程測試計劃和過程 b.b.測試用例和結(jié)果記錄測試用例和結(jié)果記錄v 8.8.操作和安裝手冊操作和安裝手冊v 9.9.可執(zhí)行程序可執(zhí)行程序 a.a.模塊的可執(zhí)行代碼模塊的可執(zhí)行代碼 b.b.鏈接的模塊鏈接的模塊v 10.10.數(shù)據(jù)庫描述數(shù)據(jù)庫描述 a.a.模式和文件結(jié)構(gòu)模
37、式和文件結(jié)構(gòu) b.b.初始內(nèi)容初始內(nèi)容v 11.11.聯(lián)機(jī)用戶手冊聯(lián)機(jī)用戶手冊v 12.12.維護(hù)文檔維護(hù)文檔 a.a.軟件問題報告軟件問題報告 b.b.維護(hù)請求維護(hù)請求 c.c.工程變化命令工程變化命令v 13.13.軟件工程的標(biāo)準(zhǔn)和規(guī)程軟件工程的標(biāo)準(zhǔn)和規(guī)程v 14.14.特定版本的編輯器、編譯器和其他特定版本的編輯器、編譯器和其他CASE CASE 工具等工具等角色角色 u為了提高配置管理的效率和安全性,項目應(yīng)當(dāng)為了提高配置管理的效率和安全性,項目應(yīng)當(dāng)設(shè)有設(shè)有配置管理員配置管理員這個角色。這個角色。u配置管理員的主要工作是為配置管理員的主要工作是為項目制定配置管理項目制定配置管理計劃,創(chuàng)建
38、和維護(hù)配置庫計劃,創(chuàng)建和維護(hù)配置庫等。等。對于大型的項目,鑒于配置管理的重要性和復(fù)對于大型的項目,鑒于配置管理的重要性和復(fù)雜性,機(jī)構(gòu)應(yīng)當(dāng)設(shè)立雜性,機(jī)構(gòu)應(yīng)當(dāng)設(shè)立配置控制委員會(配置控制委員會(Configuration Control Board,CCB)。CCB是個虛擬小組,對配置管理各項活動擁有是個虛擬小組,對配置管理各項活動擁有決策權(quán)(例如審批計劃,審批變更請求等)。決策權(quán)(例如審批計劃,審批變更請求等)。對于對于配置管理而言,配置管理而言,CCB是決策者,而配置管是決策者,而配置管理員是執(zhí)行者理員是執(zhí)行者。對于普通的小型軟件項目而言,對于普通的小型軟件項目而言,CCBCCB這這個概念難以
39、落實,我們就不要玩虛的了,讓個概念難以落實,我們就不要玩虛的了,讓項目經(jīng)理或者配置管理員做決定就行了。項目經(jīng)理或者配置管理員做決定就行了。流程流程RUP描述的配置管理的主要活動如下圖所示:描述的配置管理的主要活動如下圖所示:對于一個軟件項目組來說,開展一個項目組的配置管理,大致可以分為以下步驟:配置項的標(biāo)識和控制配置項的標(biāo)識和控制 所有配置項都應(yīng)按照相關(guān)規(guī)定所有配置項都應(yīng)按照相關(guān)規(guī)定統(tǒng)一編號統(tǒng)一編號,按照相,按照相應(yīng)的模板生成,并在文檔中的規(guī)定章節(jié)(部分)應(yīng)的模板生成,并在文檔中的規(guī)定章節(jié)(部分)記錄對象的標(biāo)識信息。在引入軟件配置管理工具記錄對象的標(biāo)識信息。在引入軟件配置管理工具進(jìn)行管理后,這
40、些配置項都應(yīng)以一定的目錄結(jié)構(gòu)進(jìn)行管理后,這些配置項都應(yīng)以一定的目錄結(jié)構(gòu)保存在配置庫中。保存在配置庫中。所有配置項的所有配置項的操作權(quán)限操作權(quán)限應(yīng)由配置管理員嚴(yán)格管理,應(yīng)由配置管理員嚴(yán)格管理,基本原則是:基線配置項向軟件開發(fā)人員開放讀基本原則是:基線配置項向軟件開發(fā)人員開放讀取權(quán)限;非基線配置項向項目經(jīng)理、配置控制委取權(quán)限;非基線配置項向項目經(jīng)理、配置控制委員會及相關(guān)人員開放。員會及相關(guān)人員開放。工作空間管理工作空間管理 在引入了軟件配置管理工具之后,所有開發(fā)人在引入了軟件配置管理工具之后,所有開發(fā)人員都會被要求把工作成果存放到由軟件配置管理員都會被要求把工作成果存放到由軟件配置管理工具所管理的
41、配置庫(存儲池)中去,或是直接工具所管理的配置庫(存儲池)中去,或是直接工作在軟件配置管理工具提供的環(huán)境之下(根據(jù)工作在軟件配置管理工具提供的環(huán)境之下(根據(jù)配置管理構(gòu)架提供的控制方式不同而不同)。配置管理構(gòu)架提供的控制方式不同而不同)。 每個開發(fā)人員按照任務(wù)的要求,在不同的開發(fā)每個開發(fā)人員按照任務(wù)的要求,在不同的開發(fā)階段,工作在不同的工作空間上。階段,工作在不同的工作空間上。 比較理想的情況是把整個配置庫視為一個統(tǒng)一的比較理想的情況是把整個配置庫視為一個統(tǒng)一的工作空間,然后再根據(jù)需要把它劃分為個人(私工作空間,然后再根據(jù)需要把它劃分為個人(私有)、團(tuán)隊(集成)和全組(公共)這三類工作有)、團(tuán)隊
42、(集成)和全組(公共)這三類工作空間(分支),從而更好的支持將來可能出現(xiàn)的空間(分支),從而更好的支持將來可能出現(xiàn)的并行開發(fā)的需求。并行開發(fā)的需求。 版本控制版本控制 版本控制版本控制是軟件配置管理的核心功能。所有置于配置庫是軟件配置管理的核心功能。所有置于配置庫中的元素都應(yīng)自動予以版本的標(biāo)識,并保證版本命名的中的元素都應(yīng)自動予以版本的標(biāo)識,并保證版本命名的唯一性。版本在生成過程中,自動依照設(shè)定的使用模型唯一性。版本在生成過程中,自動依照設(shè)定的使用模型自動分支、演進(jìn)。除了系統(tǒng)自動記錄的版本信息以外,自動分支、演進(jìn)。除了系統(tǒng)自動記錄的版本信息以外,為了配合軟件開發(fā)流程的各個階段,我們還需要定義、
43、為了配合軟件開發(fā)流程的各個階段,我們還需要定義、收集一些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流程,收集一些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流程,并為今后對軟件過程的度量做好準(zhǔn)備。當(dāng)然如果選用的并為今后對軟件過程的度量做好準(zhǔn)備。當(dāng)然如果選用的工具支持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程數(shù)據(jù),工具支持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程數(shù)據(jù),從而方便我們從而方便我們軟件過程改進(jìn)軟件過程改進(jìn)(Software Process Software Process ImprovementImprovement,SPISPI)活動的進(jìn)行。)活動的進(jìn)行。 對于配置庫中的各個基線控制項,應(yīng)該根據(jù)其基線的位對
44、于配置庫中的各個基線控制項,應(yīng)該根據(jù)其基線的位置和狀態(tài)來設(shè)置相應(yīng)的訪問權(quán)限。一般來說,對于基線置和狀態(tài)來設(shè)置相應(yīng)的訪問權(quán)限。一般來說,對于基線版本之前的各個版本都應(yīng)處于被鎖定的狀態(tài),如需要對版本之前的各個版本都應(yīng)處于被鎖定的狀態(tài),如需要對它們進(jìn)行變更,則應(yīng)按照變更控制的流程來進(jìn)行操作。它們進(jìn)行變更,則應(yīng)按照變更控制的流程來進(jìn)行操作。 變更控制變更控制 變更管理變更管理的一般流程是:的一般流程是:(1 1)(獲得)提出變更請求;)(獲得)提出變更請求;(2 2)由)由CCBCCB審核并決定是否批準(zhǔn);審核并決定是否批準(zhǔn);(3 3)(被接受)分配請求,修改人員提取配置項,進(jìn)行)(被接受)分配請求,修
45、改人員提取配置項,進(jìn)行修改;修改;(4 4)復(fù)審變化;)復(fù)審變化;(5 5)提交修改后的配置項;)提交修改后的配置項;(6 6)建立測試基線并測試;)建立測試基線并測試;(7 7)重建軟件的適當(dāng)版本;)重建軟件的適當(dāng)版本;(8 8)復(fù)審(審計)所有配置項的變化;)復(fù)審(審計)所有配置項的變化;(9 9)發(fā)布新版本。)發(fā)布新版本。 在這樣的流程中,配置管理員通過軟件配置管理在這樣的流程中,配置管理員通過軟件配置管理工具來進(jìn)行訪問控制和同步控制,而這兩種控制則是工具來進(jìn)行訪問控制和同步控制,而這兩種控制則是建立在前面所描述的版本控制和分支策略的基礎(chǔ)上的。建立在前面所描述的版本控制和分支策略的基礎(chǔ)上
46、的。 狀態(tài)報告狀態(tài)報告 配置狀態(tài)報告配置狀態(tài)報告應(yīng)該包括下列主要內(nèi)容:應(yīng)該包括下列主要內(nèi)容: (1)(1)配置庫結(jié)構(gòu)和相關(guān)說明;配置庫結(jié)構(gòu)和相關(guān)說明; (2)(2)開發(fā)起始基線的構(gòu)成;開發(fā)起始基線的構(gòu)成; (3)(3)當(dāng)前基線位置及狀態(tài);當(dāng)前基線位置及狀態(tài); (4)(4)各基線配置項集成分支的情況;各基線配置項集成分支的情況; (5)(5)各私有開發(fā)分支類型的分布情況;各私有開發(fā)分支類型的分布情況; (6)(6)關(guān)鍵元素的版本演進(jìn)記錄;關(guān)鍵元素的版本演進(jìn)記錄; (7)(7)其它應(yīng)報告的事項。其它應(yīng)報告的事項。 配置審計配置審計 配置審計配置審計的主要作用是作為變更控制的補充手段,來確的主要作用
47、是作為變更控制的補充手段,來確保某一變更需求已被切實實現(xiàn)。在某些情況下,它被作保某一變更需求已被切實實現(xiàn)。在某些情況下,它被作為正式的技術(shù)復(fù)審的一部分,但當(dāng)軟件配置管理是一個為正式的技術(shù)復(fù)審的一部分,但當(dāng)軟件配置管理是一個正式的活動時,該活動由正式的活動時,該活動由SQASQA人員單獨執(zhí)行。人員單獨執(zhí)行??傊?,軟件配置管理的對象是軟件研發(fā)活動中的全部開總之,軟件配置管理的對象是軟件研發(fā)活動中的全部開發(fā)資產(chǎn)。所有這一切都應(yīng)作為配置項納入管理計劃統(tǒng)一發(fā)資產(chǎn)。所有這一切都應(yīng)作為配置項納入管理計劃統(tǒng)一進(jìn)行管理,從而能夠保證及時的對所有軟件開發(fā)資源進(jìn)進(jìn)行管理,從而能夠保證及時的對所有軟件開發(fā)資源進(jìn)行維護(hù)
48、和集成。因此,行維護(hù)和集成。因此,軟件配置管理的主要任務(wù)軟件配置管理的主要任務(wù)也就歸也就歸結(jié)為以下幾條:結(jié)為以下幾條: (1 1)制定項目的配置計劃;)制定項目的配置計劃; (2 2)對配置項進(jìn)行標(biāo)識;)對配置項進(jìn)行標(biāo)識; (3 3)對配置項進(jìn)行版本控制;)對配置項進(jìn)行版本控制; (4 4)對配置項進(jìn)行變更控制;)對配置項進(jìn)行變更控制; (5 5)定期進(jìn)行配置審計;)定期進(jìn)行配置審計; (6 6)向相關(guān)人員報告配置的狀態(tài)。)向相關(guān)人員報告配置的狀態(tài)。 項目經(jīng)理的配置管理流程項目經(jīng)理的配置管理流程 項目經(jīng)理的工作是:項目經(jīng)理的工作是:(1 1)確定項目配置)確定項目配置管理策略管理策略 (2 2
49、)確定用于控制)確定用于控制產(chǎn)品變更的策略和產(chǎn)品變更的策略和流程流程 (3 3)在配置管理計)在配置管理計劃(是軟件開發(fā)計劃(是軟件開發(fā)計劃的一部分)中記劃的一部分)中記錄此信息錄此信息 配置管理策略配置管理策略 軟件配置管理策略軟件配置管理策略是指能夠確定、保護(hù)和報告已是指能夠確定、保護(hù)和報告已經(jīng)批準(zhǔn)用于項目中的工件的能力。通過正確的標(biāo)經(jīng)批準(zhǔn)用于項目中的工件的能力。通過正確的標(biāo)注來實現(xiàn)確定操作。對項目工件的保護(hù)是通過歸注來實現(xiàn)確定操作。對項目工件的保護(hù)是通過歸檔、建立基線和報告等操作而得以實現(xiàn)的。檔、建立基線和報告等操作而得以實現(xiàn)的。 使用標(biāo)準(zhǔn)的、已記錄下來的使用標(biāo)準(zhǔn)的、已記錄下來的變更控制
50、流程的目的變更控制流程的目的是:確保項目中所做的變更保持一致,并將產(chǎn)品是:確保項目中所做的變更保持一致,并將產(chǎn)品的狀態(tài)、對其所做的變更以及這些變更所耗費的的狀態(tài)、對其所做的變更以及這些變更所耗費的成本及對時間表的影響通知給有關(guān)的涉眾。成本及對時間表的影響通知給有關(guān)的涉眾。 軟件軟件配置管理計劃配置管理計劃說明在產(chǎn)品說明在產(chǎn)品/ /項目生命周期中要項目生命周期中要執(zhí)行的所有與配置管理相關(guān)的活動。它記錄如何執(zhí)行的所有與配置管理相關(guān)的活動。它記錄如何計劃、實施、控制和組織與產(chǎn)品相關(guān)的配置管理計劃、實施、控制和組織與產(chǎn)品相關(guān)的配置管理活動?;顒?。 配備人員配備人員 配置管理人員的選擇和配備,是軟件項目
51、經(jīng)配置管理人員的選擇和配備,是軟件項目經(jīng)理最主要的工作。在一個比較理想的軟件開發(fā)團(tuán)理最主要的工作。在一個比較理想的軟件開發(fā)團(tuán)隊中,需要哪些角色呢?隊中,需要哪些角色呢?負(fù)責(zé)軟件項目組的負(fù)責(zé)軟件項目組的項目經(jīng)理項目經(jīng)理負(fù)責(zé)負(fù)責(zé)SCMSCM計劃和策略的計劃和策略的配置經(jīng)理配置經(jīng)理負(fù)責(zé)軟件產(chǎn)品開發(fā)與維護(hù)的負(fù)責(zé)軟件產(chǎn)品開發(fā)與維護(hù)的軟件工程人員軟件工程人員負(fù)責(zé)驗證產(chǎn)品正確性的負(fù)責(zé)驗證產(chǎn)品正確性的測試人員測試人員負(fù)責(zé)確保產(chǎn)品高質(zhì)量的負(fù)責(zé)確保產(chǎn)品高質(zhì)量的質(zhì)量保證經(jīng)理質(zhì)量保證經(jīng)理使用產(chǎn)品的使用產(chǎn)品的用戶用戶。 配置經(jīng)理配置經(jīng)理 配置經(jīng)理配置經(jīng)理的目標(biāo)是確保用來建立、變更及編碼測的目標(biāo)是確保用來建立、變更及編碼
52、測試的計劃和策略得以貫徹執(zhí)行,同時使有關(guān)項目試的計劃和策略得以貫徹執(zhí)行,同時使有關(guān)項目的信息容易獲得。的信息容易獲得。 為了對編碼更改形成控制,配置經(jīng)理引入規(guī)范的為了對編碼更改形成控制,配置經(jīng)理引入規(guī)范的請求變更的機(jī)制,評估更改的機(jī)制(通過變更控請求變更的機(jī)制,評估更改的機(jī)制(通過變更控制機(jī)構(gòu)制機(jī)構(gòu)CCB,由它負(fù)責(zé)批準(zhǔn)對軟件系統(tǒng)的變更),由它負(fù)責(zé)批準(zhǔn)對軟件系統(tǒng)的變更),和批準(zhǔn)變更的機(jī)制。和批準(zhǔn)變更的機(jī)制。 配置經(jīng)理負(fù)責(zé)為工程人員創(chuàng)建任務(wù)單,交由項目配置經(jīng)理負(fù)責(zé)為工程人員創(chuàng)建任務(wù)單,交由項目經(jīng)理對任務(wù)進(jìn)行分配,創(chuàng)建項目的框架。同時,經(jīng)理對任務(wù)進(jìn)行分配,創(chuàng)建項目的框架。同時,配置經(jīng)理還收集軟件系統(tǒng)
53、中構(gòu)件的相關(guān)數(shù)據(jù),比配置經(jīng)理還收集軟件系統(tǒng)中構(gòu)件的相關(guān)數(shù)據(jù),比如說用以判斷系統(tǒng)中出現(xiàn)問題的構(gòu)件的信息。如說用以判斷系統(tǒng)中出現(xiàn)問題的構(gòu)件的信息。 配置管理計劃配置管理計劃配置管理員根據(jù)本項目的特征,起配置管理員根據(jù)本項目的特征,起草配置管理計劃,由草配置管理計劃,由CCB負(fù)責(zé)人(通常負(fù)責(zé)人(通常是項目經(jīng)理)審批。是項目經(jīng)理)審批。u配置管理計劃的主要內(nèi)容配置管理計劃的主要內(nèi)容: 1. 1. 人員與職責(zé)人員與職責(zé) 2. 2. 軟件硬件資源軟件硬件資源 3. 3. 配置項計劃配置項計劃 4. 4. 基線計劃基線計劃 5. 5. 配置庫備份計劃配置庫備份計劃 6. 6. 版本控制規(guī)則版本控制規(guī)則 7.
54、 7. 變更控制規(guī)則變更控制規(guī)則 8. 8. 審批審批 角色職責(zé)角色職責(zé) v項目經(jīng)理項目經(jīng)理(Project ManagerProject Manager,PMPM) v配置控制委員會配置控制委員會(Configuration Control Configuration Control BoardBoard,CCBCCB) v配置管理員配置管理員(Configuration Management Configuration Management OfficerOfficer,CMOCMO) v系統(tǒng)集成員系統(tǒng)集成員(System Integration OfficerSystem Integra
55、tion Officer,SIOSIO) v開發(fā)人員開發(fā)人員(DeveloperDeveloper,DEVDEV) 配置管理計劃配置管理計劃v肩負(fù)對項目成功負(fù)責(zé)的重要職責(zé)肩負(fù)對項目成功負(fù)責(zé)的重要職責(zé) v評估開發(fā)團(tuán)隊當(dāng)前配置管理現(xiàn)狀評估開發(fā)團(tuán)隊當(dāng)前配置管理現(xiàn)狀v定義實施的范圍定義實施的范圍v計劃資源要素計劃資源要素 項目經(jīng)理的階段工作要點項目經(jīng)理的階段工作要點 概念概念 u軟件的每一版本都是軟件基線庫的配置項(源軟件的每一版本都是軟件基線庫的配置項(源代碼、文檔、數(shù)據(jù))的一個集合。代碼、文檔、數(shù)據(jù))的一個集合。u版本控制的目的版本控制的目的是按照一定的規(guī)則保存配置項是按照一定的規(guī)則保存配置項的所
56、有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,并且可以快速準(zhǔn)確地查找到配置項的任何版本。并且可以快速準(zhǔn)確地查找到配置項的任何版本。所有項目成員都必須遵照版本控制規(guī)程操作所有項目成員都必須遵照版本控制規(guī)程操作配置庫。配置庫。 版本控制規(guī)則版本控制規(guī)則配置項的狀態(tài)有三種:配置項的狀態(tài)有三種: “草稿草稿”(DraftDraft)、)、 “ “正式發(fā)布正式發(fā)布”(ReleasedReleased)、)、 “ “正在修改正在修改”(ChangingChanging)。)。u配置項狀態(tài)變遷:配置項狀態(tài)變遷: 1.1.配置項剛建立時其狀態(tài)為配置項剛建立時其狀態(tài)為“草稿草稿
57、”。2.2.配置項通過評審(或?qū)徟┖?,其狀態(tài)變?yōu)榕渲庙椡ㄟ^評審(或?qū)徟┖?,其狀態(tài)變?yōu)椤罢桨l(fā)布正式發(fā)布”。3.3.此后若更改配置項,必須依照此后若更改配置項,必須依照“變更控制規(guī)程變更控制規(guī)程”執(zhí)行,其狀態(tài)變?yōu)閳?zhí)行,其狀態(tài)變?yōu)椤罢谛薷恼谛薷摹薄?.4.當(dāng)配置項修改完畢并重新通過評審(或?qū)徟┊?dāng)配置項修改完畢并重新通過評審(或?qū)徟r,其狀態(tài)又變?yōu)闀r,其狀態(tài)又變?yōu)椤罢桨l(fā)布正式發(fā)布”,如此循環(huán)。,如此循環(huán)。版本號版本號 u(1 1)處于處于“草稿草稿”狀態(tài)的配置項的版本號格狀態(tài)的配置項的版本號格式為:式為:0.YZ0.YZ YZYZ數(shù)字范圍為數(shù)字范圍為01-9901-99。隨著草稿的不斷
58、完善,隨著草稿的不斷完善,“YZ”YZ”的取值應(yīng)遞的取值應(yīng)遞增。增。“YZ”YZ”的初值和增幅由用戶自己把握。的初值和增幅由用戶自己把握。u(2 2)處于處于“正式發(fā)布正式發(fā)布”狀態(tài)的配置項的版本號格式狀態(tài)的配置項的版本號格式為:為:X.YX.Y X X為主版本號,取值范圍為為主版本號,取值范圍為1-91-9。Y Y為次版本號,為次版本號,取值范圍為取值范圍為1-91-9。 配置項第一次配置項第一次“正式發(fā)布正式發(fā)布”時,版本號為時,版本號為1.0 1.0 如果配置項的版本升級幅度比較小,一般只增大如果配置項的版本升級幅度比較小,一般只增大Y Y值,值,X X值保持不變。只有當(dāng)配置項版本升級幅
59、度值保持不變。只有當(dāng)配置項版本升級幅度比較大時,才允許增大比較大時,才允許增大X X值。值。 u(3 3)處于處于“正在修改正在修改”狀態(tài)的配置項的版本號格狀態(tài)的配置項的版本號格式為:式為:X.YZX.YZ 配置項正在修改時,一般只增大配置項正在修改時,一般只增大Z Z值,值,X.YX.Y值保值保持不變。持不變。 當(dāng)配置項修改完畢,狀態(tài)重新成為當(dāng)配置項修改完畢,狀態(tài)重新成為“正式發(fā)布正式發(fā)布”時,將時,將Z Z值設(shè)置為值設(shè)置為0 0,增加,增加X.YX.Y值。參見規(guī)則(值。參見規(guī)則(2 2)。)。 變更控制的目的變更控制的目的是防止配置項被隨意修改而是防止配置項被隨意修改而導(dǎo)致混亂。導(dǎo)致混亂。
60、為了提高效率,對于處于為了提高效率,對于處于“草稿狀態(tài)草稿狀態(tài)”的配的配置項,不必進(jìn)行變更控制,因為它們本來就置項,不必進(jìn)行變更控制,因為它們本來就是草稿,本來就是要被不斷地修改的。是草稿,本來就是要被不斷地修改的。 變更控制變更控制當(dāng)配置項狀態(tài)為當(dāng)配置項狀態(tài)為“正式發(fā)布正式發(fā)布”,或者該配,或者該配置項已經(jīng)成為某個基線的一部分(即被置項已經(jīng)成為某個基線的一部分(即被“凍凍結(jié)結(jié)”)時,如果要修改配置項的話,那么按照)時,如果要修改配置項的話,那么按照變更控制規(guī)則執(zhí)行。變更控制規(guī)則執(zhí)行。步驟:步驟:u第一步第一步 變更申請變更申請。變更申請人向。變更申請人向CCBCCB提交提交變更申請,重點說明
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二手車寄售代理服務(wù)合同
- 2025年度吊車租賃與施工現(xiàn)場管理服務(wù)協(xié)議
- 2025年車貸居間服務(wù)收費標(biāo)準(zhǔn)合同范本
- 建立適應(yīng)性強(qiáng)的財務(wù)體系計劃
- 學(xué)生領(lǐng)導(dǎo)力培養(yǎng)課程計劃
- 教學(xué)工作創(chuàng)新方向計劃
- 年度戰(zhàn)略性談判的技巧分享計劃
- 市場調(diào)研與分析工作安排計劃
- 特色課程開發(fā)與實施方案計劃
- 高危作業(yè)的安全保障措施優(yōu)化計劃
- 元宇宙視域下非遺保護(hù)與傳播途徑探究
- 2025年買賣個人房屋合同(4篇)
- 2025代運營合同范本
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫附帶答案詳解
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 大學(xué)學(xué)生宿舍管理員工作培訓(xùn)
- 初三物理常識試卷單選題100道及答案
- 初中新課標(biāo)培訓(xùn)課件
- 辦公用品價格清單
- 公司銀行貸款申請書范文
評論
0/150
提交評論