网站首页
教育杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
医学杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
经济杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
金融杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
管理杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
科技杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
工业杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
SCI杂志
中科院1区 中科院2区 中科院3区 中科院4区
全部期刊
公務(wù)員期刊網(wǎng) 論文中心 正文

扎實推進(jìn)軟件工程化方式方法

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了扎實推進(jìn)軟件工程化方式方法范文,希望能給你帶來靈感和參考,敬請閱讀。

扎實推進(jìn)軟件工程化方式方法

摘要:我國開展軟件工程化推進(jìn)多年,但效果并不是很理想。筆者結(jié)合軟件工程化推進(jìn)的現(xiàn)狀,根據(jù)多年軍品軟件研發(fā)和軟件工程化推進(jìn)的實踐經(jīng)驗,提出了推進(jìn)軟件工程化的一些方式和方法,以期能在推進(jìn)軟件工程化尤其是在提高軟件產(chǎn)品質(zhì)量方面起到應(yīng)有的效果。

關(guān)鍵詞:GJB5000;軟件工程化;軟件能力成熟度;CMM;CMMI

引言

當(dāng)今社會的發(fā)展越來越離不開軟件的支撐,許多發(fā)達(dá)國家已將軟件視為“國家間競爭的重要武器”,把對軟件技術(shù)的研究和軟件產(chǎn)業(yè)的發(fā)展作為國家競相扶持的重點(diǎn)。如何提升軟件的技術(shù)能力,加強(qiáng)對軟件開發(fā)過程的管理,已經(jīng)成為軟件行業(yè)主要關(guān)注的方向。在裝備研制和使用保障過程中,質(zhì)量是關(guān)系官兵生命,關(guān)系戰(zhàn)爭勝負(fù)的重大問題。為確保我國軍品軟件產(chǎn)品質(zhì)量,總裝備部于2003開始引入由美國卡耐基﹒梅隆大學(xué)軟件工程研究所(CMU/SEI)提出的CMM/CMMI。在進(jìn)行深入研究CMM的基礎(chǔ)上,于2003年了基于CMM的GJB5000-2003《軍用軟件能力成熟度模型》[1]。經(jīng)過多年的試點(diǎn)和探索,2008年了基于CMMI-DEV1.2[2]的GJB5000A-2008《軍用軟件研制能力成熟度模型》[3]。規(guī)范了為達(dá)到研制高質(zhì)量的軍用軟件的目標(biāo),劃分了軟件研發(fā)能力等級以及各等級的典型特征和能力水平,并給出了如何持續(xù)改進(jìn)能力等級的具體指導(dǎo)[4]。但在將近二十年的推進(jìn)過程中,推進(jìn)效果并不是很理想。

1軟件工程化推進(jìn)現(xiàn)狀

1.1缺乏系統(tǒng)和專業(yè)的軟件工程化建設(shè)指導(dǎo)

按照GJB8000-2013《軍用軟件研制能力等級要求》[5],大多數(shù)軍品軟件承研單位需要滿足GJB5000A三級研制能力等級要求。GJB5000A三級需覆蓋17個過程域39個目標(biāo)132個特定實踐,內(nèi)容涵蓋了軟件工程和軟件過程管理的內(nèi)容[3]。原來開展軟件研制,軟件設(shè)計師主要依據(jù)GJB2786A-2009《軍用軟件開發(fā)通用要求》和GJB438B-2009《軍用軟件開發(fā)文檔通用要求》這兩份標(biāo)準(zhǔn),主要開展軟件工程相關(guān)的活動即可。GJB5000對軟件研制全生命周期的方方面面應(yīng)開展哪些活動都進(jìn)行了說明[5]。很多承研單位都面臨如何在軟件研發(fā)過程中開展項目策劃、項目監(jiān)控、風(fēng)險管理、供方管理等方面的工作的困惑。參照美國軟件工程研究所(SEI)提出的SCAMPI評估方式[6]考評單位是否滿足GJB5000的目標(biāo),在如何開展、如何推進(jìn)方面沒有給出一定的指導(dǎo)。各單位的最佳實踐也沒有形成軍品承研單位共同的資產(chǎn),每個單位在軟件過程體系建設(shè)和軟件工程推進(jìn)中都是在重復(fù)不斷摸索。

1.2軟件研發(fā)過程與軟件工程化要求的沖突

隨著信息技術(shù)的發(fā)展,應(yīng)用于新領(lǐng)域系統(tǒng)的軍品軟件越來越多,系統(tǒng)需求不明確是經(jīng)常存在的情況。在系統(tǒng)需求不明確的情況下,軟件需求也無法明確和清晰。在軟件研制進(jìn)度緊張、技術(shù)難度高和人力資源緊張時,為了減少不必要的軟件研發(fā)投入,往往先開展軟件代碼的編寫、調(diào)試和系統(tǒng)聯(lián)試,在反復(fù)迭代確認(rèn)軟件需求后,才根據(jù)軟件代碼開展軟件需求和設(shè)計的編寫。造成軟件工程化的需求分析、需求管理等活動證據(jù)缺乏,規(guī)范的工作分解結(jié)構(gòu)(WorkBreakdownStructure)任務(wù)策劃與實際開展的軟件工程活動沖突(如正常應(yīng)該是先需求分析、再設(shè)計、后編碼,而實際是先編碼,后補(bǔ)充需求分析和設(shè)計的證據(jù))。造成軟件工程化實施無法給出合理的證據(jù)。

1.3軟件工程師技能與工程化要求的不匹配

GJB5000A對項目的軟件工程化的開發(fā)和管理都提出了很高要求,軟件設(shè)計師是順利開展軟件工程化的關(guān)鍵角色。軟件設(shè)計師由原來只需熟悉GJB438B-2009《軍用軟件開發(fā)文檔通用要求》和GJB2786A-2009《軍用軟件開發(fā)通用要求》,還需熟悉項目管理的相關(guān)內(nèi)容(如項目策劃、項目監(jiān)控、風(fēng)險管理、資源管理等)。由原來的只需開展軟件工程活動,到軟件工程活動和軟件過程活動都得理解和開展。從開發(fā)過程中對需求、設(shè)計及實現(xiàn)的具體活動定義,到項目管理、跟蹤報告的周期機(jī)制,事無巨細(xì)[7]。軟件設(shè)計師的技能與工程化的要求存在的不小的差距。

2推進(jìn)軟件工程化的方式方法

戴明(W.E.Deming)和朱蘭(J.Juran)指出一個系統(tǒng)的質(zhì)量主要取決于用來開發(fā)和維護(hù)該系統(tǒng)的過程的質(zhì)量。而GJB5000就是通過規(guī)范軟件研發(fā)過程的活動,避免軟件過程無規(guī)則和混亂的管理,來確保軟件產(chǎn)品的質(zhì)量。GJB5000給出了系統(tǒng)的開展軟件過程活動的具體要求和實施的具體指導(dǎo)[4]。結(jié)合具體軟件過程工程化的開展方面,筆者認(rèn)為可以采取一些好的方式方法。

2.1構(gòu)建面向全組織的軟件工程過程組織架構(gòu)

承研單位和軟件設(shè)計師對開展軟件工程化的第一反應(yīng)是抗拒,這是目前普遍存在的現(xiàn)象。軟件工程化要求多、內(nèi)容復(fù)雜。軟件工程化評價專家對GJB5000有各自不同的理解。造成承研單位對具體如何開展、如何實施無所適從。各單位在推進(jìn)過程中,除了軟件工程化的交流資料外,可借鑒和參考的資料有限。再加上軟件工程化推進(jìn)短期內(nèi)無法看到效果,軟件工程師普遍認(rèn)為軟件工程化推進(jìn)沒必要和無意義。為降低各單位推進(jìn)軟件工程化的難度,降低軟件工程師對推進(jìn)軟件工程化的抵觸心里,提高開展軟件工程化推進(jìn)的積極性,應(yīng)構(gòu)建全組織的軟件工程過程組織架構(gòu)。為軍品承研單位的互相學(xué)習(xí)、相互借鑒,最佳實踐在軟件工程化推進(jìn)中的推廣搭建平臺。搭建的平臺如圖1所示。軍品裝備發(fā)展部SEPG管理全組織的軟件工程化專家、評價專家,可有效的收集到各承制公司和承制單位的最佳實踐。在對其進(jìn)行梳理和整理后,可構(gòu)建全組織的軟件工程化組織資產(chǎn),為各承制公司提供知識共享。承制公司SEPG負(fù)責(zé)本公司內(nèi)的最佳實踐收集、資源共享,負(fù)責(zé)本公司內(nèi)的最佳實踐的收集和推廣。該組織可確保最佳實踐在全組織內(nèi)的有效利用,減少不必要的軟件工程化建設(shè)的重復(fù)工作,提高軟件工程化推進(jìn)的效率,消除各承制單位的孤島狀態(tài)。

2.2軟件工程過程要求為導(dǎo)向的求同存異推進(jìn)

能否直接或間接的提高軟件產(chǎn)品質(zhì)量是檢驗軟件工程過程活動必要性和有效性的標(biāo)準(zhǔn)。我國在引進(jìn)CMM/CMMI時,根據(jù)軍品軟件研制的特點(diǎn)進(jìn)行了本地化的修訂,但在推進(jìn)的過程中還是存在了一些問題。如評價時以GJB5000A的資料性部件為標(biāo)準(zhǔn),不滿足就是不合格,造成軟件工程師對軟件工程化推進(jìn)的抵觸心里。國外的一些標(biāo)桿企業(yè),如波音、柯林斯、洛克希德馬丁等也達(dá)到了三級以上的成熟度等級,但并不是完全照搬CMMI,其中有一些公司是采用了公司自己的管理機(jī)制(為類三級)。這說明在國外的軟件工程化推進(jìn)過程中,其主要目標(biāo)是滿足軟件工程化的要求即可,沒對采取的形式進(jìn)行限制。我國軍品軟件研制單位各有各的實際情況,各有各的特點(diǎn),完全按照同一個模式開展推進(jìn)是不可能也是不現(xiàn)實的。應(yīng)允許單位根據(jù)各自的特點(diǎn)開展推進(jìn)。

2.3緊密結(jié)合軍品軟件研制特點(diǎn)制定推進(jìn)方式

我國裝備軟件發(fā)展的過程中,存在一些自身的特點(diǎn)。武器裝備的研發(fā)模式而影響的軍品軟件的開發(fā)模式,如軟件研發(fā)普遍存在的時間緊(軟件作為武器裝備研發(fā)的后端)、需求變動大(改軟件比硬件方便,成本低)、軟件研發(fā)不受重視(軟件基本不計價)等。遵循軟件工程過程的要求開展,存在一定的難度。如目前普遍存在的逆向工程問題,是沒法回避的現(xiàn)實問題。如果生搬硬套,既違背了GJB5000推進(jìn)的初衷,又增加了不必要的工作量。針對這種普遍存在的共性問題,應(yīng)組織全組織的軟件工程過程組織進(jìn)行專題討論,在確保軟件產(chǎn)品質(zhì)量的前提下,討論具體推進(jìn)的方式和方法,并作為全組織的最佳實踐進(jìn)行推廣。從而減少各單位對這種共性問題如何推進(jìn)的不必要的和重復(fù)的摸索、討論、試點(diǎn)和解釋。

2.4軟件工程師針對性的技能培訓(xùn)

GJB5000A的推進(jìn)從二級開始。GJB5000A二級包含7個過程域(配置管理、測量與分析、項目監(jiān)控、項目策劃、過程和產(chǎn)品質(zhì)量保證、需求管理、供方協(xié)議管理),除需求管理外都屬于支持類和項目管理類的過程域。7個過程域基本上是軟件工程師在研發(fā)過程中不太關(guān)注的內(nèi)容,對軟件工程師開展所有的培訓(xùn)成本高,效果也不會太理想。應(yīng)對軟件項目中的軟件負(fù)責(zé)人開展這方面的培訓(xùn),軟件負(fù)責(zé)人在進(jìn)行具體的推進(jìn)過程中,結(jié)合具體的工作內(nèi)容有針對性的對軟件工程師進(jìn)行指導(dǎo)即可。確保軟件項目中有軟件過程的明白人。

3結(jié)束語

軟件工程化推進(jìn)是一個復(fù)雜的系統(tǒng)工程,需要在具體實踐中不斷的探索、研究新的方式和方法,尋求更為合適的推進(jìn)途徑。目前,軍用軟件開發(fā)和應(yīng)用的范圍越來越廣,軍用軟件對武器裝備的質(zhì)量起著至關(guān)重要的作用。在軟件工程化的推進(jìn)實踐中,在執(zhí)行國家軍用標(biāo)準(zhǔn)的同時,探索合適的軟件工程化推進(jìn)模式,從而提升軍用軟件的產(chǎn)品質(zhì)量。

參考文獻(xiàn)

[3]GJB5000A-2008軍用軟件研制能力成熟度模型.

[4]石柱,軍用軟件研制能力成熟度模型及其應(yīng)用[M].北京:中國標(biāo)準(zhǔn)出版社,2009.

[5]GJB8000-2013軍用軟件研制能力等級要求.

[6]過程改進(jìn)用的標(biāo)準(zhǔn)CMMI評估方法(SCAMPI)實施指南(QRMS-41).王方德,譯.總裝備部電子信息基礎(chǔ)部技術(shù)基礎(chǔ)局,2005.

[7]任甲林.術(shù)以載道——軟件過程改進(jìn)實踐指南[M].北京:人民郵電出版社,2014.

[8]石柱.軟件質(zhì)量管理[M].北京:航空工業(yè)出版社,2003

[9]鄧成飛,李潔.軟件工程管理.北京:國防工業(yè)出版社,2000.

[10]張萬軍,鄭寧,趙宇蘭.基于CMMI的軟件工程及實訓(xùn)指導(dǎo).清華大學(xué)出版社2011.

[11]任甲林.術(shù)以載道——軟件過程改進(jìn)實踐指南人民郵電出版社2014.

作者:程春姬 單位:中國航空無線電電子研究所

免责声明

本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。

AI写作,高效原创

在线指导,快速准确,满意为止

立即体验
文秘服务 AI帮写作 润色服务 论文发表