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