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