[原創]軟體組態管理
一 什麼是軟體組態管理?
以下是一些標準定義:(1)《ISO/IEC 12207(1995)資訊技術--軟體生存期過程》:組態管理過程是在整個軟體生存期中實施管理和技術規程的過程,它標識、定義系統中軟體項並制定基準;控制軟體項的修改和發行;記錄和報告軟體項的狀態和修改申請;保證軟體項的完整性、協調性和正確性;以及控制軟體項的儲存、裝載和交付。
(2)《ISO 9000-3(1997)品質管理和品質保證標準--第3部分:ISO 9001:1994 在電腦軟體開發、供應、安裝和維護中的使用指南》:軟體組態管理是一個管理學科,它對配置項的開發和支援生存期給予技術上和管理上的指導。組態管理的應用取決於項目的規模、複雜程度和風險大小。
(3)巴比齊(W.Babich):軟體組態管理能協調軟體開發,使得混亂減少到最小。軟體組態管理是一種標識、組織和控制修改的技術,目的是最有效地提高生產率。
(4)《GB/T 11457(1995)軟體工程術語》:軟體組態管理是標識和確定系統中配置項的過程,在系統整個生存周期內控制這些項的投放和更動,記錄並報告配置的狀態和更動要求,驗證配置項的完整性和正確性。
總結組態管理是門通過一系列技術、方法和手段來維護產品的曆史、鑒別和定位產品專屬的版本、在產品開發和發布階段控制變化,從而使管理制度化、有效減少重複性工作、保證產品的品質和效率的科學。
二 軟體組態管理的主要內容:
1、版本管理
1.1 軟體配置項(software configuration item): 含義:在軟體生存周期內所產生的各種應納入管理範圍的系統構成成分。 包括各種管理文檔和技術文檔,來源程式與目標代碼,以及運行所需的各種資料等(組態管理的資來源物件)。 形態:在通常的軟體組態管理系統中,最基本的軟體配置項是以磁碟檔案的形式進行存放和管理的。
1.2 版本管理是組態管理的基礎: 應當記錄每個軟體配置項的所有記錄,並記錄該軟體配置項由何人建立,何人在何時因何原因進行了修改等資訊,以及對這些軟體配置項版本的進行的檢索和資訊查詢等活動。
1.3 版本樹: 可以對軟體系統的不同演化方向進行管理。
1.4 軟體配置項的版本管理——版本數 記錄一棵帶有時間標記的配置項版本演化的樹結構資訊。
2、配置支援
2.1 軟體配置(software configuration): 所有軟體配置項在不同時期的組合、結構與關係定義。
2.2 系統建模 通過定義配置來表示整個系統或其中的子系統。
2.3 依賴性追蹤 例如:尋找與某個源檔案版本對應的設計文檔的版本。
2.4 影響分析 分析對系統一個部分的修改可能影響哪些其它部分。
3、變化管理
3.1 變化:軟體版本演化的來源與過程 來源:需求變化、增加功能、修改錯誤 …… 生命週期:請求、審批、實施、驗證、審核、結束。
3.2 變化控制 記錄和控制對軟體配置項的每一次修改。
3.3 變化跟蹤 一個變化生命週期進行到哪一步了? 如果一個已經改掉的bug又出現了,怎樣找出原因。
3.4 變化傳播 協助將對產品一個版本的修改傳播到其它版本中。
4、構造管理(Build)
4.1 系統的構造和重新構造(Build) 協助開發人員正確和快速地構造和重新構造產品的任何版本。
4.2 軟體發行管理(Release) 為不同的使用者提供不同的版本,避免其中發生混亂。
4.3 軟體部署管理(Deployment) 協助在分布式環境中部署整個系統。
5、過程支援
5.1 過程式控制制
5.2 預已定義流程模版和可剪裁的過程執行個體 可定義過程,並保證過程中定義的每一步均由授權的人員按正確的順序執行。
5.3 過程支援中的關鍵概念 包括:角色、工作群組、任務、觸發器機制等。
6、團隊支援
6.1 工作區管理 不同的開發人員擁有獨立的不相互影響的工作空間。
6.2 並行開發 支援多個開發人員同時開發一個項目。
6.3 遠程開發 開發人員在物理上可以分布在相距較遠的位置上。
7、狀態報表 依賴性報告 影響報告 構造報告 變化狀態報表 差異報告 曆史報告 存取控制報告 衝突檢測報告
8、審計控制 8.1 驗證軟體組態管理過程 8.2 驗證系統管理的所有配置項的完整性 8.3 基本的審計控制是記錄組態管理過程中執行的所有活動,並提供檢索機制->日誌