999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于插件式的軟件總線構件平臺的設計

2016-07-01 01:39:42桂林長海發展有限責任公司勞憲銀
電子世界 2016年10期

桂林長海發展有限責任公司 勞憲銀

?

基于插件式的軟件總線構件平臺的設計

桂林長海發展有限責任公司 勞憲銀

【摘要】本文開發的基于插件式的軟件總線構件平臺主要為電子對抗、指揮控制等軍用軟件搭建系統框架,滿足現代軍用軟件的開發周期短、可擴展性和可維護性強的迫切需求?;诓寮降能浖偩€構件平臺采用插件體系結構和軟件總線技術設計,該平臺的復用,可大大縮短軟件的開發周期,增強軟件的復用性、擴展性和維護性,同時可節省出傳統的軟件開發方法所開發的軟件在前期系統框架設計、后期軟件維護所需要投入的大量人力物力。

【關鍵詞】插件;軟件總線;復用;體系結構;Qt

1 平臺開發背景

傳統的電子對抗、指揮控制等軍用軟件通常都是單一模塊的執行程序,開發時往往采用自頂向下逐層細分劃分為單個小模塊進行開發。在出現新的需求時,由于軟件較為簡單,即使全部重新開發,也相對容易。然而,隨著計算機技術和軍用軟件應用的發展,軟件任務需求變得多樣化、復雜化,完整開發出一個軟件或系統需要大量的人力物力,需要很長的軟件開發周期,而且當前軟件更新換代的要求越來越頻繁,傳統的軟件開發方法在現代的復雜化、多樣化需求下顯得力不從心,所以我們需要尋找一種更好的軟件體系結構和開發方法。

基于插件式的軟件總線構件平臺是一種比較靈活、通用的軟件體系結構,它采用“平臺+插件”設計模式,將軟件通用功能和擴展機制的程序應用框架設計成平臺,而軟件其他功能分散到插件中來完成,插件可動態地加載到平臺上,也可被自由地卸載和替換。因此,它不但大大提高軟件開發的開發效率,降低設計開發難度,而且,縮短了軟件開發周期,增強了軟件的可運行性和可維護性。

2 平臺關鍵技術概述

2.1插件體系結構

插件是按照預定接口實現的軟件功能構件。軟件可在運行時動態加載插件并執行其功能。插件體系結構的軟件由一個插件管理平臺和多個完成子功能的插件組成,如圖1所示。

圖1 插件體系結構

插件管理平臺:主要實現軟件中的通用功能和擴展機制的程序應用框架,可以插入不同的插件,接受插件提供的服務并提供給用戶,是整個系統的基礎和主干。

插件:按照程序應用框架的規格要求實現軟件其他功能,并能夠動態地插入到軟件系統中,完善系統整體功能,是插件系統的重要組成部分。

接口:是使插件管理平臺和插件能夠互相結合工作而制定的一套標準和協議,它是一個邏輯上的接口,由插件管理平臺和插件各完成一部分,它們共同完成插件的加載、調用、卸載以及插件管理平臺與插件以及插件與插件之間的交互,是插件系統中的重要組成部分。

2.2軟件總線技術

軟件總線是一條虛擬的數據傳輸線,是硬件總線的映射,是軟件系統中各構件的集成框架。它為系統內各構件之間的信息交換提供虛擬的公共數據通道和接口服務。只要符合其所制定的接口標準的構件都能夠實現即插即用。

對軟件總線的設計主要考慮4個基本要素:模塊間的數據通信、構件的調度和管理策略、軟件總線的管理策略、軟總線和構件庫的接口策略。針對軟件總線設計應解決的基本要素,軟件總線的設計應實現以下4個功能模塊:

數據通信模塊:該模塊主要用于協調各個“接插”在軟件總線上的由不同語言編寫、不同環境下運行、不同開發商提供的異夠構件之間的信息交互。

構件調度模塊:該模塊主要通過軟件總線實現對構件的調用、安裝、卸載,完成對構件庫的管理。

總線管理模塊:該模塊主要實現操作系統與構件庫間通信和數據交換、數據傳遞的合理分配和控制使用。

接口控制模塊:該模塊主要用來解決軟件總線和構件的接口問題,完成構件同軟件總線間的信息交互,實現操作系統對構件庫的管理和控制、構件之間的互相通信、數據和信息的傳送。

軟件總線的總體結構框架如圖2所示。

圖2 軟件總線框架

3 平臺需求分析

本文開發的基于插件式的軟件總線構件平臺主要為電子對抗、指揮控制等軍用軟件搭建系統框架,提供插件管理、總線通信、界面布局管理等功能,實現系統中必需的通用功能和擴展機制的程序應用框架。

3.1插件管理

插件管理主要提供以下幾方面的功能:

插件的注冊和反注冊。插件在使用前需要注冊,例如ActiveX控件,必須注冊才能使用。插件只有成功注冊后,平臺才能正確找到插件的路徑,并對其初始化。平臺可以對已注冊但當前不再的插件進行反注冊。

插件的加載和卸載。平臺能夠根據用戶的需求,可對已注冊但暫時不需使用的插件進行加載或卸載。

插件基本信息的顯示。平臺能顯示插件的版本、版權等信息。

3.2總線通信

實現插件之間的通信管理功能。為整個系統的運行提供全面的通信能力。

3.3界面布局管理

實現系統界面的管理功能。為整個系統的界面配置及控制提供管理能力。

4 平臺整體結構設計

平臺主要由插件管理子系統、總線通信管理子系統、界面布局子系統組成。平臺整體結構設計如圖3所示。

圖3 平臺整體結構

平臺總體框架設計如圖4所示,平臺基于插件形式設計,插件間的通信主要由總線通信子系統實現,界面布局管理子系統以插件形式加載到平臺,由插件管理子系統對插件進行管理。核心插件(Core Plugin)負責整個平臺界面的初始化工作,界面的布局由界面管理子系統負責。

圖4 平臺總體框架

5 平臺功能結構設計

5.1插件管理子系統設計

插件管理子系統的工作原理如圖5所示,插件管理器在加載插件之前首先獲取插件的描述信息,判斷插件是否正確,減少了直接加載插件發生錯誤時的系統開銷。在插件初始化的過程中,插件管理器需要將插件注冊對象添加到公共對象池中供其他插件使用。插件管理器接收到插件卸載信號時,會修改插件的狀態信息,并將該插件注冊的對象從公共對象池列表中刪除。插件管理子系統負責插件的加載、卸載及維護插件的狀態信息,插件的狀態包括Invalid, Read, Resolved,Loaded, Initialized, Running, Stopped, Deleted等八個狀態,Invalid:起始點,還沒有讀取插件的元數據。Read:插件的元數據被成功讀取,且其信息可通過PluginSpec取得。Resolved:description文件給出的依賴項被成功找到,且可以通過dependencySpecs()函數獲得。Loaded:插件的庫被加載且插件實例被創建(通過plugin())。Initialized:插件的實例的IPlugin:initialize()函數被調用,返回成功。Running:插件的依賴項被成功initialized和extensionsInitialized,加載過程完成。Stopped:插件被關閉,例如插件的IPlugin:aboutToShutdown()函數被調用之后。Deleted:插件的實例對象被釋放。

圖5 插件管理子系統工作原理

5.2總線通信管理子系統設計

平臺以插件的形式實現其功能,以總線的方式實現功能上的擴展。插件之間需要進行通信才能實現協同合作和真正意義上的功能擴展。總線通信管理子系統主要負責插件之間的通信管理,其工作原理如圖6所示,插件之間主要通過Qt的信號和槽機制進行通信,當某個插件plugin1請求與另一個插件plugin2進行通信時,plugin1將發射一個信號,如果plugin2有效則會接收到該信號并執行相應的操作,如果plugin2無效,那么通過插件管理子系統維護的插件狀態信息獲取plugin2的狀態,返回失敗信息。

圖6 總線通信管理子系統工作原理

5.3界面布局管理子系統設計

界面布局管理子系統的工作原理如圖7所示,軟件的界面布局管理主要由核心插件(Core Plugin)負責,核心插件提供ActionManager 和ModernManager兩個類,布局管理器ActionManager類負責菜單、菜單欄、鍵盤快捷鍵的注冊并記錄它們的布局;而ModeManager類負責平臺主界面上提供的FancyTabWidget工具欄上控件的添加、顯示以及控件的切換事件的處理。核心插件(Core Plugin)記錄各個插件對象及它們的布局信息,通過connect進行連接,接收對象布局改變信號,并進行相應的處理,然后更新界面布局,修改布局記錄。

圖7 界面布局管理子系統工作原理

6 總結

該平臺主要采用插件式的軟件總線設計方法進行開發,代碼使用Qt和C++進行編寫,使用面向對象開發方法的思想,按照系統需求分析、系統功能設計、系統技術實現的步驟循序漸進,平臺采用“平臺+插件”的設計模式,復用性強,易于維護和擴展。

參考文獻

[1]Jasmin Blanchette,Mark Summerfield.C++ G UI Qt 4編程(第二版)[M].北京:電子工業出版社.2011:15.

[2]王光平.OO軟件總線研究[J].計算機工程與應用,2000,36(3):39-40.

[3]劉毅,陳慧蓉,榮鋼.Plug-in結構應用程序設計[J].計算機應用,2002,22(4):9-14.

[4]劉佳,王麗宏,孫克寧.插件技術在控制系統中的應用[J].計算機應用研究,2004:117-119.

主站蜘蛛池模板: 成人噜噜噜视频在线观看| 国产成人毛片| 国产经典在线观看一区| 一级做a爰片久久毛片毛片| 国产网站免费看| 久久精品人人做人人综合试看| 国内精品久久九九国产精品| 青草视频久久| 国产乱子伦一区二区=| 九月婷婷亚洲综合在线| 欧洲免费精品视频在线| 国产午夜一级毛片| 成人免费黄色小视频| 国产 在线视频无码| 国产精品一线天| 亚洲精品在线91| 婷婷综合缴情亚洲五月伊| 波多野结衣AV无码久久一区| 久久久久人妻一区精品色奶水| 国产乱人免费视频| 日韩a级毛片| 丰满人妻被猛烈进入无码| 91在线播放免费不卡无毒| 老司机午夜精品网站在线观看 | 激情午夜婷婷| 午夜福利在线观看成人| 99热国产这里只有精品无卡顿"| 国内视频精品| 成人另类稀缺在线观看| 久久人搡人人玩人妻精品| 国产91av在线| 午夜精品一区二区蜜桃| av一区二区三区在线观看| 欧洲一区二区三区无码| 一级毛片a女人刺激视频免费| 国产色网站| 国产真实乱了在线播放| 沈阳少妇高潮在线| 欧美一区二区三区欧美日韩亚洲| 久久美女精品| 日本高清免费不卡视频| 免费高清毛片| 欧美日韩导航| 亚洲无码视频图片| 中文字幕永久在线观看| 亚洲精品日产精品乱码不卡| 亚洲自偷自拍另类小说| 日韩AV手机在线观看蜜芽| 欧美在线黄| 国产无码在线调教| 老司机久久精品视频| 色一情一乱一伦一区二区三区小说| aⅴ免费在线观看| 成人在线观看一区| 国产精品一区二区国产主播| 亚洲黄色高清| 波多野结衣二区| 99这里精品| 免费在线播放毛片| 日韩麻豆小视频| 中文字幕天无码久久精品视频免费 | 尤物午夜福利视频| 五月婷婷综合色| 超级碰免费视频91| 在线五月婷婷| 日本一本正道综合久久dvd| 米奇精品一区二区三区| 国产在线无码一区二区三区| 日韩色图区| 色综合成人| 自偷自拍三级全三级视频| 2022精品国偷自产免费观看| 久久黄色免费电影| 制服丝袜 91视频| 日韩乱码免费一区二区三区| 高潮毛片无遮挡高清视频播放| 国产精品无码影视久久久久久久 | 久久女人网| 国产毛片高清一级国语 | 久久久久久久97| 99在线小视频| 国产在线98福利播放视频免费|