软件配置管理(三)软件配置管理核心功能
文章目錄
- 一、CMM/CMMI與軟件配置管理
- 產(chǎn)品完整性
- 二、三庫管理
- 三、基線管理
- 基線管理的好處
- 基線管理的步驟
- 四、配置庫管理
- 五、變更管理
- 變更管理流程
- 六、配置審計
- 七、配置狀態(tài)報告
一、CMM/CMMI與軟件配置管理
軟件配置管理是CMM/CMMI二級(可重復(fù)級)的一個重要KPA。
CMM/CMMI又將軟件配置管理的目的定義為建立和維護產(chǎn)品的完整性。
產(chǎn)品完整性
項目提交的工作成果是產(chǎn)品集合完整、子產(chǎn)品正確的。
- 產(chǎn)品集合完整:產(chǎn)品包含的子產(chǎn)品是完整的;
- 子產(chǎn)品正確:子產(chǎn)品達到了需求要求,滿足標(biāo)準(zhǔn)、規(guī)程的要求。
二、三庫管理
配置項在開發(fā)庫、受控庫和產(chǎn)品庫之間遷移,一級比一級的控制更加嚴格。
在CMM中,對開發(fā)庫的管理沒有要求,但要對受控庫和產(chǎn)品庫進行管理。
- 開發(fā)庫
存放開發(fā)過程中需要保留的各種信息,供開發(fā)人員專用; - 受控庫
在軟件開發(fā)某個階段工作結(jié)束后,將產(chǎn)品或有關(guān)信息存入; - 產(chǎn)品庫
在軟件產(chǎn)品完成系統(tǒng)測試后,作為最終產(chǎn)品存入庫內(nèi)。
按照三庫管理的思路,軟件開發(fā)組日常的工作在開發(fā)庫中開展,當(dāng)工作達到里程碑時,再遷移到受控庫,在受控庫中經(jīng)過更加嚴格的測試后,再上升到產(chǎn)品庫,最后發(fā)布。
三庫間通常通過權(quán)限與流程控制實現(xiàn)配置項再不同庫之間的流轉(zhuǎn)以及人員訪問。即邏輯獨立,物理上在一起。
三、基線管理
每個基線都接受配置管理的控制,對其的修改將按照變更控制的要求進行。在一個軟件開發(fā)階段結(jié)束時,上一個基線加上增加和修改的內(nèi)容形成下一個基線。
基線管理的好處
- 重現(xiàn)性:及時返回并重新生成軟件系統(tǒng)版本的能力。
- 可追蹤性:建立項目工作之間的前后繼承關(guān)系。
- 版本隔離:基線為開發(fā)工件提供了一個定點和快照,新項目可以中基線提供的定點中建立。
基線管理的步驟
四、配置庫管理
每個配置項從建立開始,就被劃分成3個分支:私有分支、集成分支和公共(主干)分支,分別對應(yīng)三類工作空間,由CMO統(tǒng)一管理。
- 私有分支:是開發(fā)人員的私有開發(fā)空間,除該開發(fā)人員外,其他人無權(quán)操作;
- 集成分支:對應(yīng)開發(fā)團隊的公共空間,開發(fā)團隊擁有讀寫權(quán)限,而其他成員只有只讀權(quán)限,SIO和相關(guān)指定負責(zé)人進行管理;
- 公共分支:對應(yīng)整個軟件開發(fā)組織的公共空間。對全體人員只開發(fā)只讀權(quán)限,由SIO負責(zé)管理。
決定配置庫的結(jié)構(gòu)是配置管理活動的重要基礎(chǔ),一般常用的是兩種組織形式:按配置類型分類建庫和按任務(wù)建庫。
五、變更管理
保證配置項在開發(fā)過程中始終處于受控狀態(tài),且在任何情況都能迅速恢復(fù)到任一歷史狀態(tài)。
為了更好知道變更范圍的影響分析,可以通過《需求追蹤表》和《配置項依賴關(guān)系表》發(fā)現(xiàn)受到影響的內(nèi)容。
變更管理流程
六、配置審計
作為變更控制的補充手段,確保變更需求已被切實實現(xiàn)。審計機制保證修改的動作被完整地記錄。
配置審計有兩種,分別是物理審計和功能審計。
- 物理審計(PCA):檢查版本是否正確一致(完整性)。一般由非配置管理人員進行,如SQA(質(zhì)量保證人員)
- 配置項是否齊備
- 版本是否齊全
- 功能審計(FCA):檢查配置項是否完整,各種過程文檔是否齊備、正確、與需求是否一致(一致性),歸結(jié)為兩點,即完全和齊備。一般由CMO進行。
七、配置狀態(tài)報告
配置狀態(tài)報告就是根據(jù)配置項操作的記錄來向管理者報告軟件開發(fā)活動的進展情況。通常是定期進行、通過case工具自動生成的。著重反應(yīng)當(dāng)前基線配置項的狀態(tài),對變更情況和配置庫情況也應(yīng)進行說明。
總結(jié)
以上是生活随笔為你收集整理的软件配置管理(三)软件配置管理核心功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件配置管理(二)配置管理角色与过程
- 下一篇: 软件配置管理(四)代码味道与重构