在軟件開發過程中變更是不可避免的,而變更時由於沒有進行變更控制,可能加劇了項目中的混亂,為了協調軟件開發使得混亂減到最小,使用配置管理技術,使變更所產生的錯誤達到最小並最有效的提高生產率。
軟件配置管理(Software Configure Management,SCM)用於整個軟件工程過程。其主要目標是標識變更;控制變更;確保變更正確的實現;報告有關變更。SCM是一組管理整個軟件生存周期中各階段變更的活動。
1、基線
基線是軟件生存周期中各開發階段的一個特定點,它的作用是使各開發階段的工作划分更加明確,使本來連續的工作在這些點上斷開,以便於檢查與肯定階段成果。因此,基線可以作為一個檢查點,在開發過程中,當采用的基線發生錯誤時可以知道所處的位置,返回到最近和最恰當的基線上。
2、軟件配置項
軟件配置項(Software Configure Item,SCI)是軟件工程中產生的信息項,它是配置管理的基本單位,對於已經成為基線的SCI,雖然可以修改,但必須按照一個特殊的、正式的過程進行評估,確認每一處修改。
以下的SCI是SCM的對象,並可形成基線。
1)系統規格說明書。
2)軟件項目實施計划。
3)軟件需求規格說明書。
4)設計規格說明書(數據設計、體系結構設計、模塊設計、接口設計、對象描述(使用面向對象技術才用))。
5)源代碼清單。
6)測試計划和過程、測試用例和測試結果記錄。
7)操作和安裝手冊。
8)可執行程序(可執行程序模塊、連接模塊)。
9)數據庫描述(模式和文件結果、初始內容)。
10)用戶手冊。
11)維護文檔(軟件問題報告、維護請求、工程變更次序)。
12)軟件工程標准。
13)項目開發小結。
此外,許多軟件工程組織把配置控制之下的軟件工具,即編輯程序、編譯程序、其他CASE(Computer Aided Software Engineering,計算機輔助的軟件工程)工具的特定版本都作為軟件配置的一部分列入其中。
3、版本控制
軟件配置實際上是一個動態的概念,它一方面隨着軟件生存周期向前推進,SCI的數量在不斷增多,一些文檔經過轉換生成另一些文檔,並產生一些信息;另一方面又隨時會有新的變更出現,形成新的版本。
可以采用如下的演變圖來表達系統的不同版本,在圖中各個節點是一個完全的軟件版本。軟件的每一個版本都是SCI(源代碼、文檔、數據)的一個匯集,而且各個版本都可能由不同的變種組成。
4、變更控制
軟件工程過程中某一階段的變更均要引起軟件配置的變更,這種變更必須嚴格的加以控制和管理,保持修改信息,並把精確、清晰的信息傳遞到軟件工程過程的下一步驟。
對於一個大型軟件來說,不加控制的變更很快就會引起混亂。因此,變更控制是一項最重要的軟件配置任務。為了有效的實現變更控制,需借助於配置數據庫和基線的概念。
配置數據庫可以分為以下三類:
1)開發庫。專供開發人員使用,其中的信息可能做頻繁修改,對其控制相當寬松。
2)受控庫。在生存期某一階段工作結束時發布的階段產品,這些是與軟件開發工作相關的計算機可讀信息和人工可讀信息。軟件配置管理正是對受控庫中的各個軟件項進行管理,受控庫也稱為軟件配置庫。
3)產品庫。在開發的軟件產品完成系統測試后,作為最終產品存入產品庫,等待交付用戶或現場安裝。
以上內容來自於中級軟件設計師學習教程。