章文娟 李濤 陳紅 解靜 史雷蕾
摘 要:為了規(guī)范軟件開發(fā)庫(kù)管理,提高工作效率,提出了一種軟件開發(fā)庫(kù)策劃方案。對(duì)重點(diǎn)部分基線策劃提出了3種方案并進(jìn)行對(duì)比分析,選取軟件配置管理工具進(jìn)行管理。使用該方案建立的開發(fā)庫(kù)結(jié)構(gòu)清晰、配置項(xiàng)變更可控制,產(chǎn)品一致性及軟件問題追蹤管理實(shí)施良好。
關(guān)鍵詞:軟件開發(fā)庫(kù);軟件生存周期;基線;KCFlow
DOI:10.11907/rjdk.172849
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)005-0046-03
Abstract:In order to standardize the management of software development library, prevent mistakes from manual management and improve work efficiency, this article offers a scheme of software development library. It puts forward three methods of baseline design which is the most important part of the scheme, and chooses the best method through comparative analysis. The development library designed according to the scheme turns out to be clear, controlled, consistent and traceable.
Key Words:software development library; software life cycle; baseline; KCFlow
0 引言
在MIL-STD-498中將軟件開發(fā)庫(kù)定義為:一套受控的軟件、文檔、其它中間件和最終的軟件產(chǎn)品,以及相關(guān)的用以改進(jìn)軟件的有序開發(fā)和后續(xù)支持的工具和方法[1]。軟件開發(fā)庫(kù)存放軟件開發(fā)全生命周期過程中需要保存的各種信息,是軟件配置項(xiàng)的集合,受控于軟件開發(fā)組[2]。
目前,軟件開發(fā)庫(kù)多由項(xiàng)目組人員手工管理,規(guī)范性較差,人力成本較高,容易出現(xiàn)紕漏,難以滿足軟件配置管理需求[3]。軟件開發(fā)庫(kù)的工具化管理能夠滿足開發(fā)庫(kù)要求,規(guī)范開發(fā)庫(kù)管理,彌補(bǔ)人工管理出現(xiàn)的紕漏,降低人力成本,改善科研項(xiàng)目運(yùn)行環(huán)境,大幅提高工作效率。本文提出一種可行的管理方法和流程,以便在項(xiàng)目中推進(jìn)開發(fā)庫(kù)的工具化管理。
1 工具選擇
常用軟件配置管理工具有Rational公司的ClearCase、Hansky公司的Firefly以及StarTeam、CVS等[4-5]。關(guān)鍵科技的軟件配置管理工具KCFlow符合GJB5235-2004《軍用軟件配置管理》、GJB5000A《軍用軟件研制能力成熟度模型》、《總裝備部軟件工程規(guī)范》等標(biāo)準(zhǔn)和規(guī)范要求。KCFlow以軟件配置管理項(xiàng)的版本管理為核心,具有軟件配置策劃管理、變更控制、產(chǎn)品一致性管理、軟件問題追蹤管理、軟件配置審計(jì)管理等功能,實(shí)現(xiàn)對(duì)配置管理工作全流程、全方位的支持[6],能夠滿足軟件開發(fā)庫(kù)、受控庫(kù)、產(chǎn)品庫(kù)的管理要求。因此,本文選取KCFlow進(jìn)行開發(fā)庫(kù)的工具化管理。
2 軟件開發(fā)庫(kù)策劃
軟件開發(fā)庫(kù)主要包含以下內(nèi)容:任務(wù)書、需求分析、設(shè)計(jì)編碼、測(cè)試驗(yàn)收、需求過程管理表單、項(xiàng)目管理過程表單、軟件質(zhì)量保證過程表單、配置管理過程表單、測(cè)量與分析過程表單及外購(gòu)軟件平臺(tái)與工具等。
項(xiàng)目立項(xiàng)后需要在一定時(shí)間內(nèi)策劃相應(yīng)的軟件配置管理開發(fā)庫(kù),包括用戶角色策劃和配置策劃。
策劃項(xiàng)目組成員包括配置管理員、審批領(lǐng)導(dǎo)、項(xiàng)目組開發(fā)成員。
配置策劃主要策劃基線、標(biāo)識(shí)和項(xiàng)目基本信息?;€策劃主要策劃基線名稱、基線標(biāo)識(shí)、基線所包含的CMI等信息。標(biāo)識(shí)策劃主要策劃入庫(kù)表單登記號(hào)、出庫(kù)表單登記號(hào)、CMI版本標(biāo)識(shí);項(xiàng)目基本信息策劃內(nèi)容為系統(tǒng)名稱、系統(tǒng)標(biāo)識(shí)、子系統(tǒng)名稱、子系統(tǒng)標(biāo)識(shí)、項(xiàng)目代號(hào)和項(xiàng)目關(guān)鍵等級(jí)?;€策劃和標(biāo)識(shí)策劃是配置策劃的主要內(nèi)容。
2.1 基線策劃
在軟件工程中,基線是文檔和其它資料的集合,代表產(chǎn)品在某一時(shí)間點(diǎn)的情況[7-8]。
根據(jù)GJB5235-2004《軍用軟件配置管理》GJB5000A《軍用軟件研制能力成熟度模型》等標(biāo)準(zhǔn)和規(guī)范要求,提出3種軟件開發(fā)庫(kù)基線策劃方案。
方案1:根據(jù)軟件配置管理基線策劃軟件開發(fā)庫(kù)。根據(jù)企業(yè)對(duì)軟件配置管理過程和軟件三庫(kù)管理要求,軟件開發(fā)庫(kù)策劃3條基線:功能基線、分配基線和產(chǎn)品基線,每條基線包括一組完整的工作產(chǎn)品[9-10]。方案1包含的基線及基線包含的CMI如圖1所示。
方案2:根據(jù)軟件生命周期模型策劃軟件開發(fā)庫(kù)。軟件生存周期模型為軟件產(chǎn)品的開發(fā)過程提供依據(jù)和框架,根據(jù)軟件生存周期模型的規(guī)定,選取適合項(xiàng)目的模型。軟件生命周期模型一般包括系統(tǒng)設(shè)計(jì)與軟件定義、軟件需求分析、軟件設(shè)計(jì)、軟件集成與測(cè)試、軟件驗(yàn)收和交付等5個(gè)階段,開發(fā)庫(kù)可根據(jù)這5個(gè)階段進(jìn)行基線策劃。方案2包含的基線及基線包含的CMI如圖2所示。
方案3:根據(jù)軟件開發(fā)過程管理體系策劃軟件開發(fā)庫(kù)。軟件開發(fā)過程管理包括需求管理過程、項(xiàng)目管理過程、軟件質(zhì)量保證過程、軟件配置管理過程、測(cè)量與分析過程等5個(gè)管理體系,每個(gè)管理過程產(chǎn)生相應(yīng)的表格、文檔等工作產(chǎn)品。方案3包含的基線及基線包含的CMI如圖3所示。
方案1只劃分了3條基線,策劃和實(shí)施的復(fù)雜度較低,難度小、耗時(shí)短,缺少項(xiàng)目策劃過程生成的產(chǎn)品,工作產(chǎn)品數(shù)量少、不夠完整,項(xiàng)目進(jìn)度節(jié)點(diǎn)也不明確。方案2根據(jù)軟件生命周期策劃基線,選取對(duì)應(yīng)的軟件生存周期模型,基線策劃和實(shí)施復(fù)雜度與方案1相比較高,項(xiàng)目進(jìn)度節(jié)點(diǎn)明確,工作產(chǎn)品數(shù)量較多、完整性較好,能夠滿足開發(fā)庫(kù)要求。方案3根據(jù)軟件開發(fā)過程管理體系策劃10條基線,工作產(chǎn)品多、完整性好,但基線組成復(fù)雜,對(duì)配置管理人員要求高,耗時(shí)長(zhǎng),實(shí)施難度較大。具體分析結(jié)果如表1所示。
由表1可以看出,方案1的產(chǎn)品完整性較差,不能完全滿足軟件開發(fā)庫(kù)對(duì)產(chǎn)品的完整性要求。方案2和方案3均能滿足軟件開發(fā)庫(kù)要求,但方案3策劃復(fù)雜度高,耗時(shí)長(zhǎng),策劃難度大。所以,方案2既能滿足軟件開發(fā)庫(kù)的要求,難度又較低。因此,本方法選擇方案2進(jìn)行基線策劃。
2.2 標(biāo)識(shí)策劃
標(biāo)識(shí)策劃主要策劃入庫(kù)表單登記號(hào)、出庫(kù)表單登記號(hào)、CMI版本標(biāo)識(shí)和CMI代碼版本標(biāo)識(shí)。兩種類型的表單策劃方式相同,表單標(biāo)識(shí)的字段類型為“字符串/數(shù)字”,下一字段連接符“./-/_/(/)/無(wú)”,流水號(hào)位數(shù)選擇1/2/3位(表單數(shù)目的位數(shù))。版本標(biāo)識(shí)策劃根據(jù)項(xiàng)目要求設(shè)置為兩段式如Vx.xx,或三段式如Vx.xx.xx,也可在之后加上日期如x年x月x日。
2.3 建立與使用
軟件開發(fā)庫(kù)具體策劃方案如圖4所示,在KCFlow中依照?qǐng)D4步驟建立開發(fā)庫(kù)。
在KCFlow中建立完成的軟件開發(fā)庫(kù)主頁(yè)面默認(rèn)為開發(fā)庫(kù)入庫(kù)單,如圖5所示。軟件開發(fā)庫(kù)使用包括初始入庫(kù)和使用出庫(kù)。初始入庫(kù)和使用出庫(kù)需分別填寫開發(fā)庫(kù)入庫(kù)單和使用出庫(kù)申請(qǐng)單,填寫完成后點(diǎn)擊“添加”即可完成對(duì)應(yīng)操作,如圖5、圖6所示。
3 結(jié)語(yǔ)
本文策劃了一種通過工具建立軟件開發(fā)庫(kù)的方法,對(duì)策劃的重點(diǎn)部分——基線策劃提出了3種方案并進(jìn)行了詳細(xì)的對(duì)比分析,選出了最佳方案。使用KCFlow工具進(jìn)行工程化的配置管理應(yīng)用,在某直升機(jī)型號(hào)項(xiàng)目中,通過該方法建立的軟件開發(fā)庫(kù)結(jié)構(gòu)清晰、配置項(xiàng)變更可控制、產(chǎn)品一致性及軟件問題追蹤管理良好。該方法可提高開發(fā)庫(kù)在項(xiàng)目中的應(yīng)用普及率,很大程度上規(guī)范了開發(fā)庫(kù)管理,大幅提高了工作效率。
參考文獻(xiàn):
[1] 林華,夏耘.軟件配置管理過程[J].計(jì)算機(jī)工程,2000,26(10):109-111.
[2] 張曉燕,孫亮清.軟件配置管理在船舶監(jiān)控軟件項(xiàng)目中的實(shí)施[J].上海船舶運(yùn)輸科學(xué)研究所學(xué)報(bào),2013,36(2):57-61.
[3] 馮濟(jì)舟.軟件配置管理典型問題的研究與思考[J].航天標(biāo)準(zhǔn)化,2013(3):44-46.
[4] 王忠貴,劉姝.航天型號(hào)軟件工程方法與技術(shù)[M].北京:中國(guó)宇航出版社,2015.
[5] 聶華北,張藝超.軟件配置管理工具綜述[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(7):125-128.
[6] 程曉莉,魯靜,魏巍,等.基于KCFlow工具的軟件配置管理研究[J].軟件導(dǎo)刊,2017,16(2):26-28.
[7] HUMPHREY W S.團(tuán)隊(duì)軟件過程 [M].第2版.北京:人民郵電出版社,2011.
[8] 石柱.軟件工程標(biāo)準(zhǔn)手冊(cè)[M].北京:中國(guó)標(biāo)準(zhǔn)出版社,2007.
[9] 石柱.軟件質(zhì)量管理[M].北京:中國(guó)標(biāo)準(zhǔn)出版社,2003.
[10] 于宏霞,陳凱,白英彩.基線技術(shù)在軟件配置管理過程中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(2):43-45.
(責(zé)任編輯:杜能鋼)