軟件配置管理(SCM,SoftConfigureManagement)的目的是在整個項目的軟件生存周期內(nèi),建立和維護軟件項目產(chǎn)品的完整性。
軟件配置管理包括在給定時間點上及時地標識軟件的配置,系統(tǒng)地控制對配置的更改,并在整個軟件生存周期中維護配置的完整性和可跟蹤性。置于軟件配置管理之下的工作產(chǎn)品包括交付給客戶的軟件產(chǎn)品(如軟件需求文檔和代碼),以及與這些軟件產(chǎn)品一同標識的或為產(chǎn)生這些軟件產(chǎn)品所要求的產(chǎn)品項(如編譯程序)。
通過軟件配置管理的更改控制和配置審核職能,項目能系統(tǒng)地控制對基線的更改和由軟件基線庫構(gòu)造的軟件產(chǎn)品的發(fā)布。
關(guān)鍵過程域包括實施軟件配置管理職能的有關(guān)實踐。標識特定配置項單元的實踐則包含在描述各配置項單元開發(fā)和維護的關(guān)鍵過程域中。
1.SCM的關(guān)鍵活動
CMM中的軟件配置管理包括了多項相關(guān)活動,包括版本控制、建立軟件配置庫系統(tǒng)、配置項變化的控制、軟件基線記錄報告等等。如果將SCM作為一個配置管理模型,應(yīng)當強調(diào)以下幾點:
(1)任務(wù)清晰,責(zé)任明確
為了確保軟件開發(fā)過程中開發(fā)人員之間各種信息交流的順暢和準確,首要問題是確立一個實施架構(gòu)。通常是以“組”的概念細分一項工程中各類任務(wù)的執(zhí)行單位,明確各組在開發(fā)和管理過程中各自的職責(zé)、需要完成的工作,管理層面可由此清晰地了解產(chǎn)品的完成情況??傮w設(shè)計者利用任務(wù)的展開方式進行任務(wù)分配,用網(wǎng)絡(luò)圖的方式控制各組之間的關(guān)系,包括時間進度計劃和各組之間的接口等等。
軟件開發(fā)過程中的是配置管理的基礎(chǔ),如果任務(wù)定義不明確,配置管理的實施也將難以保證。通過對任務(wù)的詳細定義,把每一個子任務(wù)具體分配給某一個人去完成,這樣就將對集體管理的任務(wù)細化到對個人的管理層面上了。
?。?)建立軟件配置管理庫系統(tǒng)
建立軟件配置管理庫系統(tǒng)的主要目的是用來存放軟件基線。它可以對軟件配置管理進行多級控制,譬如在產(chǎn)品開發(fā)周期中,不同階段有著不同力度的配置管理,隨著產(chǎn)品不斷成熟,控制力度也隨之增強;提供對庫中配置項的存儲和修改的功能,支持在相關(guān)組之間和庫中不同控制級間共享和傳輸配置項;支持生成軟件配置管理的報告文檔及軟件基線內(nèi)容的報告文檔;有助于確保從軟件基線庫中發(fā)布的相關(guān)文檔和軟件產(chǎn)品的正確性。
?。?)版本管理
版本控制是軟件配置管理的基本要求,它可以保證在任何時刻恢復(fù)任何一個中間產(chǎn)品的任意版本。版本管理記錄了所有庫中代碼和文檔的開發(fā)歷程,可以保證產(chǎn)品的可追溯性,為調(diào)試代碼、清除缺陷提供很大的幫助。同時,版本管理支持并行開發(fā)和維護,為協(xié)同開發(fā)打下了基礎(chǔ)。
?。?)變化控制
在有配置管理概念的軟件產(chǎn)品開發(fā)過程中,所有的改變都是在有效控制下的,包括軟件基線的改變、配置項的改變。改變管理的一個基本項就是改變請求(CR,ChangeRequest),在一個軟件系統(tǒng)中描述邏輯上改變的實體。改變請求是由開發(fā)計劃變化和錯誤報告生成的。在開發(fā)過程中,CR主要收集有關(guān)系統(tǒng)改變的信息。開發(fā)人員將一個新建或修改過的文件寫入庫中時,要指出相關(guān)的CR,文件名稱和版本需在CR中登記。CR的最終版本包括邏輯改變的描述和所有修改的文件版本信息。由SCM組和SCCM(軟件配置控制委員會)審核要寫入配置管理庫中的新的軟件基線。
2.軟件配置管理工具
軟件配置管理工具(SCMT,SoftConfigureManagementTool)正是從這一角度出發(fā),對軟件配置管理過程進行具體實施,將抽象的軟件配置管理工作轉(zhuǎn)化為可借鑒的、可操作的具體執(zhí)行規(guī)范。SCMT作為軟件配置管理的輔助手段,必須要制定一個實際、可行的軟件配置管理流程,依據(jù)該流程,加之SCMT的輔助,軟件配置管理工作才能真正做到科學(xué)、有序。
3.軟件配置管理流程
SCMT將軟件配置管理工作分解為項目建立、配置策劃?項目策劃、計算機軟件配置項(CSCI)策劃?、CSCI入庫(初始入庫、更動入庫)、軟件問題報告、軟件更動報告、更動出庫、瀏覽出庫、項目歸檔、項目導(dǎo)入、產(chǎn)品定義、產(chǎn)品出庫、配置審計、配置追蹤、狀態(tài)報告等。
首先由系統(tǒng)管理員建立項目,將項目基本信息入庫和創(chuàng)建軟件配置控制委員會(SCCB)用戶、項目管理員;其次由項目管理員對已建立的項目進行項目策劃,劃分CSCI,一個項目可以包含一個或多個CSCI,包括將CSCI基本信息入庫和創(chuàng)建CSCI管理員、配置管理組成員,項目策劃需要由軟件配置控制委員會審批。
其次,由CSCI管理員進行CSCI策劃,包括劃分基線、為每條基線標識軟件配置管理項(CMI)、確定CMI之間的依賴關(guān)系、創(chuàng)建一般用戶,CSCI策劃由配置管理組審批;配置策劃完成后,即可進行初始入庫(指CMI的初次入庫,由權(quán)限用戶操作,由配置管理組審批)。有了已入庫的CMI后就可以進行后續(xù)操作。
SCMT中規(guī)定如下配置更動規(guī)程:配置更動針對的是受控庫中登錄的軟件問題,配置更動實施前必須填寫軟件更動報告,經(jīng)更動評審組評審?fù)ㄟ^,且確認評審結(jié)論為“按計劃實施”時,才能從受控庫中提出需更動的CMI并實施更動。更動實施完成后,必須通過評審才能重新進入受控庫。
更動過程在SCMT內(nèi)分解為提交軟件問題報告,提交軟件更動報告,更動出庫和更動入庫。軟件問題報告由發(fā)現(xiàn)問題的人員填寫,不需要審批;軟件更動報告由CSCI管理員填寫,交更動評審組審核。在項目建立時或在接到軟件更動報告后,建立更動評審組。根據(jù)所開發(fā)軟件的關(guān)鍵級別和規(guī)模大小決定更動評審組規(guī)模的大小,構(gòu)成人員應(yīng)包括軟件項目的管理人員、技術(shù)負責(zé)人員、總體設(shè)計人員、軟件質(zhì)量保證人員和軟件配置管理人員,組成人數(shù)可視實際情況酌定。更動評審組收到軟件更動報告后,分析此更動的必要性和技術(shù)可行性,并權(quán)衡其他的更動策略和方法,所涉及的有關(guān)CMI,對系統(tǒng)的功能和性能的影響,更動所需的資源是否合理、充分以及對整個工程進展和經(jīng)費的影響等。由此決策是否實施此項更動,并給出更動評審結(jié)論,同時由SCCB簽署該軟件更動報告。
SCMT審查簽署后的軟件更動報告中的更動結(jié)論,清除問題時,形成“問題報告”-“更動報告”鏈并發(fā)布問題解決通告;暫緩執(zhí)行時,不需做任何處理;按計劃實施時,允許CMI更動出庫。更動出庫由權(quán)限用戶依據(jù)簽署的軟件更動報告進行;更動入庫由權(quán)限用戶操作,由CMG審批。
瀏覽出庫指出于測試或閱讀的需要對CMI進行出庫,瀏覽出庫不需要審批。
產(chǎn)品定義、產(chǎn)品出庫、項目歸檔和項目導(dǎo)入由項目管理員操作,由SCCB審批。要求出庫的產(chǎn)品必須曾經(jīng)定義過,要求導(dǎo)入的項目必須為歸檔項目。
配置審計、配置追蹤、狀態(tài)報告由SCCB、CMG、CSCI管理員操作。
SCMT提供配置審計向?qū)В龑?dǎo)用戶完成配置審計處理過程。
在導(dǎo)入SCMT時應(yīng)該本著軟件配置管理關(guān)鍵域的核心思想,從現(xiàn)有市場中選擇適合自己的配置工具。需要強調(diào)的是,無論什么樣的工具都無法完全實現(xiàn)軟件配置管理的目標與關(guān)鍵實踐,在此也不排除自我開發(fā)的SCMT.問題的關(guān)鍵在于對人的培訓(xùn),在使用工具的同時深化CMM管理理念,使整個軟件項目團隊在開發(fā)過程中確保質(zhì)量達標。因此,手工操作仍然是今后一段時間內(nèi)軟件配置管理實施中必不可少的基礎(chǔ)手段。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com