規範軟體開發過程——軟體配置管理實踐
隨著軟體系統的規模、複雜度日益上升,軟體開發過程管理已經成為保證軟體系統開發效率、質量、成本的關鍵性因素。作為軟體開發過程中質量保障的重要組成部分,行之有效的軟體配置管理(以下簡稱SCM,Software Configuration Management)能夠顯著提高軟體開發組織的自身能力、提高軟體開發過程的完整性,以及降低軟體開發的風險。
軟體配置管理的概念
ISO 9000、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的實施策略和方法。
通過分階段實施量化的、漸進的配置管理目標,可以避免由於引入複雜管理流程所造成的混亂,有利於方便靈活地優化配置管理流程。同時,階段性目標的實現將有助於整個團隊提高士氣、增強信心,並逐步提高開發隊伍的配置管理素質。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-374775/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體專案需求開發過程實踐之軟體需求說明書
- 【軟體測試】軟體及其開發過程
- 軟體構造過程與配置管理
- 軟體專案管理 9.2.軟體專案配置管理過程專案管理
- 基於複用的軟體開發過程中的配置管理
- 軟體開發實踐的24條軍規
- 軟體研發安全規範
- 軟體工程之開發過程軟體工程
- 軟體開發最佳實踐
- 軟體開發過程RUP,CMM,XP
- day4-軟體目錄開發規範
- 軟體專案需求開發過程實踐之業務建模用例圖
- 軟體測試規範
- 軟體版本管理規範
- 軟體開發的生命週期過程
- 漫畫:軟體開發評估過程
- 軟體開發程式設計規範及原則程式設計
- 快速軟體開發最佳實踐(2)
- 快速軟體開發最佳實踐(1)
- 個體軟體過程
- 《規範敏捷交付:企業級敏捷軟體交付的方法與實踐》——1.6 混合型過程框架敏捷框架
- 軟體配置管理——團隊開發的基石
- 軟體版本命名規範
- 傻瓜式軟體開發過程講解
- 談軟體開發過程的改進 (轉)
- 重拾軟體工程—(2)軟體過程軟體工程
- 敏捷軟體開發:原則,模式,實踐敏捷模式
- scm 軟體配置管理
- 【javaWeb】軟體工程課程設計後臺介面規範JavaWeb軟體工程
- 淺談軟體測試規範
- 軟體開發的10個錯誤實踐
- 史上最最佳軟體開發實踐指導
- 軟體過程與管理實驗1
- 軟體過程與管理實驗2
- 軟體工程-過程模型軟體工程模型
- 軟體工程-五 過程軟體工程
- [個體軟體過程]之過程改進 (轉)
- 軟體開發與軟體研發