在軟件開發過程中,由于各種原因,可能需要變動需求、預算、進度和設計方案等,盡管這些變動請求中絕大部分是合理的,但在不同的時機作不同的變動,難易程度和造成影響差別甚大,為了有效地控制變動,軟件配置管理引入基線(baseline)的概念。
基線標志軟件開發過程的各個里程碑,任一SCI(例如,設計師說明書),一旦形成文檔并復審通過,即形成一個基線,它標志開發過程中一個階段的結束。對于已成為基線的SCI,雖然可以修改,但必須按照一個特殊的、正式的過程進行評估,確認每一處修改。相反,對于未成為基線的SCI,可以進行非正式修改。
雖然基線可在任何級別上定義,但一般最常用的軟件基線如下圖所示。
某個SCI一旦成為基線,隨即被放入項目數據庫(project database)。此后,若開發小組中某位成員與、欲改動SCI,首先要將它拷貝到私有工作區并在項目數據庫中鎖住,不允許他人使用。在私有工作區中完成修改控制過程并復審通過之后,再把修改后的SCI推出并回到項目數據庫,同時解鎖。
軟件配置項
一般軟件配置需包括下列SCI:
1. 系統規格說明書
2. 軟件項目規劃
3. 要求分析結果
a. 軟件需求規格說明書
b. 可執行的或“紙樣”原形
4. 初步用戶手冊
5. 設計規格說明書
a. 數據設計描述
b. 總體結構設計描述
c. 模塊設計描述
d. 界面設計描述
e. 對象描述(若采用面向對象技術)
6. 源代碼清單
7. 測試規格說明書
a. 測試計劃和過程
b. 測試用例與實驗結果
8. 操作和安裝手冊
9. 可執行程序
a. 每個模塊的可執行代碼
b. 鏈接到一起的代碼
10. 數據庫描述
a. 數據模型和文件結構
b. 初始化映象
11. 聯機用戶手冊
12. 維護文檔
a. 軟件問題報告單
b. 維護申請單
c. 預計變動的順序
13. 軟件工程的標準
除此之外,有時把軟件工具也列入配置管理的范疇,即把軟件開發中選用的編輯器,編譯器和其他一些CASE工具固定地作為軟件配置的一部分,當配置中其他的SCI發生變化時,, 時考慮這些工具是否與之適應和匹配。
普遍認為,用面向對象的方法組織項目數據庫最自然、合理。此時,將每個SCI看作一個配置對象,它有自己的名字和一組屬性,各SCI之間的聯系用對象間的關系表示。以下圖為例,“設計規格說明書”、“數據模塊:”、“模塊N”、“源代碼”、和“測試規格說明書”分別為五個配置對象,對象之間的關系用有向連線表示。有向曲線說明對象的部分-整體關系。例如,“數據模型”和“模型N”都是“設計規格說明書”的組成部分。雙向連線說明對象間的內在聯系。例如,一個模塊的源代碼一旦變動對應的測試用例亦需修改,隨之需要重新執行測試過程。