周艷會(huì) 劉海 丁皓
摘 要軟件配置管理是通過(guò)技術(shù)或行政手段,對(duì)軟件產(chǎn)品及其開(kāi)發(fā)過(guò)程和生命周期進(jìn)行控制、規(guī)范的一系列措施。配置管理的目標(biāo)是記錄軟件產(chǎn)品的演化過(guò)程,確保軟件開(kāi)發(fā)者在軟件生命周期中各個(gè)階段都能得到精確的產(chǎn)品配置。配置管理的主要工作一般包括:建立配置管理機(jī)構(gòu)和軟件三庫(kù)、制定配置管理計(jì)劃、基線控制、出入庫(kù)控制、更改控制、配置狀態(tài)記實(shí)、配置審核。根據(jù)項(xiàng)目的具體情況,配置管理的實(shí)際工作內(nèi)容不同。
【關(guān)鍵詞】軟件配置管理 配置管理 軟件三庫(kù) 配置管理簡(jiǎn)化實(shí)施
1 實(shí)施軟件配置管理的必要性
隨著科技的不斷發(fā)展,軟件項(xiàng)目的復(fù)雜性與集成度越來(lái)越高,項(xiàng)目的成敗在很大程度上取決于對(duì)其開(kāi)發(fā)過(guò)程的控制,包括對(duì)質(zhì)量、源代碼、進(jìn)度、資金、人員等的控制,有效的過(guò)程必須有科學(xué)的管理方法,“軟件配置管理”是通過(guò)技術(shù)或行政手段,對(duì)軟件產(chǎn)品及其開(kāi)發(fā)過(guò)程和生命周期進(jìn)行控制、規(guī)范的一系列措施。實(shí)踐證明,軟件配置管理是一套規(guī)范、高效的軟件開(kāi)發(fā)管理方法,同時(shí)也是提高軟件質(zhì)量的重要手段。
1.1 實(shí)施軟件配置管理,是提高效率和質(zhì)量的必要手段
軟件研發(fā)中出現(xiàn)的每一個(gè)問(wèn)題,必須及時(shí)定位、修改、更新和記錄,配置管理過(guò)程中的記錄、報(bào)告和版本控制,通過(guò)問(wèn)題跟蹤和追溯,能加快問(wèn)題的定位和修復(fù),并最大限度減少缺陷和錯(cuò)誤的發(fā)生以及再次發(fā)生;同時(shí),在軟件編碼過(guò)程中,使用配置管理工具,能夠較好的避免因并行開(kāi)發(fā)、多重維護(hù)帶來(lái)的版本混亂、重復(fù)編碼等問(wèn)題,清晰的配置管理過(guò)程,在節(jié)約人力的同時(shí),提高了產(chǎn)品質(zhì)量。
1.2 實(shí)施軟件配置管理,有利于單位建立知識(shí)庫(kù)
軟件代碼是軟件開(kāi)發(fā)人員腦力勞動(dòng)的結(jié)晶,也是軟件開(kāi)發(fā)單位的寶貴財(cái)富,長(zhǎng)期開(kāi)發(fā)過(guò)程中形成的各種代碼對(duì)象就像一個(gè)個(gè)零件坯一樣,是快速生成系統(tǒng)的組成部分。實(shí)施配置管理,能夠?qū)Ω魅说挠杏脤?duì)象進(jìn)行管理,把其使用范圍擴(kuò)大到單位級(jí),進(jìn)行規(guī)范化并加以說(shuō)明和普及,建立單位級(jí)的代碼對(duì)象庫(kù);在配置管理中,形成完整的開(kāi)發(fā)日志及問(wèn)題集合,以文字方式伴隨開(kāi)發(fā)的整個(gè)過(guò)程,不依某個(gè)人的轉(zhuǎn)移而消失,有利于單位積累業(yè)務(wù)經(jīng)驗(yàn),無(wú)論對(duì)版本整改或版本升級(jí),都具有重要的指導(dǎo)作用。
1.3 實(shí)施軟件配置管理,能夠降低成本,節(jié)約費(fèi)用
通過(guò)軟件配置管理,可以對(duì)不同階段軟件代碼版本進(jìn)行管理和跟蹤,建立代碼知識(shí)庫(kù),提高代碼的重用率,同時(shí)最大限度地共享代碼,便于進(jìn)行新版本或類(lèi)似功能的開(kāi)發(fā),減少再開(kāi)發(fā)的成本,提高開(kāi)發(fā)效率,縮短開(kāi)發(fā)周期;通過(guò)配置管理,建立開(kāi)發(fā)管理計(jì)劃和規(guī)范,共享最新文件和代碼,當(dāng)項(xiàng)目成員跨地域分布時(shí),能夠?qū)崿F(xiàn)協(xié)同有序,互不干擾而又不失去控的異地工作,從而節(jié)約大量的旅差費(fèi)用。
1.4 實(shí)施軟件配置管理,是規(guī)范管理的要求
通過(guò)建立科學(xué)的配置管理流程,將大量的文檔和代碼等知識(shí)財(cái)富統(tǒng)一標(biāo)識(shí),按階段進(jìn)行規(guī)范化管理,避免隨意保存在項(xiàng)目經(jīng)理和軟件工程師各自的機(jī)器里,因硬盤(pán)故障或人員離職造成數(shù)字財(cái)富因缺乏必要的配置管理而白白流失。能夠應(yīng)對(duì)人員離職、版本混亂、加快問(wèn)題的定位和修復(fù);通過(guò)配置管理規(guī)范軟件研發(fā)各階段的文檔,進(jìn)行有效的質(zhì)量記錄和文檔管理,保證每個(gè)使用者都能得到正確的版本,在提高項(xiàng)目研發(fā)效率的同時(shí),也為企業(yè)積累了組織級(jí)財(cái)富,便于今后的項(xiàng)目共享;軟件項(xiàng)目的研制過(guò)程是隨項(xiàng)目的規(guī)模以指數(shù)上升,只有在項(xiàng)目研制之初,制定項(xiàng)目開(kāi)發(fā)和管理計(jì)劃,并在研制過(guò)程中,依照計(jì)劃實(shí)施,才能避免項(xiàng)目研制過(guò)程中的盲目性;代碼回溯是軟件編制過(guò)程中經(jīng)常發(fā)生的,使用工具進(jìn)行規(guī)范化的配置管理,每天記錄當(dāng)天代碼修改情況,規(guī)范文檔和代碼每天的版本,使工作或代碼回溯成為輕松便捷的事。
2 簡(jiǎn)化實(shí)施軟件配置管理的策略
軟件配置的主要工作包括:建立配置管理機(jī)構(gòu)和配置庫(kù)(即軟件開(kāi)發(fā)庫(kù)、受控庫(kù)、產(chǎn)品庫(kù),又稱(chēng)軟件三庫(kù))、制定配置管理計(jì)劃、基線控制、出入庫(kù)控制、更改控制、配置狀態(tài)記實(shí)、配置審核。本文重點(diǎn)介紹綜合性科研單位的軟件配置管理工作的簡(jiǎn)化實(shí)施。
2.1 建立配置管理機(jī)構(gòu)和配置庫(kù)
在項(xiàng)目設(shè)計(jì)開(kāi)發(fā)期間,應(yīng)建立相應(yīng)的配置管理組織(配置管理委員會(huì)或配置管理小組),專(zhuān)門(mén)負(fù)責(zé)配置管理工作。項(xiàng)目組應(yīng)指定專(zhuān)人(配置管理員)處理配置管理事務(wù)。
配置庫(kù)也稱(chēng)為軟件“三庫(kù)”,是軟件配置管理機(jī)構(gòu)的組成部分,包括:開(kāi)發(fā)庫(kù)、受控庫(kù)、產(chǎn)品庫(kù)。開(kāi)發(fā)庫(kù)存放各開(kāi)發(fā)階段產(chǎn)生的尚未通過(guò)評(píng)審的程序、文檔等電子版本或紙制資料,一般由項(xiàng)目組建立并維護(hù);受控庫(kù)存放已通過(guò)測(cè)試或評(píng)審且作為階段性產(chǎn)品的軟件配置項(xiàng)集合,包括程序和文檔,一般由研制管理部門(mén)(或質(zhì)量管理部門(mén))建立和維護(hù),受控使用;產(chǎn)品庫(kù)存放已定型(鑒定)且供交付、生產(chǎn)、檢驗(yàn)驗(yàn)收的軟件配置項(xiàng)集合,包括源代碼、可執(zhí)行程序、數(shù)據(jù)和文檔的電子版或紙制資料,一般由組織的技術(shù)檔案管理部門(mén)建立和管理。
三庫(kù)可以借助專(zhuān)門(mén)的配置管理軟件建立,也可以以電子或物理形式建立。例如:受控庫(kù)可以是一系列電子文件夾,產(chǎn)品庫(kù)可以是一組文件柜。如表1所示。
2.2 制定配置管理計(jì)劃
配置管理計(jì)劃的目的在于對(duì)所開(kāi)發(fā)的軟件規(guī)定各種必要的配置管理?xiàng)l款,從而保障產(chǎn)品質(zhì)量。內(nèi)容包括:說(shuō)明配置管理角色和職責(zé)、計(jì)劃納入配置管理的配置項(xiàng)、計(jì)劃的基線時(shí)間和內(nèi)容、配置庫(kù)的建立方式和授權(quán)、配置狀態(tài)記錄和統(tǒng)計(jì)計(jì)劃、更改和版本控制,并確定項(xiàng)目標(biāo)識(shí)、文檔標(biāo)識(shí)、程序和產(chǎn)品標(biāo)識(shí)、版本標(biāo)識(shí)等。
對(duì)基線的管理是配置管理的重點(diǎn)內(nèi)容?;€是軟件文檔或軟件代碼的一個(gè)穩(wěn)定版本。是被正式確認(rèn)并作為今后研制生產(chǎn)、使用保障活動(dòng)的基準(zhǔn)。已形成基線的關(guān)鍵文檔,雖然可以修改,但必須以一個(gè)特殊的、正式的過(guò)程進(jìn)行評(píng)估,確認(rèn)每一處修改。軟件開(kāi)發(fā)項(xiàng)目的配置管理基線包括:功能基線、分配基線、設(shè)計(jì)基線、開(kāi)發(fā)基線和產(chǎn)品基線。在實(shí)際應(yīng)用中,根據(jù)項(xiàng)目的規(guī)模和實(shí)際研發(fā)情況,可以只劃分功能基線、分配基線和產(chǎn)品基線。基線對(duì)應(yīng)的標(biāo)志性文檔如表2,每一種基線以通過(guò)一定級(jí)別的評(píng)審后建立。
2.3 配置控制
開(kāi)發(fā)庫(kù)出入庫(kù)較頻繁,主要由項(xiàng)目組控制。通常配置控制主要是對(duì)受控庫(kù)和產(chǎn)品庫(kù)的控制。為了簡(jiǎn)化實(shí)施,只能涉及基線的配置項(xiàng)目進(jìn)行控制。
2.3.1 基線控制
在確立基線的標(biāo)志性評(píng)審?fù)ㄟ^(guò)后,及時(shí)將基線文件入庫(kù),此后,若有對(duì)基線文件的使用和修改,應(yīng)及時(shí)記錄并向有關(guān)人員發(fā)布最新版本。
2.3.2 出入庫(kù)控制
一般在基線建立后、變更前后和重要事件前后,要記錄配置項(xiàng)出入庫(kù)。配置項(xiàng)出入受控庫(kù)或產(chǎn)品庫(kù)應(yīng)當(dāng)填寫(xiě)《出庫(kù)單》和《入庫(kù)單》。
2.3.3 更改控制
被更改的源代碼和相關(guān)文檔必須正式取自配置管理的受控庫(kù)或產(chǎn)品庫(kù),更改后重新入庫(kù)并填寫(xiě)《配置變更報(bào)告單》,版本的變更,也應(yīng)進(jìn)行記錄。
2.3.4 配置狀態(tài)記實(shí)
記錄并報(bào)告受控軟件配置管理項(xiàng)的現(xiàn)行狀態(tài)和歷史。在實(shí)施配置變更處理的過(guò)程中,配置項(xiàng)的狀態(tài)分為:變更中、有效、無(wú)效。配置管理者應(yīng)在一個(gè)重要階段結(jié)束時(shí),及時(shí)匯總《配置狀態(tài)記錄單》。
2.3.5 配置審核
在項(xiàng)目研發(fā)完成一個(gè)階段或在產(chǎn)品交付前,應(yīng)進(jìn)行功能配置審核和物理配置審核,功能配置審核以確定和保證配置項(xiàng)的完整性;物理配置審計(jì)以檢查程序與文檔的—致性、文檔與文檔的—致性、交付的產(chǎn)品與任務(wù)書(shū)要求的—致性以及與標(biāo)準(zhǔn)規(guī)范的—致性。完成審核后,應(yīng)填寫(xiě)《配置審核單》。
2.3.6 配置總結(jié)
根據(jù)配置管理情況,一般在項(xiàng)目完成時(shí),編寫(xiě)配置管理報(bào)告,也可以在研制總結(jié)中進(jìn)行配置管理總結(jié),內(nèi)容包括:配置管理情況綜述、用戶(hù)組劃分及權(quán)限分配、配置項(xiàng)記錄、基線記錄、入庫(kù)記錄、出庫(kù)記錄、變更記錄、審核記錄、備份記錄等。
3 結(jié)束語(yǔ)
專(zhuān)業(yè)軟件開(kāi)發(fā)單位的軟件配置管理工作,一般應(yīng)達(dá)到軟件研制能力成熟度模型(CMM)3級(jí)或以上標(biāo)準(zhǔn),故一般采用專(zhuān)業(yè)的配置管理軟件實(shí)現(xiàn);對(duì)于實(shí)施質(zhì)量管理體系的綜合性科研單位的配置管理,一般達(dá)到軟件研制能力成熟度模型二級(jí)標(biāo)準(zhǔn)即可,重點(diǎn)記錄基線形成和變更、大階段的配置管理狀態(tài)和審核,以及相應(yīng)的出入庫(kù),可以采用一些版本管理軟件輔助實(shí)施,同時(shí)制定一系列規(guī)則,以人工輔助部門(mén)級(jí)配置管理工作。
注:文中提到的配置表單和文檔表單,可參考相關(guān)標(biāo)準(zhǔn)中的格式。
參考文獻(xiàn)
[1]陳焱,李勇,韓鐵軍.配置管理在軟件系統(tǒng)開(kāi)發(fā)中的作用[J].自動(dòng)化指揮與計(jì)算機(jī),2012(04).
[2]馮濟(jì)舟.軟件配置管理典型問(wèn)題的研究與思考[J].航天標(biāo)準(zhǔn)化,2013(03).
[3]劉旭奕.基于GJB5235的軟件配置管理方法初探[J].標(biāo)準(zhǔn)介紹,2011(02).
[4]高賢志,戴恒毅.導(dǎo)航裝備軟件配置管理方法研究與實(shí)踐[J].裝備質(zhì)量管理,2012(08).
[5]周智力,原月,薛潔.航天企業(yè)中軟件配置管理模式實(shí)施與應(yīng)用[J].數(shù)字軍工, 2012(02).
作者簡(jiǎn)介
周艷會(huì)(1972-),女,河北省人。碩士學(xué)位?,F(xiàn)供職于中央軍委后勤保障部科學(xué)研究所。主要研究方向?yàn)橛?jì)算機(jī)及應(yīng)用。
劉海(1982-),男,湖南省人。博士學(xué)位?,F(xiàn)供職于中央軍委后勤保障部科學(xué)研究所。主要研究方向?yàn)橛?jì)算機(jī)及應(yīng)用。
丁皓(1989-),男,山東省人。碩士學(xué)位?,F(xiàn)供職于中央軍委后勤保障部科學(xué)研究所。主要研究方向?yàn)橛?jì)算機(jī)及應(yīng)用。
作者單位
中央軍委后勤保障部科學(xué)研究所 北京市 100166