王超 馬文希
摘 要:顯示控制軟件是一種實時復雜信息與控制系統,由于顯示控制軟件開發面臨著需求不確定、技術環境快速變化等特點,軟件框架技術是實現軟件復用的有效途徑,一個良好的軟件框架,可以節省開發成本,提高系統可靠性、擴展性以及一致性。
關鍵詞:雷達顯示控制軟件;框架設計;面向對象框架;基于構架的框架
1 顯示控制軟件概述
傳統的雷達顯示終端所使用的為硬件設備,成本比較高,擴展和升級比較困難,隨著軟件技術、信息技術和圖像處理技術的飛速發展,利用通用計算機取代雷達顯示與控制終端成為必然的趨勢。通用計算機的雷達顯示系統由于其開發周期短、成本低、移植性好、通用性好、軟件調試方便,以后的發展空間肯定特別大。由于顯示控制軟件具有不同格式信息接收、不同類型信息處理、不同任務的態勢顯示以及不同的任務命令等特點,使得顯示控制軟件的復用比較困難。
顯示控制軟件智能化程度越高,武器的效能越好,這是一個共識。一個營級高射炮陣地,實現了火炮與雷達聯動的,戰斗效能比不聯動的要好很多,高炮與雷達聯動以后,射擊諸元自動注入高炮,高炮自動改變炮管指向,自動根據大氣數據調整射擊參數,敵機一來就開火,這整個過程不會超過幾秒的時間。而不聯動的話,射擊諸元要靠口令來傳遞,炮手收到參數后手工調整,短時間內不能解決個事情。所以顯示控制軟件作為雷達的重要組成部分,技術方面有很大的提升必要。
2 軟件框架技術概述
軟件框架技術是實現軟件復用的有效途徑,一個良好的軟件框架,可以節省開發成本,提高系統可靠性、擴展性以及一致性。軟件框架是面向特定領域的,是對特定領域中系統功能的設計與實現,將應用領域中的功能進行分割,將主要責任和類與對象的協作關系進行定義,是支持軟件設計復用和實現軟件功能開發與復用的技術。
框架設計、開發和使用主要有兩種:面向對象的框架和基于構件的框架。面向對象的構架是通過框架中的抽象類進行特殊化方式類定義框架行為來實現復用,抽象類派生子類,并在子類中明確所有純虛方法的具體實現,進而就可以復用子類調用具體方法來開發特定的應用系統,面向對象是基于繼承的框架,也稱為白盒框架。基于構件的框架是將基于繼承的面向對象框架通過用構件接口的方法的調用來替換對象類中方法的重用,基于構件的框架不關心方法的調度過程,是一個完全解耦過程。基于構件的框架由相互協作的構件組成,并通過對構件接口的擴展來實現應用系統。
軟件框架是由其中的各個模塊組成的,每個模塊負責特定的功能,模塊與模塊之間相互協作來完成軟件開發。框架的最大特征是它會接管程序的主控制流,開發者只需編寫業務邏輯代碼,具體執行工作由框架來調用。實踐中經常會用到控制反轉以及模板類繼承等方式。
軟件框架具有以下特點:1.代碼模板化。每個框架都有自己的使用規范,如:創建類、接口等的規范;2.重用性、通用性。不分行業、不分業務,只要功能相似就可以稍加修改即可使用;3.高內聚(封裝)。各種基礎的功能都封裝好了,只需要在使用的時候調用就可以。無需關注底層實現原理;4.可擴展、可維護。框架的使用都有約定俗稱的操作規范,無論任何人使用,只要按照規范操作,就可以輕松使用。對于其他人的代碼也能很容易的看懂。并且很多開源框架都可以可以進行二次開發的,這也滿足了很多公司的特殊功能需求。
3 顯示控制軟件基于軟件框架技術的分析
顯示控制軟件是一種實時復雜信息與控制系統,由于顯示控制軟件開發面臨著需求不確定、技術環境快速變化等特點,實現大部分功能軟件的重用難以設計與開發,顯示控制軟件的功能主要包括三個方面:第一個是信息的接收與發送,接收各類目標、導彈、各分系統狀態、控制指令等信息;第二,信息綜合顯示與控制,包括地理信息、目標狀態、裝備能力等通過態勢、表頁等形式的實時刷新顯示,面向各類任務的信息顯示控制等;第三,作戰指揮控制,向各類武器發送目標指示及指揮命令,接收各武器系統狀態,接收各武器系統武器指向信息等。
顯示控制軟件的基本功能繁多,實現顯示控制軟件復用,需要采用框架技術進行技術體制與功能構件設計。信息包括接收和發送、信息緩存刷新、目標、人機界面、狀態信息以及功能構件。針對顯示控制軟件功能特性分析,具備能夠對功能間信息調度管理的功能,具體包括定義消息、命令、繪制、定時等通用接口,實現功能間的解耦,針對顯示控制軟件信息可視化功能,規范可視化手段,;針對顯示控制軟件依賴圖形繪制,具備標繪基本功能,實現圖形繪制與管理功能,,針對顯示控制軟件信息中主要是目標信息,需要具備針對目標的數據組織、顯示交互等功能,實現基于標繪構件的動目標顯示功能。
設計框架要注意以下幾點:(1)框架是常見開發的最佳實踐的抽象,目的在于提高開發效率;(2)框架的應該感覺自然 idiomatic,即與相應語言的風格保持一致;(3)框架通過抽象使常見的開發變得便利;(4)抽象需要鼓勵最佳實踐的使用;(5)提供默認的最佳實踐使用,比提供選擇更加重要;(6)抽象需要盡量避免泄漏;(7)提供底層訪問能力,讓開發者可以在需要的時候能夠繞過默認綁定的最佳實踐,去實現特定邏輯;(8)框架應該提供可定制能力,讓開發者可以針對具體業務鼓勵更多的最佳實踐;(9)框架的實現應該盡可能透明,讓開發者能夠了解其內部實現方式;(10)框架的文檔比實現重要。
Qt擁有一整套全面的高度直觀和模塊化的C++庫類和API,可簡化應用程序開發。具有高運行時性能的高可讀性,易于維護和可重用的代碼使其成為有史以來最佳的跨平臺框架之一。使用Qt的企業包括德國漢莎航空公司(Lufthansa Technik),克拉里烏斯(Clarius),費森尤斯(Fresenius)等。選擇Qt進行跨平臺應用程序開發的主要原因:1.同類最佳的收費標準,2.自己的跨平臺IDE,3.豐富的基礎啟用程序集,4.框架附加組件,5.C,C++,Python,Javascript等。目前很多都在利用QT進行顯示控制軟件的開發與設計工作。
顯示控制軟件具有的特性包括:高速圖形處理、實時通訊、方便的用戶界面、高可靠性、安全性。通過軟件框架設計可以方便的實現顯示控制軟件的特性。
參考文獻:
[1]劉小雙,李建平 等.基于雷達顯控終端的高級GUI技術研究[D].電子科技大學,2006.
[2]董軍鵬,李白萍 等.雷達顯示控制終端關鍵技術研究[D].西安科技大學,2008.
[3]冉晉紅,杜程,李昕 等.顯示控制軟件設計與實現中幾個關鍵技術的探討[D].中國航天工業總公司二院二零四所,1992.