當軟件開發團隊發展到一定規模時,會越來越強調開發過程規范化和成熟度。軟件項目的成敗在很大程度上取決于對其開發過程的控制,這包括對質量、源代碼、進度、資金、人員等的控制。在軟件項目實施過程中正確、有效地進行配置管理,需要進行科學合理的規劃工作,并確定相應的執行策略。軟件配置管理可以幫助開發團隊對軟件開發過程進行有效地變更控制,高效地開發高質量的軟件。在質量體系的諸多支持活動中,配置管理處在支持活動的中心位置,它有機地把其他支持活動結合起來,形成一個整體,相互促進,相互影響,有力地保證了質量體系的實施。 本文針對軟件項目工作的特點,介紹了配置管理工作的一般步驟和注意事項。
1、配置項的分類
在開展配置管理工作之前,首先應根據項目特點,對項目實施過程中涉及到的配置項進行分類工作。一般來說,一個完整的軟件項目會包括項目管理文檔、軟件開發文檔、程序代碼、集成文檔、維護文檔等五類配置,對于每一類配置項,又可以劃分為若干細類,具體的分類方法如下:在項目實施過程中制訂的工程總體計劃、階段計劃、周計劃,定期召開的項目例會或技術專題會議的紀要,質量評審記錄、配置管理報告等與質量相關的工作記錄等文檔,都屬于項目管理方面的范疇,因此均可以劃分到項目管理類文檔進行管理。
作為一個軟件項目,必然會產生貫穿軟件工程標準定義的需求調研、需求分析、概要設計、詳細設計、單元測試、系統測試、用戶測試等各個階段的軟件文檔,均可以歸入到軟件開發類文檔之中。
在軟件開發過程中產生的各模塊程序代碼,軟件系統運行所需的各類參數以及配置文件等內容,由于其技術和管理特征與文檔有很大的不同,而且相互之間的關聯性比較強,為了對其版本進行有效地控制,建議單獨劃為一個類別進行管理。
軟件系統的設計、開發和運行離不開硬件環境的支持,因此在軟件項目的實施過程中,通常都會涉及到機房設計、主機安裝、網絡規劃等方面的工作內容,因此系統集成類的文檔應作為單獨的一個類別,納入到軟件項目的配置管理之中。
在軟件系統投入運行之后,需要進行相應的日常維護工作,在維護過程中產生階段性運行總結報告、定期產生的維護日志、系統運行中出現的故障現象及問題解決情況等維護記錄,都需要納入維護類文檔進行管理。
在軟件項目實施過程中產生的各類文檔、程序代碼紛繁復雜、數量眾多,通過對各類配置項的歸類工作,形成邏輯清晰的配置管理結構,便于對文檔和程序代碼進行日常管理,使項目實施中產生的各類配置記錄始終處于可控狀態。
2、建立配置庫
在軟件項目的啟動階段,應指定一名專職或兼職的配置管理員,建立一臺專用的配置服務器,安裝相應的配置工具軟件,并根據配置項分類方法,對程序代碼和文檔的目錄結構進行規劃工作,在配置工具軟件中,建立起相應的配置目錄結構,同時根據使用者角色的不同,設定相應的目錄訪問和存取權限。
對于每一個具體的配置項,都需要標識出其作者、時間、版本號、當前狀態等基本信息,以便對配置項的版本進行實時監控,方便項目成員對配置項的檢索和更新工作。
配置管理員負責整個配置庫的安全管理工作,應妥善保管好系統管理員的口令,并進行定期的變更工作,以保證配置庫的安全性。
3、建立執行機制
在配置庫建立起來以后,配置管理員應將配置目錄結構和權限分配表在項目組內部進行公布,并根據應用行業特點,對CMM/ISO9001的配置管理過程進行合理裁減,制訂適用于本項目的配置工作流程,明確項目組中的每位成員在配置管理方面的分工職責,并對項目組成員進行相應的職責和流程培訓工作。
配置管理員除了負責對各類配置項進行管理之外,還應對項目配置狀況進行分析,定期提供配置報告,發布新的配置項狀態,提出改進建議并跟蹤執行情況,避免出現因為文檔或程序代碼版本更新的不一致,而導致系統故障的情況發生。
在配置管理工作中,為了保證配置項的可靠性,應制訂相應的備份策略,對配置庫中的不同類型的配置項進行定期備份。在軟件系統的設計開發階段,程序代碼類的配置項由于變更頻繁,建議每天備份一次,在正式發布之后,可以改為每周備份一次。文檔類的配置項變更機率相對較小,建議每周備份一次。具體的備份方法,可以采用手工方式執行備份操作,也可以在工具軟件或操作系統中設定備份策略,定期自動執行備份操作,同時配置管理員應做好相應的備份記錄工作。
由于配置工具軟件本身一般都提供對每一個配置項歷史版本的追溯機制,因此對配置庫的備份操作,一般只需對當前配置庫的內容進行備份即可。這里需要注意的一點是,在執行配置庫的備份操作之前,應對配置庫目錄中的數據是否正常進行檢查,以避免因庫文件損壞而使錯誤數據覆蓋正常備份庫,從而導致配置項丟失的情況出現。
4、經驗總結
在軟件系統投入運行之時,應對配置庫進行整理和提煉,形成從項目啟動到系統運行階段,涵蓋項目管理、軟件開發、系統集成等領域的一套完整的項目檔案,隨同軟件系統正式交付給用戶,并給予適當的培訓和輔導,使用戶能夠快速有效地開展系統維護工作,為生產系統的穩定與可靠運行提供了保證。
如果配置工作流程制訂得過于復雜,不具備可操作性,反而起不到應有的管理作用,因此在開展配置管理工作時,應以簡單、有效、適合應用行業特點為基本準則,推進軟件項目實施過程中的配置管理工作。
配置管理對象不僅于CMM/ISO9001體系規定的內容,凡是與項目實施有關的文檔、代碼或數據均應納入配置管理,這樣可以實現對項目實施中的每一項工作進行追溯,及時處理項目實施過程中出現的各類問題。