[摘 要] 隨著現(xiàn)代科學(xué)技術(shù)的迅速發(fā)展,軟件配置管理日益成為產(chǎn)品技術(shù)狀態(tài)管理的重點,傳統(tǒng)的軟件配置管理工具軟件難以在國內(nèi)兩級管理的研發(fā)企業(yè)應(yīng)用。本文介紹了一種基于“兩級四庫”的企業(yè)級軟件配置管理方法,包括系統(tǒng)設(shè)計、管理制度和推行策略。
[關(guān)鍵詞] 兩級四庫;軟件配置管理系統(tǒng);構(gòu)建;實踐
[中圖分類號]F270.7[文獻標(biāo)識碼]A[文章編號]1673-0194(2008)21-0062-03
1 引 言
隨著信息技術(shù)和IT產(chǎn)業(yè)的不斷發(fā)展,計算機軟件已經(jīng)逐漸成為眾多產(chǎn)品的核心,計算機軟件的功能越來越強大,以往很多依靠硬件電路來實現(xiàn)的功能現(xiàn)在也能大量通過嵌入式軟件和匯編程序來替代實現(xiàn),于是產(chǎn)品的質(zhì)量也越來越體現(xiàn)為軟件的質(zhì)量?,F(xiàn)在眾多的科研企業(yè)尤其是軍工科研單位已經(jīng)認(rèn)識到了產(chǎn)品的技術(shù)狀態(tài)管理是產(chǎn)品質(zhì)量管理的關(guān)鍵,與硬件相比,軟件是無形的,具有實時更改的特點,通常產(chǎn)品在設(shè)計定型后,大量的問題都是由軟件變更引起的,因此,軟件的技術(shù)狀態(tài)管理水平?jīng)Q定了產(chǎn)品的質(zhì)量和可靠性。
軟件配置管理系統(tǒng)是為了解決軟件的版本管理問題應(yīng)運而生的,目前市場上有著國際和國內(nèi)諸多廠商研制的軟件配置管理工具,如CCHarvest、 IBM ClearCase、 Telelogic等,然而在許多企業(yè)取得的效果往往和投入的巨額資金不相匹配,有些企業(yè)甚至出現(xiàn)了在技改驗收后就很少有人或無人使用這些昂貴工具的奇怪現(xiàn)象。也有的企業(yè)通過產(chǎn)品數(shù)據(jù)管理系統(tǒng)(PDM)將軟件的版本管理統(tǒng)一納入產(chǎn)品的技術(shù)狀態(tài)管理,但是鮮有效果顯著者。大多數(shù)企業(yè)往往只是做到了產(chǎn)品的軟件版本紀(jì)實這一基本功能。隨著ISO 9001 2000版和GJB 5000試行版本發(fā)布后, 許多軟件工程實施組(SEPG)發(fā)現(xiàn),市面上的軟件配置管理軟件很難與企業(yè)標(biāo)準(zhǔn)和管理信息系統(tǒng)相集成。傳統(tǒng)的軟件配置系統(tǒng)分為3庫,即開發(fā)庫、受控庫和產(chǎn)品庫,但在實際的配置管理工具中,由于企業(yè)管理層往往對軟件配置管理缺乏足夠的知識,很難制定可操作性的管理制度,這3個庫往往都是項目開發(fā)團隊或者研發(fā)部門自己在控制,既擔(dān)當(dāng)“運動員”,同時又是“裁判員”。在中國的許多企業(yè)中,往往很難靠技術(shù)人員的自覺性作好軟件技術(shù)狀態(tài)控制,因此,有必要根據(jù)中國的實情研究出一套配置管理方法。
2 兩級四庫的管理架構(gòu)
2. 1兩級四庫的定義
“兩級”即企業(yè)級和部門級。大多數(shù)研發(fā)企業(yè)都是采用這樣的架構(gòu)實施管理的,在企業(yè)一級有統(tǒng)一的質(zhì)量管理、測試部門,實際的開發(fā)工作分布在各個研發(fā)部或研究室,有的研究部擔(dān)任了項目(產(chǎn)品)研發(fā)總體和集成的角色,其他各個研究部開發(fā)的產(chǎn)品組件需要在各部門完成單元測試后,再到總體進行集成測試,然后再到企業(yè)質(zhì)檢部門進行出廠測試,之后某些產(chǎn)品可能還需要進行用戶驗收測試。
“四庫”即開發(fā)庫、部門受控庫、企業(yè)受控庫和企業(yè)產(chǎn)品庫。
2. 2兩級四庫的數(shù)據(jù)流程
兩級四庫的軟件配置管理系統(tǒng)是在一個系統(tǒng)中,為每一個項目(產(chǎn)品)建立4個不同級別的庫,當(dāng)配置庫中軟件狀態(tài)滿足一定條件后,即可從開發(fā)庫到產(chǎn)品庫自動逐級提升。不同庫中的數(shù)據(jù),應(yīng)用范圍通過管理規(guī)范加以限制。整個數(shù)據(jù)流程如圖1所示。
配置庫的管理數(shù)據(jù)分為軟件構(gòu)件、軟件配置和軟件基線。其中構(gòu)件是配置管理的基本單位,構(gòu)件有一個或者多個文件組成,也是可測試的最小單位。一個產(chǎn)品下可以有多條基線、多個配置。一個配置可包含數(shù)個構(gòu)件和子配置,配置的版本定義為基線。不同庫之間的提交和軟件測試以基線為單位。
開發(fā)庫是設(shè)計師存儲開發(fā)過程數(shù)據(jù)的配置庫。設(shè)計師在這里完成所負(fù)責(zé)軟件的開發(fā)、組裝和自測試,然后將基線提交部門測試,通過測試后進入部門受控庫。
部門受控庫是各個部門存儲通過部門測試的軟件部件和構(gòu)件,部門可復(fù)用的軟件部件也可存儲在部門受控庫中。
企業(yè)受控庫是存儲通過企業(yè)質(zhì)檢部門測試后的軟件部件和構(gòu)件,企業(yè)可復(fù)用的軟件部件也可存儲在企業(yè)受控庫中。只有在企業(yè)受控庫中的軟件方可提交用戶驗收。
企業(yè)產(chǎn)品庫是存儲通過客戶驗收測試后的軟件部件和構(gòu)件,客戶提供的軟件成品也可存儲在企業(yè)產(chǎn)品庫中。只有在企業(yè)產(chǎn)品庫中的軟件方可用于生產(chǎn)。
2. 3兩級四庫的配置管理活動
軟件配置管理活動主要包括4部分:配置紀(jì)實、變更控制、配置審計和統(tǒng)計報表。除了配置紀(jì)實外,其他3項活動都需要根據(jù)企業(yè)所在行業(yè)以及管理者需求定制開發(fā)。對于系統(tǒng)架構(gòu)設(shè)計來說,如何建立和遵循標(biāo)準(zhǔn)是關(guān)鍵。
2. 3. 1配置紀(jì)實
紀(jì)實的活動和內(nèi)容包括:數(shù)據(jù)對象(包括構(gòu)件、配置、基線)的創(chuàng)建、刪除、更新、檢入、檢出、導(dǎo)入、導(dǎo)出、變更、發(fā)布等過程的信息。
在兩級四庫的配置系統(tǒng)中增加了測試狀態(tài)紀(jì)實,測試狀態(tài)包括測試階段(自測試、部門測試、企業(yè)測試、客戶測試等)及測試階段(單元測試、集成測試、整機測試、系統(tǒng)測試等)。測試狀態(tài)的紀(jì)實一方面實現(xiàn)了配置對象升級的控制,一方面為實現(xiàn)和軟件測試管理系統(tǒng)的集成做好了準(zhǔn)備。
2. 3. 2變更控制
在兩級四庫的配置系統(tǒng)中設(shè)立了兩級CCB(變更控制委員會),即所級CCB和部門CCB,所級CCB主要負(fù)責(zé)所級受控庫和產(chǎn)品庫的變更控制,部門CCB主要負(fù)責(zé)部門受控庫的變更控制。
變更控制采用CMII的變更流程,即軟件問題報告單、軟件更改報告單兩個流程實施控制,這種方式使質(zhì)檢部門、項目管理部門、客戶代表能以所級CCB成員的身份參與配置項的變更控制。
所有配置項的變更過程能夠在系統(tǒng)中實時查詢。
2. 3. 3配置審計
在兩級四庫的配置系統(tǒng)中,系統(tǒng)按照企業(yè)標(biāo)準(zhǔn)為軟件配置項事先生成文檔清單和模板,規(guī)定了配置項的命名標(biāo)準(zhǔn),規(guī)定了變更單的模板和審簽標(biāo)準(zhǔn),規(guī)定了軟件發(fā)布的流程和模板,使以往依靠人工完成的配置審計基本由系統(tǒng)完成。
2. 3. 4統(tǒng)計報表
在兩級四庫的配置系統(tǒng)中,能夠按照配置庫、研發(fā)部門、項目及不同時間段(年、季度、月、自定義時間段)提供紀(jì)實、變更和發(fā)布的查詢報表,通過該功能能夠幫助各級管理者和項目成員對軟件的技術(shù)狀態(tài)全過程追溯。
3 配置管理系統(tǒng)建設(shè)及應(yīng)用要點
筆者通過和北大軟件工程公司合作,在原青鳥配置管理系統(tǒng)基礎(chǔ)上進行了大規(guī)模的定制開發(fā),最終建成了基于兩級四庫的JBCM 7系列配置管理系統(tǒng),以下通過幾個方面說明系統(tǒng)的建設(shè)及應(yīng)用要點。
3. 1標(biāo)準(zhǔn)化工作
標(biāo)準(zhǔn)化工作是系統(tǒng)能否應(yīng)用良好的關(guān)鍵之一。標(biāo)準(zhǔn)化工作包括:配置項命名、編碼標(biāo)準(zhǔn),文檔命名、編寫標(biāo)準(zhǔn),齊套性檢查標(biāo)準(zhǔn),變更規(guī)范等。為了解決這一問題,我們組織編寫了《軟件配置管理規(guī)范》,內(nèi)容包括組織規(guī)范、計劃規(guī)范、管理規(guī)范、標(biāo)識規(guī)范、紀(jì)實規(guī)范、基線控制規(guī)范、配置庫變更控制規(guī)范、審計規(guī)范和產(chǎn)品發(fā)布管理規(guī)范9個部分。系統(tǒng)按此規(guī)范定制開發(fā),在應(yīng)用過程中也進行了調(diào)整。
3. 2管理工作
企業(yè)級配置管理的成敗可以說是三分工具,七分管理。企業(yè)管理的水平和力度決定了產(chǎn)品技術(shù)狀態(tài)控制的好壞。首先,管理部門應(yīng)當(dāng)牽頭制定一套合理可行的制度和規(guī)范,其次要求研發(fā)部門、質(zhì)檢部門和檔案部門嚴(yán)格執(zhí)行,所有出廠(所)軟件都必須從配置庫中發(fā)布。此外,管理部門還應(yīng)當(dāng)定期對系統(tǒng)生成的報表進行發(fā)布,并將對應(yīng)數(shù)據(jù)納入績效考評。
3. 3應(yīng)用實例
該系統(tǒng)的實施經(jīng)過了需求調(diào)研、需求分析、流程清理與優(yōu)化再造、定制開發(fā)與測試、試運行、正式運行等6個階段。通過該項目的實施,梳理了企業(yè)以往的軟件工程化管理流程,制定了合理可行的管理規(guī)范,統(tǒng)一了全企業(yè)各個部門的管理尺度,具備了與需求管理系統(tǒng)(上行)以及軟件測試管理系統(tǒng)(下行)集成的條件,為搭建集成的企業(yè)軟件工程化平臺(IESP)打好了基礎(chǔ)。
通過兩年的應(yīng)用,系統(tǒng)成功管理了不同規(guī)模的近百個產(chǎn)品項目的軟件,軟件的類型包括獨立軟件、數(shù)據(jù)庫應(yīng)用軟件、嵌入式軟件、系統(tǒng)集成類軟件、測試仿真類軟件等,部分嵌入式軟件項目同時將對應(yīng)的硬件(如DSP/FPGA等)設(shè)計文件作為產(chǎn)品基線一并納入了系統(tǒng)配置管理。配置庫數(shù)據(jù)超過了100G,軟件的版本變更、發(fā)布得到了有效的控制,實現(xiàn)了產(chǎn)品軟件技術(shù)狀態(tài)控制的目標(biāo)。為了規(guī)范、指導(dǎo)設(shè)計師的開發(fā)工作,根據(jù)企業(yè)不同產(chǎn)品的開發(fā)特點和用戶質(zhì)量要求,組織企業(yè)專家和標(biāo)準(zhǔn)化人員制定了產(chǎn)品全套軟件文檔模板,以及文件齊套性檢查模板,并通過系統(tǒng)定制功能實現(xiàn)了上述工作的審計和檢查。
通過筆者所在單位的實踐,該系統(tǒng)得到了設(shè)計師、質(zhì)量人員和管理人員的認(rèn)可,并已經(jīng)在其他科研單位推廣使用。
4 結(jié)束語
企業(yè)級軟件配置管理系統(tǒng)將是今后軟件工程化和產(chǎn)品技術(shù)狀態(tài)管理的核心要點之一,也是研發(fā)企業(yè)管理的難點之一。兩級四庫的企業(yè)級軟件配置管理系統(tǒng)適合于兩級管理的研究院所和研發(fā)企業(yè)。相比目前大部分成熟商品配置管理工具軟件,它更加符合目前國內(nèi)科研院所的實際需求,同時也更易于集成,達到CMMI和GJB5000規(guī)定的CPA(關(guān)鍵過程域)集成管理的要求。筆者建議有志于做好企業(yè)級技術(shù)狀態(tài)管理的同仁,從整合企業(yè)軟件工程化管理的需求和現(xiàn)狀入手分析,從企業(yè)管理的角度和今后使用推進的角度來選擇,設(shè)計符合本企業(yè)所在行業(yè)的特點和相關(guān)規(guī)范的軟件配置管理信息系統(tǒng)。在實施的過程中特別要重視對各項標(biāo)準(zhǔn)的理解和應(yīng)用,同時還需要結(jié)合企業(yè)自身的質(zhì)量管理和考評體系,方能制定出合理可行的推行策略。
主要參考文獻
[1] The Institute of Electronics Engineers Inc. IEEE Guide to Software Configuration Management, ANSI/IEEE Std 1042-1987[S]. 1998.
[2] The Institute of Electronics Engineers Inc. IEEE Standard for Software Configuration Management Plans, ANSI/IEEE Std 828-1990[S]. 1991.
[3] 徐曉春,李高健. 軟件配置管理[M]. 北京:清華大學(xué)出版社,2002.
[4] 北大軟件工程研究所. 青鳥軟件配置管理系統(tǒng)JBCM——項目組級用戶手冊[Z]. 2000.
[5] 鄭人杰. 軟件工程(高級)[M]. 北京:清華大學(xué)出版社,1999.