【摘要】分析了武器裝備軟件工程化的現(xiàn)狀,從重視武器裝備標(biāo)準(zhǔn)的學(xué)習(xí)與應(yīng)用、對(duì)武器裝備軟件進(jìn)行細(xì)化分級(jí)控制、分階段進(jìn)行軟件評(píng)審、加強(qiáng)軟件測(cè)試四個(gè)方面提出了在現(xiàn)有基礎(chǔ)上提高武器裝備軟件工程化水平,增強(qiáng)武器裝備軟件質(zhì)量的可行性方法。
【關(guān)鍵詞】武器裝備;軟件工程化;質(zhì)量;軟件測(cè)試
1.引言
未來(lái)戰(zhàn)爭(zhēng)是高技術(shù)的較量,代表武器裝備性能的重要指標(biāo)已不僅僅是彈藥的威力,而是武器裝備的智能化程度。武器裝備的發(fā)展過(guò)程,也是武器裝備軟件一步一步地從無(wú)到有,從簡(jiǎn)單到復(fù)雜的發(fā)展過(guò)程。但是,武器裝備的軟件工程化的建設(shè)步伐卻遠(yuǎn)遠(yuǎn)沒(méi)有跟上武器裝備軟件的發(fā)展。
2.武器裝備軟件工程化現(xiàn)狀
軟件質(zhì)量問(wèn)題造成的災(zāi)難性事故屢見(jiàn)不鮮。如表1所示,在產(chǎn)品故障中,軟件問(wèn)題所占的比重讓人觸目驚心。
造成軟件質(zhì)量較差的原因主要有以下幾點(diǎn):
a)缺乏對(duì)軟件發(fā)展戰(zhàn)略的研究,發(fā)展目標(biāo)、發(fā)展方向不明確,發(fā)展路線(xiàn)不清晰;
b)軟件工程化管理起步較晚,缺乏系統(tǒng)的、規(guī)范化的軟件工程管理,標(biāo)準(zhǔn)軟件過(guò)程沒(méi)有得以有效的建立,項(xiàng)目軟件過(guò)程未得以開(kāi)發(fā)和維護(hù),軟件工程管理的作用不能持續(xù)地、積極地發(fā)揮出來(lái);
c)高級(jí)軟件人才匱乏,軟件工程管理與質(zhì)量管理人員缺乏,軟件從業(yè)人員的工作規(guī)范化意識(shí)不強(qiáng),軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試人員未真正地實(shí)現(xiàn)分離;
d)團(tuán)隊(duì)開(kāi)發(fā)環(huán)境沒(méi)有真正建立,軟件開(kāi)發(fā)依然是分散的、無(wú)約束的手工作坊方式,軟件“三化”程度低,可重構(gòu)、重用能力低,軟件構(gòu)件匱乏;
e)軟件質(zhì)量管理和項(xiàng)目管理還處于摸索階段,缺乏定量的分析方法和足夠的可靠性保證措施,普遍存在重技術(shù)輕管理、重開(kāi)發(fā)輕組織、重結(jié)果輕過(guò)程的現(xiàn)象,基本沒(méi)有進(jìn)行軟件風(fēng)險(xiǎn)管理;
f)在簽訂合同時(shí),軟件未作為配套產(chǎn)品單獨(dú)簽訂合同,費(fèi)用和進(jìn)度往往未納入系統(tǒng)或設(shè)備的統(tǒng)一安排;
g)在軟件開(kāi)發(fā)過(guò)程中,對(duì)軟件的資源投入(包括人員、設(shè)備、經(jīng)費(fèi)、工具等)不足,無(wú)法做到軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試人員三分開(kāi)。
以上幾點(diǎn),并不是一朝一夕就能解決的問(wèn)題。在這樣的條件下,如果放任軟件的自由發(fā)展,隨著武器裝備性能的提高,軟件產(chǎn)品復(fù)雜度也將提高,勢(shì)必會(huì)導(dǎo)致軟件產(chǎn)品的問(wèn)題更加突出。
但是如果要嚴(yán)格按照軟件工程化來(lái)管理,將會(huì)產(chǎn)生以下問(wèn)題:要求和執(zhí)行兩張皮,即對(duì)軟件工程化的要求提得很高,但是研制單位以及研制人員由于以上種種限制,并沒(méi)有實(shí)實(shí)在在按照要求去做,存在嚴(yán)重的走過(guò)場(chǎng)、補(bǔ)程序的現(xiàn)象,反而會(huì)增加軟件開(kāi)發(fā)人員負(fù)擔(dān)。
因此,既不能對(duì)武器裝備軟件放任自流,也不能妄想一蹴而就。如何在武器裝備產(chǎn)品上實(shí)施軟件的工程化問(wèn)題,需要我們認(rèn)真研究,權(quán)衡利弊,提出解決方案。我認(rèn)為可以從以下方面入手:a、重視標(biāo)準(zhǔn)的學(xué)習(xí)與應(yīng)用;b、對(duì)軟件進(jìn)行細(xì)化分級(jí)控制;c、分階段進(jìn)行軟件評(píng)審;d、加強(qiáng)軟件測(cè)試;e、爭(zhēng)取軟件開(kāi)發(fā)資源的投入(包括人員、設(shè)備、經(jīng)費(fèi)、工具等)。
3.重視標(biāo)準(zhǔn)的學(xué)習(xí)與應(yīng)用
在軟件工程化的推動(dòng)下,軟件標(biāo)準(zhǔn)化的范圍現(xiàn)在已經(jīng)擴(kuò)展到軟件整個(gè)生存周期的技術(shù)和管理,主要包括軟件的開(kāi)發(fā)過(guò)程、文檔生成、質(zhì)量保證、驗(yàn)證驗(yàn)收等?,F(xiàn)行有效的軍用軟件方面的標(biāo)準(zhǔn)經(jīng)初步統(tǒng)計(jì),共有二十幾種。這些標(biāo)準(zhǔn)很明確地告訴我們:什么時(shí)候該做什么事情,這些事情怎么做。通過(guò)對(duì)這些標(biāo)準(zhǔn)的學(xué)習(xí),正確地理解這些標(biāo)準(zhǔn)的含義,結(jié)合武器裝備工程化進(jìn)程中所遇到的實(shí)際問(wèn)題,用這些標(biāo)準(zhǔn)來(lái)指導(dǎo)我們武器裝備軟件工程化中所遇到的困難,逐步地將其運(yùn)用到武器裝備工程化當(dāng)中,提高武器裝備工程化的水平。特別需要注意的是,在標(biāo)準(zhǔn)作為指導(dǎo)原則的前提下,必須要在現(xiàn)有條件下有選擇地吸納,既要分清楚標(biāo)準(zhǔn)的適用范圍,更不能脫離實(shí)際,生搬硬套。
4.對(duì)軟件進(jìn)行細(xì)化分級(jí)控制
在武器裝備軟件工程化中,若參照GJB/Z 102-1997,對(duì)產(chǎn)品進(jìn)行軟件分級(jí)管理,共分為三級(jí):關(guān)鍵軟件、重要軟件和一般軟件。
關(guān)鍵軟件和重要軟件的分級(jí)原則以及質(zhì)量控制方法是無(wú)法更改的。但是由于武器裝備在研制過(guò)程中,除了產(chǎn)品上的關(guān)鍵、重要、一般軟件,還涉及到一些保障設(shè)備軟件、測(cè)試設(shè)備軟件、試驗(yàn)專(zhuān)用軟件、調(diào)試軟件,甚至一些臨時(shí)性的數(shù)據(jù)顯示軟件、分析軟件。有的軟件甚至在提出到生成只有短短的一周時(shí)間,如果所有的這些軟件都必須經(jīng)歷我們對(duì)于一般軟件所規(guī)定的需求分析評(píng)審、概要設(shè)計(jì)評(píng)審、詳細(xì)設(shè)計(jì)評(píng)審、代碼走查之類(lèi),顯然是不可能的。因此我建議在一般軟件的劃分和控制上,還可以再進(jìn)行細(xì)化。表2所示為軟件分級(jí)原則、表3所示為軟件分級(jí)控制。
5.分階段進(jìn)行軟件評(píng)審
在武器裝備的軟件工程化進(jìn)程中,軟件是作為硬件的附屬產(chǎn)品,和硬件進(jìn)行相同的研制周期劃分的,因此,軟件研制開(kāi)發(fā)不管從人員、時(shí)間、經(jīng)費(fèi)分配上來(lái)說(shuō),都無(wú)法滿(mǎn)足武器裝備軟件工程化的要求。在現(xiàn)有條件下,如果嚴(yán)格按照硬件的研制周期來(lái)劃分軟件研制階段,并且每個(gè)研制階段均按照評(píng)審?fù)ㄟ^(guò)作為軟件的準(zhǔn)入條件,那么不管從人力或者時(shí)間上都無(wú)法保證。因此,對(duì)軟件的評(píng)審時(shí)機(jī)進(jìn)行規(guī)定就顯得尤為重要。
在研制方案階段,主要應(yīng)該明確軟件的策劃以及需求。在本階段,應(yīng)該形成軟件策劃以及需求分析說(shuō)明文檔,并經(jīng)過(guò)評(píng)審?fù)ㄟ^(guò)。在后續(xù)其他階段,若有顛覆性的或者較大的改動(dòng),應(yīng)重新組織評(píng)審。
在研制初樣階段,經(jīng)過(guò)方案階段的細(xì)化需求,軟件設(shè)計(jì)等,應(yīng)著重于軟件的設(shè)計(jì)以及編碼的規(guī)范性、可靠性。在本階段,應(yīng)該形成軟件的相關(guān)設(shè)計(jì)文檔。Ⅲ類(lèi)以上軟件應(yīng)該進(jìn)行概要設(shè)計(jì)評(píng)審。由于詳細(xì)設(shè)計(jì)說(shuō)明的編制和代碼的編制緊密相連,所以詳細(xì)設(shè)計(jì)說(shuō)明評(píng)審和代碼走查一起進(jìn)行是一個(gè)比較合理的方式。在后續(xù)其他階段,若有顛覆性的或者較大的改動(dòng),應(yīng)重新設(shè)計(jì)評(píng)審。
6.加強(qiáng)軟件測(cè)試
在軟件設(shè)計(jì)與編碼過(guò)程的同時(shí)也是一個(gè)引入錯(cuò)誤和缺陷的過(guò)程。表4列出了各個(gè)過(guò)程引入缺陷的比例。
軟件測(cè)試則是發(fā)現(xiàn)、檢查軟件錯(cuò)誤與缺陷的過(guò)程。目前,在軟件開(kāi)發(fā)人員、經(jīng)費(fèi)都無(wú)法單獨(dú)從硬件開(kāi)發(fā)中剝離出來(lái)的情況下,重視軟件測(cè)試是減少軟件錯(cuò)誤以及改進(jìn)和提高軟件可靠性的重要方法。同時(shí),軟件測(cè)試為軟件優(yōu)化以及軟件工程管理改進(jìn)提供一個(gè)平臺(tái),降低技術(shù)風(fēng)險(xiǎn)和管理風(fēng)險(xiǎn),對(duì)軟件質(zhì)量保證具有重要意義。
所以,我們應(yīng)該將有限的資源更充分地用于軟件測(cè)試。根據(jù)統(tǒng)計(jì),各軟件測(cè)試的效率如下:
其中,效率=發(fā)現(xiàn)的軟件缺陷/總?cè)毕荨?00%。
在武器裝備軟件中,集成測(cè)試進(jìn)行的比較少,代碼走查和單元測(cè)試就顯得尤為重要。但是在代碼走查的過(guò)程中我們往往會(huì)忽視代碼走查的計(jì)劃編制以及個(gè)人走查部分,僅重視會(huì)議走查,導(dǎo)致代碼走查走過(guò)場(chǎng),質(zhì)量下降。應(yīng)該加強(qiáng)對(duì)軟件測(cè)試的投入,從人員、經(jīng)費(fèi)等方面保證軟件測(cè)試的正常進(jìn)行,為軟件質(zhì)量把關(guān)。
7.爭(zhēng)取軟件開(kāi)發(fā)資源的投入(包括人員、設(shè)備、經(jīng)費(fèi)、工具等)
在目前的武器裝備研制過(guò)程中,軟件一直是作為硬件的附屬產(chǎn)品,與硬件同期進(jìn)行研制的,未嚴(yán)格對(duì)軟件開(kāi)發(fā)進(jìn)行研制周期的劃分,只是介定了軟件的工作內(nèi)容及要求,在人員、設(shè)備、經(jīng)費(fèi)、工具等方面都不是很具體和明確,這樣一來(lái)直接影響到軟件開(kāi)發(fā)進(jìn)度和質(zhì)量。為改變這一現(xiàn)狀,須在今后研制合同中明確軟件開(kāi)發(fā)使用經(jīng)費(fèi)和要求,這樣才能確保軟件開(kāi)發(fā)進(jìn)度和質(zhì)量,滿(mǎn)足后期服務(wù)要求。
8.結(jié)束語(yǔ)
隨著武器裝備軟件的發(fā)展,武器裝備軟件的工程化也慢慢走上正軌,但是距離真正的軟件的工程化差距仍然較大,其過(guò)程仍然是漫長(zhǎng)而艱巨的。我們只有立足于現(xiàn)狀,把握武器裝備軟件發(fā)展的特點(diǎn),才能一步一步趕上軟件工程化的步伐。