摘要:隨著我國軍事化現(xiàn)代化水平的逐步提高,軟件產(chǎn)品在現(xiàn)代武器裝備中所占比例越來越高,功能越來越復(fù)雜,軟件質(zhì)量監(jiān)督的任務(wù)也越來越重。本文結(jié)合國內(nèi)軍用軟件的質(zhì)量現(xiàn)狀,對軍用軟件開發(fā)過程中的質(zhì)量監(jiān)督方法和策略進行了簡要的闡述。
關(guān)鍵詞:航空軟件 質(zhì)量監(jiān)督
1 概述
目前,我國新一代戰(zhàn)斗機的航電系統(tǒng)超過80%的功能需要由軟件實現(xiàn),但交付驗收時發(fā)現(xiàn)的缺陷率較高。因此,根據(jù)我國航空軟件的現(xiàn)狀,要提升我國航空軟件的質(zhì)量必須按照軟件工程化的要求開發(fā)軟件,嚴格進行軟件質(zhì)量監(jiān)督管理,加強軟件可靠性設(shè)計、管理、測試和驗證, 不斷改進軟件工程過程。本文就航空軟件的質(zhì)量分析、航空軟件開發(fā)的質(zhì)量監(jiān)督等,作進一步的研究和探討[1]。
2 航空軟件的質(zhì)量分析
在目前的航空軟件的研制中,軟件開發(fā)單位根據(jù)國際標準制定出相應(yīng)的開發(fā)規(guī)范,并從具體的操作流程中予以監(jiān)督,以此來確保航空軟件的質(zhì)量。按照國軍標建立健全了質(zhì)量管理體系,通過了體系認證,進行了許多軟件質(zhì)量控制與管理方面的基礎(chǔ)性和系統(tǒng)性工作,但在實際開發(fā)中,軟件的質(zhì)量風(fēng)險依然存在,軟件工程活動仍不健全,存在著一些問題。由于部分軟件開發(fā)人員對標準和規(guī)范的理解不夠到位或有一定偏差,有些軟件項目人員對標準和規(guī)范的遵守更多傾向于被動應(yīng)付。在軟件相關(guān)文檔的編寫上,普遍存在描述偏于模糊簡略,一致性較差,對軟件的實現(xiàn)、測試和維護造成一定難度。軟件工程化開發(fā)過程中的質(zhì)量問題主要表現(xiàn)為以下幾點[2]。
2.1 軟件的需求定位不夠準確
一般情況下,在軟件開發(fā)前,開發(fā)單位會先分派特定人員進行需求調(diào)查,分析調(diào)查結(jié)果,再根據(jù)需求量的多少進行統(tǒng)一生產(chǎn)。然而實際情況是,開發(fā)人員由于對軟件需求意愿分析不足,定位不準,就容易造成軟件規(guī)格的偏差,無法保證軟件系統(tǒng)的功能性能、數(shù)據(jù)、接口、信息流和質(zhì)量等。
2.2 軟件設(shè)計不夠規(guī)范
在軟件設(shè)計過程中,軟件設(shè)計文檔的編制不規(guī)范,文檔的編制水平和質(zhì)量參差不齊。文檔描述過于簡略,對于定義各功能模塊的接口、控制接口的描述不全面,設(shè)計限制未明確規(guī)定,對軟件單元過程陳述,包括算法和內(nèi)部數(shù)據(jù)結(jié)構(gòu)在內(nèi)的設(shè)計很薄弱。同類型裝備之間的軟件通用性和繼承性比較差,軟件模塊的標準化系數(shù)不高,系統(tǒng)的維護費用非常高,軟件正常的更改都必須付出很高的代價,不利于軟件的功能擴充,造成經(jīng)費和時間的浪費以及可靠性的降低。
2.3 軟件測試較為薄弱
在航空軟件開發(fā)過程中,很多軟件項目成員從思想上不夠重視軟件測試工作,認為軟件只要經(jīng)過了仿真或者在線調(diào)試的驗證,就不會出現(xiàn)質(zhì)量問題。有些測試人員本身對測試工作也缺乏足夠認識,對測試理論缺乏深入研究,測試的手段相對落后。在實際的軟件測試過程中,并沒有嚴格地按照單元測試、部件測試、集成測試和系統(tǒng)聯(lián)試的順序進行,內(nèi)部測試工作因缺乏規(guī)劃與工具等難以順利開展,這就導(dǎo)致很多測試只是例行檢查,測試工作不夠深入細致,很難發(fā)現(xiàn)潛在的設(shè)計問題,直到出現(xiàn)嚴重質(zhì)量問題后才回頭改進設(shè)計,造成工作重復(fù),效率低下。
2.4 軟件工程化開發(fā)管理經(jīng)驗不足
首先表現(xiàn)在管理層對軟件工程化開發(fā)管理在觀念轉(zhuǎn)變及近、遠期利益權(quán)衡方面的認識不足,沒有高層的強力支持,軟件工程化活動的開展和深入推進舉步維艱。軟件開發(fā)人員往往多是應(yīng)用領(lǐng)域的專家,缺少如何理解以及正確利用現(xiàn)代軟件工程等方面的教育,在實際工作中對于實行軟件工程化活動多有抵觸,重編程輕文檔,忽視軟件文檔對于軟件實現(xiàn)、測試及維護的重要作用。承制單位缺乏統(tǒng)一有效的開發(fā)管理體系,難以保證軟件開發(fā)人員在自頂向下的設(shè)計過程不斷進行設(shè)計驗證與優(yōu)化,并將階段設(shè)計成果在開發(fā)過程實現(xiàn)重用,最大限度地降低開發(fā)團隊的重復(fù)性工作,提高軟件開發(fā)的工作效率。
3 航空軟件開發(fā)的質(zhì)量監(jiān)督
能否保質(zhì)高效地做好航空軟件質(zhì)量監(jiān)督工作作為檢驗軍代表工作稱職與否的砝碼,成為當(dāng)前航空軟件開發(fā)質(zhì)量監(jiān)督工作的重點。為了做好軟件質(zhì)量監(jiān)督工作,提高軟件質(zhì)量監(jiān)督水平,尤其是提高日常的軟件質(zhì)量監(jiān)督水平,應(yīng)該加強對軟件開發(fā)質(zhì)量監(jiān)督管理的力度[3]。
3.1 基于需求管理的監(jiān)督
在航空軟件的開發(fā)過程中,關(guān)鍵要把握好軟件項目的需求開發(fā)。軟件項目需求是使用對象對軟件功能的要求,它具有模糊性、不確定性和變化性的特點。需求變更是因為用戶的需求發(fā)生了變化,需求變更在軟件項目的生存周期內(nèi)普遍存在。如果開發(fā)團隊缺少明確的需求變更控制過程,就容易造成成本不足、進度拖延、資源緊缺等嚴重后果。因此,在監(jiān)督時,必須以需求變更為重點,對項目需求管理進行控制。
首先要加強軍方在需求定義階段的主導(dǎo)作用。需求定義工作主要由軟件開發(fā)人員承擔(dān),但其中必須要加強軍方的有效參與,充分發(fā)揮軍方在需求定義中的主導(dǎo)作用,這是軍方從總體上把握軟件質(zhì)量的根本措施,對于提升軟件需求的正確性、一致性和完整性大有幫助。軍方可以在適當(dāng)?shù)臈l件下,運用多種表達方式參與到定義系統(tǒng)需求的相關(guān)工作中,從而最大限度地將自己的要求和想法反映給軟件開發(fā)人員。
其次,軟件的需求分析要嚴格把關(guān)。具體來說,要注意以下幾點:①需求的準確性:每一條需求都必須準確反映軟件系統(tǒng)的工作內(nèi)容;②需求的明確性:每條需求的解釋必須是唯一的,不能有歧義;③需求的完整和全面性:所有的需求必須要能完整全面地反映軟件的功能類型,不能出現(xiàn)遺漏;④需求的重要等級:根據(jù)需求重要性的不同,將需求劃分等級。一旦出現(xiàn)資金和技術(shù)性困難時,根據(jù)等級的高低決定先后次序,開展需求工程;⑤需求的可測試性:必須保證需求是可以進行檢查和實驗的;⑥需求可改性:每一條需求都能進行變更,且在變更之后,保留原有需求集的整體風(fēng)格和結(jié)構(gòu);⑦需求可追蹤性和可控性:每條需求都是可溯源的;⑧需求的理解性:使用者和技術(shù)開發(fā)人員都能完全理解和把握需求集的整體行為、功能意義及各需求的含義。
需求的變更也是需要著重監(jiān)督、嚴格控制的重要行為,需求發(fā)生變更的主要原因有:隨著項目進展,發(fā)現(xiàn)原來的需求可能存在錯誤或不足,因此要變更需求;用戶要求發(fā)生變化,原來的需求可能跟不上新的用戶需求,因此需要變更需求。一旦需求發(fā)生變化,就需要相應(yīng)的修改已有的設(shè)計,重寫相關(guān)代碼,變更測試計劃等一系列變動。
因此,必須對需求的變更加強管理,嚴格控制,以防發(fā)生重大的設(shè)計偏差。軍代表在需求變更的管理控制過程中需要做到積極主動地與設(shè)計人員進行溝通,做到供需雙方對需求的認識嚴格一致;同時督促承制單位做好有效地需求管理機制,嚴格按照相關(guān)管理規(guī)定履行自己的監(jiān)督責(zé)任。
3.2 基于配置管理的監(jiān)督
軟件配置管理(SCM)是一種標識、組織和控制修改的技術(shù),應(yīng)用于整個軟件工程過程,其目的是使錯誤率降為最小并最有效的提高生產(chǎn)效率。軟件配置管理能夠幫助軟件開發(fā)人員管理和追蹤軟件開發(fā)環(huán)境中產(chǎn)生的變更,建立規(guī)范化的軟件開發(fā)環(huán)境,是確保軟件配置項完整性和正確性的重要手段。它關(guān)系到軟件開發(fā)研制工作的有效性、軟件產(chǎn)品的可用性和可信性。在整個軟件生命周期內(nèi),軟件配置管理要控制軟件配置項的發(fā)布和更改,記錄并報告配置的狀態(tài)和更改要求,驗證配置項的完整性和正確性,它貫穿于軟件開發(fā)和使用的整個過程。軍代表需監(jiān)督軟件承制單位對整個軟件生存周期內(nèi)的軟件配置項進行軟件配置管理。
①對軟件承制單位的建立及其軟件配置的管理進行有效監(jiān)督。軟件配置管理主要通過技術(shù)手段對開發(fā)流程和生命周期進行控制,以確保軟件在生命周期的各個階段都能得到精確的產(chǎn)品配置。在對軟件配置管理進行檢查時,要著重檢查軟件配置的標志、狀態(tài)、評價以及發(fā)行等。檢查軟件配置流程是否完整和流暢。②對軟件項目開發(fā)單位及實施“三庫”進行有效監(jiān)督。所謂“三庫”是指開發(fā)庫、受控庫和產(chǎn)品庫。在監(jiān)督時,要著重檢查“三庫”,確保其完整、齊全、準確。另外軟件的配置和文檔要求的落實也是檢查的重點。③對軟件項目需求與變更管理進行有效監(jiān)督。在航空軟件開發(fā)過程中,難免會出現(xiàn)需求變更。而需求變化勢必會對軟件的開發(fā)投入造成影響。因此,控制軟件需求變更,監(jiān)督軟件質(zhì)量管理很有必要。軍代表在監(jiān)督時,要重點監(jiān)督軟件開發(fā)單位的項目變更管理和執(zhí)行流程。
3.3 基于GJB5000A推進過程的監(jiān)督
我國在結(jié)合國外經(jīng)驗和本國實際的基礎(chǔ)上,制定出了航空軟件的標準。即2008年制定并頒布的GJB5000A《軍用軟件研制能力成熟度模型》標準。這一標準對我國國防軍用軟件標準進行了嚴格統(tǒng)一的限制,對保障我國軍用武器裝備質(zhì)量和提高軍隊作戰(zhàn)實力意義重大。該標準將軟件能力的成熟程度劃分為五個等級和22個關(guān)鍵過程域。模型等級越高,可以預(yù)計的軟件開發(fā)風(fēng)險越低,開發(fā)能力越高。為在裝備軟件研制單位推動軟件工程化實施,滿足GJB5000A的實施要求,在軟件工程化推進過程中軍代表應(yīng)重點關(guān)注以下幾個方面。
①選擇合適的方法與技術(shù)。其中主要包括軟件開發(fā)的一般原則、工作框架、開發(fā)策略和若干實用技術(shù),如生存周期模型、自頂向下方法、結(jié)構(gòu)化開發(fā)方法、面向?qū)ο蟮姆椒ā⑿枨蠊こ毯蜏y試技術(shù)等。②提供必要的工具與環(huán)境。軟件工程方法提供自動和半自動的軟件支撐環(huán)境,在提高生產(chǎn)效率和保證質(zhì)量方面收效明顯。③嚴格管理制度。軟件開發(fā)單位在開發(fā)研制過程中,一定要嚴格把關(guān),建立完備的管理機制,劃分責(zé)任區(qū),制定責(zé)任人,明確工作內(nèi)容。研制單位要根據(jù)實際需求成立相關(guān)的組織和管理部門,安排具體的軟件工程小組。各技術(shù)工作人員要各司其職,嚴把質(zhì)量關(guān)。
4 結(jié)束語
開發(fā)航空軟件是我國現(xiàn)代軍事建設(shè)的重要方面,其中軟件質(zhì)量是開發(fā)的關(guān)鍵。因此,做好軟件質(zhì)量的監(jiān)督與管理至關(guān)重要。航空軟件的質(zhì)量監(jiān)督與管理工作是一項大工程,必須謹慎對待,只有做好了前期策劃和后期執(zhí)行工作,才能確保軟件質(zhì)量,提升現(xiàn)代軍事裝備的整體戰(zhàn)斗力。
參考文獻:
[1]何國偉.軟件可靠性[M].北京:國防工業(yè)出版社,1998.
[2]謝干躍,張軍威.軍用軟件研制質(zhì)量管理分析[J].中國科技成果,2011,12.
[3]中國人民解放軍總裝備部.軍用軟件研制能力成熟度模型[Z].北京:中國人民解放軍總裝備部,2008.
[4]胡鳳,黃誠,唐周奇.航天產(chǎn)品軟件配置關(guān)鍵管理[J].航天標準化,2011,4.
[5]鄭剛.航空軟件測試技術(shù)探討[J].南昌高專學(xué)報,,2011(03).
[6]黃暉,王泉.航空軟件配置管理系統(tǒng)設(shè)計和關(guān)鍵技術(shù)研究[J].航空計算技術(shù),2010(04).
[7]王樹義,南建國,黃雷.航空軟件測試過程模型應(yīng)用研究[J].計算機測量與控制,2013(06).
[8]孫旭,楊順昆,劉斌.復(fù)雜航空軟件工程化綜合管理框架[J].現(xiàn)代電子技術(shù),2012(24).
作者簡介:
石永山(1969-),男,河北樂亭人,大學(xué)本科,高級工程師,研究方向:電子工程。