皇甫一江,王向敏,臧 勤,張玉喜
(1. 海軍裝備部裝備項目管理中心,北京100071;2. 中國船舶集團有限公司第八研究院,南京 211153)
隨著新時期軍事裝備需求不斷擴大,技偵領域出現設備種類多、軟件個性化與定制化需求不斷提升,傳統的“開發定型,批量裝備”的軟件開發方式已經不能滿足現代軍事裝備層出不窮的新需求。近年來民用市場“軟件即服務”的思想也逐步滲透到軍用領域的軟件生產中。所謂“軟件即服務”意味著軟件交付之后仍需要根據用戶的新需求不斷地升級完善,以便能更好地為客戶服務。因此,亟待需要一種利于敏捷開發、低代碼冗余度,并易于后期升級維護、低耦合度的構件化的軟件生產方式,其各功能構件可重復利用、靈活部署。本文利用基于構件[1]的軟件開發(Component-Based Software Development,CBSD)模式[2-3],開發技偵領域的雷達顯控終端軟件,并構建能快速搭建不同需求的開發軟件控制平臺。該技術可以減少軟件開發過程中大量的重復性工作,提高軟件生產率,降低開發成本,縮短開發周期。
基于構件的軟件開發是新一代的軟件開發的思路和方法。它是建立在軟件重用、軟件工程和分布式系統的基礎上提出的一種軟件開發方法。傳統的軟件開發就是按照需求編寫代碼,從而產生很多冗余,軟件開發的效率比較低。CBSD打破傳統的軟件開發思路,把每個相對獨立的功能抽象為一個構件,每個構件都有一個標準的接口。而這些構件又可以成為第3方的任務,可以通過定制、采購或自主開發獲得,就可以將軟件開發的任務分解。軟件開發人員只需要將這些構件搭建起來調試運行即可開發出新的軟件。
雷達顯示終端軟件主要實現態勢顯示、系統操控、故障檢測、表頁顯示、系統狀態顯示、數據分析、數據記錄回放、情報交互、數據及日志管理等功能,與其關系到的系統類型包括干涉儀偵測、時差偵測、拋物面被動偵測、數字陣列被動偵測、主動偵測等。
在構造的框架[4-6]中,主要按照領域模型建模。隨著對雷達領域的認識不斷地深入和精確,在框架開發過程中首先針對雷達系統需求進行分析,得到描述該雷達系統的共性領域模型和個性領域模型。在該領域模型基礎上進行領域設計,建立可以指導的框架設計。框架設計包括框架體系結構、擴展點和框架構件的設計,尤其關鍵的是個性領域設計以及框架的可復用性的擴展點設計。在實現階段,根據框架應用設計組裝應用構件,通過框架構件實現雷達顯示終端軟件共性領域模型,并根據不同的組裝需求實現擴展模式。該構架分解的構件如圖1所示。本系統根據功能和任務特性分解17個構件,其中4個構件是個性構件,即每個不同類型的設備具有不同的系統操控、故障檢測、系統狀態和使用手冊的個性的構件。但是,對于同一類型應用在不同設備上,該個性構件就具備復用性。

圖1 雷達顯控終端軟件相關的構件圖
構件是可復用的軟件組成部分,在系統中為實際存在的可更換部分。它實現特定的功能,其物理形態是符合工業標準(COM或COBAR等)的二進制可復用軟件模塊。圖1的構件在設計過程中符合如下的設計準則:
(1) 獨立性 構件必須是一個可以獨立配置的單元,必須具備自包容性;
(2) 封裝性 構件的實現是嚴格封裝的,要與環境和其他構件完全分離,這樣外界沒有機會或沒有必要知道構件內部的實現細節,從而體現面向對象編程的封裝性;
(3) 規范接口 構件在適當的環境下可以被重用,必須有規范的接口才可以被共享;
(4) 擴展性 在需求變動或新增需求時能夠基于該構件快速開發。
為了支持可重用構件庫的管理,定義可重用構件的屬性,具體如表1所示。將雷達顯示終端相關所有構件根據此標準輸入到構件庫中。
根據顯控終端軟件不同的應用需求,從構件庫中查找滿足系統功能、系統類型和應用領域的構件。如果被復用的構件不符合目標系統的軟件體系架構就可能導致該構件無法正常工作,甚至影響整個系統的運行。這種情況就會導致構件失配。這時需要采用開發工具進行構件更新,然后充分測試新構件以保證其正確工作后入構件庫。當調整構件滿足體系結構要求的行為時構件適配成功,再進行構件組裝,而構件的組裝由顯控終端軟件構建平臺(如圖2)完成,具體構建流程如圖3所示。

表1 可重用構件屬性表

圖2 顯控終端軟件構建平臺

圖3 顯控終端軟件構建處理流程圖
顯控終端軟件構建平臺是以可視化的方式來實現功能構件的參數設置(比如菜單構件的功能項設置、IP地址、窗口顯示位置、窗口是否顯示等)并生成對應的腳本文件,實現構件功能上的調整或刪減,最終達到終端軟件的布局和功能需求,再啟動雷達顯示終端應用框架,讀取腳本文件,構成新的顯控終端軟件。
為了雷達裝備的軟件可以繼承性地開發,無論顯控終端軟件還是數據處理軟件在軟件開發過程中都可以采用軟件構件的方式實現軟件重用。首先,在生產過程中要不斷地組織提煉共性軟件功能、優化應用框架;其次,不斷地進行構件的積累,并將它們組織成構件庫。這樣不僅利用構件的維護,而且也解決構件如何檢索、如何選取構件等問題。
利用顯控終端軟件構建平臺可以快速搭建一個新的雷達顯控終端軟件,同時將工作重點轉移到研發新構件。在此基礎上,軟件的靈活性和標準化程度也能得到進一步提高。