王洪鈺,孟慶鑫
(1華為軟件技術有限公司北京 100077)
(2中國電子科技集團公司電子科學研究院北京 100041)
關于任務電子系統(tǒng)軟件復用技術的探討
王洪鈺1,孟慶鑫2
(1華為軟件技術有限公司北京 100077)
(2中國電子科技集團公司電子科學研究院北京 100041)
特種飛機任務電子系統(tǒng)軟件的開發(fā)效率、質量是制約特種飛機機研制能力的因素之一,研究任務電子系統(tǒng)軟件的復用技術就是未來提高任務電子系統(tǒng)軟件的開發(fā)效率和軟件的質量;文中對任務電子系統(tǒng)軟件的復用現(xiàn)狀進行了分析,指出了影響任務電子系統(tǒng)軟件復用的技術因素,探討了實施任務電子系統(tǒng)軟件復用的方法,并以舉例的方式重點闡述了如何在工程領域內對復用的分析、構造可復用構件和建立軟件復用庫;最后,介紹了軟件沿用這種復用形式后,在工程實踐領域的應用。
任務電子系統(tǒng)軟件軟件復用組件技術
隨著“十二五”、“十三五”期間我國特種飛機需求的迅速增長,開展特種飛機任務電子系統(tǒng)的產品化工作,提高任務電子系統(tǒng)產品的成熟度和批生產能力,推行成熟產品的定性/鑒定,以成為提高特種飛機生產效率、保證特種飛機質量的重要措施。任務電子系統(tǒng)軟件作為一種特殊的特種飛機的產品,它的質量和開發(fā)效率直接影響著特種飛機的研制能力。因此,如何實現(xiàn)任務電子系統(tǒng)軟件的產品化,提高任務電子系統(tǒng)軟件的開發(fā)效率,是我們研究的一個重要內容。
任務電子系統(tǒng)軟件的特點決定了他不能通過簡單地固化狀態(tài)或定型的方法來實現(xiàn)產品化。目前,軟件行業(yè)內一般采取軟件復用的方法來解決重復開發(fā)、效率低下的問題。因此,本文就如何采用軟件復用技術來提高任務電子系統(tǒng)軟件的開發(fā)效率和質量,緩解多型任務電子系統(tǒng)軟件并行開發(fā)的壓力,進行一些探討。
軟件復用按照不同階段,軟件產品的抽象程度的高低,一般可分為代碼級的復用、分析的復用、設計的復用和測試信息的復用等類型。在任務電子系統(tǒng)軟件的開發(fā)過程中,這幾種類型的復用都涉及到了。但目前任務電子系統(tǒng)軟件的復用水平不高,主要體現(xiàn)在以下幾個方面:
①軟件復用基本上屬于開發(fā)人員的自發(fā)行為,而沒有事先經過策劃,因此隨意性很強,而且由于復用后的質量得不到保證,需要向對待新軟件一樣,進行全過程的驗證,主要指的是單元測試、配置項測試和系統(tǒng)測試。復用的效率得不到體現(xiàn);
于體系結構上的復用較少,復用主要是針對某個具體的函數或某段功能相同的源代碼進行,使得任務電子系統(tǒng)軟件復用的層次不高,范圍較窄;
③缺少可復用的高可靠任務電子系統(tǒng)軟件構件,可復用的資源太少。如果將復用性不高的模塊復用到任務電子系統(tǒng)軟件中,不但無法提供軟件質量,而且可能帶來新的問題。
通過對任務電子系統(tǒng)軟件的特點分析,我們認為影響任務電子系統(tǒng)軟件復用的技術因素主要體現(xiàn)在以下幾個方面:
①編程語言。任務電子系統(tǒng)軟件組成復雜,即包括實時的嵌入式軟件,也包括非實時的數據處理軟件和人機操作軟件。采用的語言包括非面向對對象的C語言、面向對象的VC++語言,復用起來有一定的難度;
于可靠性安全性要求。任務電子系統(tǒng)軟件中不允許出現(xiàn)“多余物”,即不允許有超出用戶需求中規(guī)定功能以外的功能,這使得軟件很難同時適用兩個或更多不同的需求;
③部分任務電子系統(tǒng)軟件在設計時,模塊化考慮的不夠,耦合度較大,使得復用的難度增大;
國產化設備移植。任務電子系統(tǒng)軟件基于國產化的硬件、應用軟件和操作系統(tǒng)的基礎上開發(fā),設備上差異也往往導致軟件的修改。
3.1 軟件復用方法
軟件復用的過程可以分為2個方面;應用者復用(Consumer Rsuse)和生產者復用(Producer Reuse)。應用者復用是指利用可復用構件去建立新的的軟件系統(tǒng)的活動;生產者復用是指建立、獲取或者重新設計可復用構件的活動[1]。
要實現(xiàn)任務電子系統(tǒng)軟件的復用,必須將2方面的工作結合起來,既要有可復用的構件,又要在新的系統(tǒng)中用這些構件。但是在現(xiàn)階段,我們認為主要的問題還是缺少可復用的構件,所以我們更應該重視生產者復用方面的工作。
生產者復用生命周期也是由3階段組成,分別為:領域需求識別、構造可復用組件和建立產品庫。其中領域需求識別是一個識別一組相關系統(tǒng)間共性和差異的過程。目前,對特定領域的軟件復用技術的研究是軟件復用技術的發(fā)展趨勢。特定領域軟件復用即在一定特定的應用領域中實現(xiàn)軟件復用,是提高軟件復用水平的有效途徑之一[2]。任務電子系統(tǒng)軟件復用就屬于特定領域的軟件復用。任務電子系統(tǒng)軟件按照所屬的分系統(tǒng)又可以細分成不同類型的軟件產品。對各個特定類型的軟件產片分別采用領域需求識別、構造可復用組件和建立產品庫的方法開展軟件復用煩人活動,是提高任務電子系統(tǒng)軟件復用水平,實現(xiàn)任務電子系統(tǒng)軟件產品化的有效途徑。采用上述方法復用的各階段主要活動和輸出如圖1所示。
圖1 階段主要活動和輸出
3.2 任務電子系統(tǒng)軟件復用實例
以任務電子系統(tǒng)軟件的重要組成部分之一的任務訓練模擬器系統(tǒng)軟件為例,對其實施基于領域工程的軟件復用實踐活動進行說明。
①領域需求識別:這個階段,需要對任務訓練模擬器系統(tǒng)軟件的領域進行定義,確定領域詞匯。在任務訓練模擬器系統(tǒng)軟件中,我們定義的領域為模擬訓練、總線通信、系統(tǒng)框架、導調控制、課題編輯和數據維護等等的功能項。
這些功能項的名稱即為領域詞匯。因此我們需要對每個詞匯進行具體的定義、說明。在完成領域定義后,確定了任務訓練模擬器系統(tǒng)軟件的領域詞匯后,重點對領域模型和領域的體系結構進行研究。提出任務訓練模擬器系統(tǒng)軟件的領域體系管理結構模型。結構模型如圖2所示。
圖2 系統(tǒng)體系架構
由圖2可知,任務訓練模擬器系統(tǒng)軟件模型可定義為操作系統(tǒng)、公用基礎、業(yè)務服務和應用交互4層[3]。
于構造可復用組件:這個是任務訓練模擬器系統(tǒng)軟件復用的核心工作。一個可復用的任務電子系統(tǒng)軟件應該是高質量的,這樣才能使它的潛在復用者有信心。
在構造有復用價值的組件的時候,一方面,我們需要對現(xiàn)在和過去的任務訓練模擬器系統(tǒng)軟件的開發(fā)經驗進行總結,提煉出有價值的組件,這是一個自底向上的過程;另一方面,需要我們對“十二五”、“十三五”期間可能存在的需求進行研究,發(fā)現(xiàn)最有復用前途的組件,這是個自頂向下的過程。因此,有效的組件提煉的方式是2者的結合使用。
一般來說,一個可復用的任務電子系統(tǒng)軟件組件應具備如下的特性:
①經過充分的驗證;
于模塊化;
③可靠性高;
④健壯性好;
⑤易于理解或具有豐富的文檔;
⑥能被廣泛的應用;
⑦可維護性好。
在構造任務訓練模擬器系統(tǒng)軟件組件的過程中,可以采取如下的方法:
①使用參數來使一個組件一般化。通過采用一組嵌入在組件中的參數來定制一個一般化的組件,當組件被復用的時候,用一組在允許范圍內的數值來代替參數,以實現(xiàn)組件內的不同處理;
于將復用的組件分為2部分設計。如果復用者能夠對組件進行任何程度的修改,則復用的效益可能會被抵消。因此,在設計時候,可以將組件定義為固定部分和可變的部分。固定的部分只能以“保持原狀”的形式復用,可變部分則允許在一定的范圍內修改。這樣,組件可以被看做一個可以“定制的”黑盒,給復用者帶來2方面好處。即黑盒復用的好處,易于理解和驗證;白盒復用的好處,快速適用每一次復用,能夠修改。
圖3給出了個構造一個可復用組件Bus_Driver總線組線的分層結構圖。
圖3 Bus_Driver總線組件分層模型
③建立產品庫:在已經擁有可復用組件后,還應保證設計開發(fā)人員能夠快速、容易地找到他們,并且能夠容易理解他們。這就是產品庫的主要作用。
產品庫是用來組織、存儲和管理可復用組件的。在建立軟件產品庫的同時,我們還需要建立配套的分類、檢索和復用的目錄,并對其進行有效的配置管理。產品庫中可根據管理的組件的特點,將組件分為3個等級。分別為:
①組件文檔齊套,并通過開發(fā)方測試和第三方測試,所發(fā)現(xiàn)的問題全部修改;
于在第1級的基礎上,組件經歷過1個型號的鑒定,沒有出現(xiàn)問題;
③在第2級的基礎上,組件經歷過2個型號的鑒定,沒有出現(xiàn)問題;
3.3 任務電子系統(tǒng)軟件沿用
軟件沿用是軟件工程化中的一個專用術語。他對應一種特殊的軟件復用形式,即對整個任務電子系統(tǒng)軟件產品不做任何修改的再次使用[4]。
在軟件沿用中,我們主要研究如何在確保任務電子系統(tǒng)軟件質量的前提下,最大化的減少重復的工作量、提高軟件開發(fā)效率。經過工程實踐的驗證,我們認為進行任務電子系統(tǒng)軟件沿用需要4個步驟。如圖4所示。
圖4 軟件沿用的審批流程
其中,軟件沿用可行性分析是軟件沿用中最重要的一步工作。他產生的結果是可行性分析報告,報告應闡述如下4方面的內容:
①沿用軟件的目標計算機的硬件環(huán)境、外圍環(huán)境與被沿用軟件的目標計算機硬件環(huán)境、外圍環(huán)境一致,或硬件環(huán)境、外圍環(huán)境的變化不會對軟件沿用產生影響;
于沿用軟件的用戶需求與被沿用軟件的用戶需求一致,或用戶需求的變化不會對軟件沿用產生影響;
③被沿用軟件的研制過程滿足軟件工程化的要求(含文檔、開發(fā)、測試、評審等幾個方面);
④被沿用軟件飛行過程中尚未發(fā)現(xiàn)問題,且不存在其他型號舉一反三涉及的問題。
被確定為沿用軟件的軟件產品,研制技術流程可以不包括需求分析、軟件設計、編碼、單元測試、軟件集成、配置項測試等工作,但必須進行系統(tǒng)測試。
隨著技術的發(fā)展和對任務電子系統(tǒng)軟件需求的快速增長,軟件復用已經成為任務電子系統(tǒng)軟件開發(fā)的必備手段。但我們也要同時看到,在軟件行業(yè)中有一個現(xiàn)象,就是實踐的現(xiàn)狀往往落后于技術發(fā)展的水平。因此,軟件的復用是一個漫長的過程。目前在任務電子系統(tǒng)軟件領域中的實踐,是一種有益的嘗試。
[1]MeClure C.軟件復用技術在系統(tǒng)開發(fā)過程中考慮復用[M].北京:機械工業(yè)出版社,1993
[2]于海泳.軟件復用機會的識別[J].微機發(fā)展,2004(12). 115-117.
[3]郭堅.一種星載軟件系統(tǒng)測試環(huán)境的設計[J].計算機測量與控制,2005,13(5).499-502.
[4]魏玉凡.裝備維修信息化系統(tǒng)研究[M].北京:中國電子科學研究院學報,2009.
Discussion on The Task of The Electronic System of The Software Reuse Technology
WANG Hong-yu1,MENG Qing-xin2
(1 Huawei Software Technology Co.,Ltd.Beijing 100077,China)
(2 China Academy of Electronics and Information Technology Beijing 100041,China)
The efficiency of software development,electronic system task special aircraft quality is one of the factors restricting the special aircraft development ability,study mission electronic system software reuse technology is the future to improve the quality of mission electronic system software development efficiency and software;analyses the current situation of software reuse task of electronic systems in this paper,it points out that the influence of technology factors mission electronic system of software reuse,and discusses methods of the task of implementing electronic system of software reuse,and by way of example and expounds how to in engineering analysis,to construct the reusable component reuse and establishment of the software reuse library;finally,introduced the software to use this form of reuse,application in engineering field.
engine;simulation;education;Solidworks;3DVIA compose
TP391.9
A
1008-1739(2015)06-68-4
定稿日期:2015-02-26