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.

主站蜘蛛池模板: 伊人色综合久久天天| 成人夜夜嗨| 日本少妇又色又爽又高潮| 伊人成人在线| 九九九精品成人免费视频7| 国产乱人视频免费观看| jijzzizz老师出水喷水喷出| 91福利免费视频| 亚洲无码一区在线观看| 国产一级α片| 香蕉eeww99国产精选播放| 欧美一区精品| 久久青青草原亚洲av无码| 97国产在线视频| 伊人AV天堂| 国产欧美日韩专区发布| 在线视频亚洲欧美| 成人午夜天| 欧美色99| 国产精品精品视频| 亚洲第一黄色网| 国产精品女人呻吟在线观看| 国产av无码日韩av无码网站 | 久久综合亚洲色一区二区三区| 尤物在线观看乱码| 黄色网址手机国内免费在线观看| 日本一本正道综合久久dvd| 久久无码高潮喷水| 亚洲av无码成人专区| 国产亚洲高清视频| 亚洲日本www| 免费视频在线2021入口| 亚洲黄色成人| 一区二区在线视频免费观看| 国产香蕉一区二区在线网站| 欧美精品1区2区| 日韩中文无码av超清| 国产在线拍偷自揄观看视频网站| 国产精品综合久久久| 无码中文字幕加勒比高清| 国产亚洲精品自在线| 国产aⅴ无码专区亚洲av综合网| a欧美在线| 青青操国产视频| 中文成人在线视频| 亚洲天堂777| 亚洲福利一区二区三区| 91偷拍一区| 狠狠做深爱婷婷综合一区| 婷婷丁香在线观看| 国产精品永久不卡免费视频 | 国产拍在线| 亚洲天堂日韩在线| 亚洲,国产,日韩,综合一区| 国产精品久久久久久久久kt| 国产在线小视频| 色综合成人| 日韩在线中文| 一区二区在线视频免费观看| 国产精品亚洲精品爽爽| 永久在线精品免费视频观看| 亚洲熟女中文字幕男人总站| 国产日韩精品欧美一区灰| 蜜桃视频一区二区| 亚洲资源站av无码网址| 欧美、日韩、国产综合一区| 呦女亚洲一区精品| 国产成人精品亚洲77美色| 青青青国产在线播放| 毛片免费观看视频| 国产精品欧美激情| 国产精品亚欧美一区二区| 爱色欧美亚洲综合图区| 亚洲国产日韩在线观看| 国产特一级毛片| 亚洲人成网站在线观看播放不卡| 91色国产在线| 亚洲精品老司机| 国产精品视频系列专区| 久久国产精品娇妻素人| 91无码人妻精品一区| 美女被操91视频|