管理體系: ISO9000 | ISO9001 | IATF16949 | ISO14000 | ISO14001 | ISO13485 | ISO22000 | SA8000 | OHSAS18000 | QC080000 | AS9100 | ISO27000 | TL9000 | ISO17025
浙江地區: 金華 | 臺州 湖北地區: 武漢 江西地區: 南昌 | 吉安 福建地區: 福州 | 廈門 | 泉州 廣東地區: 深圳 | 佛山
隨著軟件系統的規模、復雜度日益上升,軟件開發過程管理已經成為保證軟件系統開發效率、質量、成本的關鍵性因素。作為軟件開發過程中質量保障的重要組成部分,行之有效的軟件配置管理(以下簡稱SCM,Software Configuration Management)能夠顯著提高軟件開發組織的自身能力、提高軟件開發過程的完整性,以及降低軟件開發的風險。
軟件配置管理的概念
ISO9000、CMM、ISO/IEC 12207、IEEE 729-1983對SCM的定義有不同的描述。ISO9000定義SCM為“一個管理學科,它對配置項的開發和支持生命周期給予技術上和管理上的指導。配置管理取決于項目的規模、復雜程度和風險大小”。
CMM2將SCM定義為一個關鍵過程域KPA,是“貫穿于整個軟件過程中的保護性活動,它被設計來(1)標識變化,(2)控制變化,(3)保證變化被適當的發現(4)向其他可能有興趣的人員報告變化。”。SCM包括了配置項識別、工作空間管理、版本控制、變更控制、狀態報告、配置審計等活動,其中以版本控制最為核心和關鍵。
數據集中工程軟件配置管理策略
1、數據集中工程項目背景
中國建設銀行數據集中工程的目標是通過建立總行級的數據中心,向全行38個一級分行、20000多個網點提供完整的核心金融服務。其核心應用系統DCC-CCBS包括主機、前置、前端三大部分。主機應用部分部署在總行級數據中心,前置應用部分部署在數據中心前置通信網關、各一級分行業務大前置,前端部分部署在網點。
DCC-CCBS項目的SCM需要實現開發、發布、部署的全過程軟件配置管理。開發過程SCM的核心是系統源碼版本管理;發布過程的SCM核心是系統目標碼版本管理;部署過程以確保系統目標碼版本在數據中心、一級分行、網點和外系統的正確部署為首要目標。
2、開發過程軟件配置管理
系統源碼版本除系統源程序、參數外,還包括需求規格說明書、系統總體架構設計說明書、主機/前置/前端系統結構設計說明書、各子系統的詳細設計說明書、各子系統的對外接口規范、業務操作手冊、系統使用手冊、系統安裝維護手冊等文檔。根據配置項的不同屬性,經過評審,形成需求基線、設計基線和源代碼基線等不同的基線。開發過程SCM按照子系統的性質,分為主機、前置、前端三部分獨立管理。
DCC-CCBS項目總體組負責整個需求和變更的控制。通過審批的需求按照功能分布分解為主機、前置、前端的子需求,再由各部門分別管理和實現。環境及版本控制小組負責向各部門提出形成“系統基線”的要求,以同步主機、前置、前端的源碼版本。
3、發布過程軟件配置管理
發布過程的系統目標碼版本包括系統目標碼(執行碼)、系統參數及相關文檔等。按照用途,系統目標碼版本可分為測試版和正式版。以前置平臺為例,發布過程SCM的主要活動包括:
構建環境管理,保證編譯環境的純凈性和正確性;
構建過程管理,保證構建過程的自動化操作,及其正確性和完整性;
版本編號管理,統一版本命名規則,確保目標碼版本號的唯一性和可追蹤性;
目標碼版本生成管理,從各版本管理工具系統收集、整理、打包相應的目標碼、參數和文檔,形成完整的或部分(補丁)的目標碼版本;
配置狀態檢查,檢查目標碼版本包中內容的正確性、完整性和一致性;
4、部署過程軟件配置管理
部署過程SCM的主要任務是:建立安全、可靠和迅速的傳輸流程和傳輸渠道;建立目標碼版本記錄和追蹤機制、版本運行時刻檢查機制和版本恢復機制;確保正確的版本、按照正確的渠道、在規定時間遞交到正確的用戶并生效。
在DCC-CCBS生產環境中,軟件開發中心將通過數據中心版本管理系統發布各單位所需的目標碼版本,各單位在版本管理系統和數據傳輸通道的支持下,實現版本/補丁的主動分發、查詢、下載和生效。
軟件配置管理實施經驗
1、樹立正確的企業配置管理意識
SCM是一門管理學科。歸根結底,其關鍵是“管理”,然后才是“軟件配置”。項目級SCM能否成功實施,與企業的軟件配置管理目標、策略、能力、組織和資源息息相關。
2、提高全員的配置管理素質
SCM是規則和流程的集合,需要依靠流程中所有部門和人員共同的支持和努力。任何環節上的疏忽和懈怠,都將直影響SCM的實施效果。
3、采用合適的工具
功能強大的或昂貴的工具未必是合適的工具。往往20%的功能即可解決80%的配置管理問題。目前比較流行的版本管理工具包括CVS、PVCS、ClearCase、Harvest、VSS、Endeavor等。在選擇具體工具時,往往需要考慮以下因素:
(1)工具將要使用的范圍;
(2)工具自身的功能、穩定性、擴展行,以及對環境的要求;
(3)工具使用的復雜度;
(4)工具與其他流程和工具的集成度和交互性;
(5)工具的投資和維護費用。
4、及時的檢查和梳理
大系統開發過程中,配置管理往往采用分步離散管理方式,因此保證整個系統配置管理的完整性成為一件精密細致的工作,需要投入大量人力及時修訂基線,防微杜漸,避免混亂,以滿足對配置管理正確性、完整性和及時性的要求。
5、系統化思考、分步實施、持續改進
SCM不是一項孤立的管理活動。企業的戰略目標、管理能力、文化背景、組織結構,項目的規模、性質、技術、人員等都是影響SCM決策的重要因素。因此需要在項目乃至企業的整體環境中系統的考慮SCM的實施策略和方法。
通過分階段實施量化的、漸進的配置管理目標,可以避免由于引入復雜管理流程所造成的混亂,有利于方便靈活地優化配置管理流程。同時,階段性目標的實現將有助于整個團隊提高士氣、增強信心,并逐步提高開發隊伍的配置管理素質。