• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于重用和快速開發(fā)的系統(tǒng)控制軟件架構(gòu)設(shè)計(jì)

      2018-10-21 15:12:00李俊孫潔晶
      名城繪 2018年12期
      關(guān)鍵詞:插件組件

      李俊 孫潔晶

      摘要:隨著裝備的發(fā)展,系統(tǒng)控制軟件規(guī)模越來越大,研制周期變短,多平臺(tái)并存,要求系統(tǒng)控制軟件能充分繼承重用已有項(xiàng)目成果,快速完成軟件研制。

      關(guān)鍵詞:軟件架構(gòu);集成框架;組件;插件

      1原有系統(tǒng)控制架構(gòu)

      原有系統(tǒng)控制架構(gòu)通過集成模塊完成其它應(yīng)用模塊的加載/卸載和集成,模塊間通過WINDOWS消息、回調(diào)、函數(shù)調(diào)用和共享內(nèi)存交換等方式進(jìn)行數(shù)據(jù)交互。

      原系統(tǒng)控制架構(gòu)在軟件重用、研制效率以及平臺(tái)適應(yīng)方面存在以下不足:

      (1)信息交互方式不統(tǒng)一。通過WINDOWS消息、回調(diào)、函數(shù)調(diào)用和共享內(nèi)存交換等多種方式進(jìn)行模塊間的信息交互,無統(tǒng)一的信息交互方式。降低了軟件模塊的重用效率。

      (2)模塊化程度不夠。單個(gè)軟件模塊雖可以分解成更多子模塊,但子模塊的集成完全依賴代碼實(shí)現(xiàn),集成效率低。為提高集成效率,原系統(tǒng)控制架構(gòu)的軟件模塊劃分粒度較大。這種大粒度的模塊難以在后續(xù)項(xiàng)目中復(fù)用。

      (3)平臺(tái)適應(yīng)性單一。只支持X86和WINDOWS操作系統(tǒng),不支持國產(chǎn)化硬件平臺(tái)和操作系統(tǒng),不具備跨平臺(tái)運(yùn)行能力。在這種架構(gòu)下,原有軟件模塊只能應(yīng)用于WINDOWS操作系統(tǒng),而后續(xù)很多裝備都要求采用國產(chǎn)化操作系統(tǒng),原有軟件模塊的復(fù)用度越來越低。

      2 系統(tǒng)控制軟件架構(gòu)設(shè)計(jì)

      2.1 架構(gòu)需求

      為實(shí)現(xiàn)系統(tǒng)控制軟件模塊高效重用和快速開發(fā),系統(tǒng)控制軟件架構(gòu)需具備以下特征:

      (1)信息交互方式統(tǒng)一。信息交互方式主要指軟件模塊信息輸入輸出的方式,統(tǒng)一的信息交互方式可以將軟件模塊外部接口方式標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化接口便于軟件模塊直接復(fù)用集成。

      (2)模塊層次化。系統(tǒng)控制軟件需實(shí)現(xiàn)軟件模塊不同粒度的復(fù)用,需構(gòu)建多層次、不同粒度的軟件模塊/子模塊。同時(shí),這種模塊構(gòu)建方式便于將一個(gè)軟件模塊分解為多個(gè)子模塊,由多人并行開發(fā)并直接集成,支持快速開發(fā)。

      (3)跨平臺(tái)適應(yīng)能力。同時(shí)適應(yīng)X86和國產(chǎn)化硬件平臺(tái),以及WINDOWS和國產(chǎn)化操作系統(tǒng),即軟件架構(gòu)能同時(shí)運(yùn)行在兩種硬件平臺(tái)和操作系統(tǒng)中??缙脚_(tái)適應(yīng)能力將大幅提高軟件的重用率。

      2.2軟件架構(gòu)設(shè)計(jì)

      基于系統(tǒng)控制架構(gòu)需求,采用“集成框架&組件/插件”體制,設(shè)計(jì)了一種基于重用和快速開發(fā)的系統(tǒng)控制軟件架構(gòu),如圖1所示

      整個(gè)系統(tǒng)控制軟件架構(gòu)由跨平臺(tái)軟件集成框架、基礎(chǔ)層、核心層和應(yīng)用層組成。

      跨平臺(tái)軟件集成框架:提供一組框架目錄、執(zhí)行程序、動(dòng)態(tài)庫、配置文件和接口文件,能夠?qū)⒒诖丝蚣荛_發(fā)的“軟件模塊”通過配置文件快速集成為可執(zhí)行程序,并能夠通過配置文件靈活配置界面布局。

      基礎(chǔ)層:由界面配置文件、組件/插件配置文件和日志文件等組成。

      a)界面配置文件:用于設(shè)置組件/插件窗口標(biāo)題、啟動(dòng)界面名稱等顯示屬性,以及單實(shí)例控制和顯示方式等。

      b)組件/插件配置文件:組件加載配置文件,包含了框架需要加載的各個(gè)組件的動(dòng)態(tài)庫名稱、簡要信息、加載順序、目錄名稱和組件UI配置文件名稱;組件UI配置文件,用于配置菜單、工具欄、視圖等;插件配置文件,用于配置窗口主界面的布局組成,可分為主視圖、標(biāo)簽視圖、切分視圖等組成,布局為任意界面。

      c)日志文件:包括調(diào)試日志信息和軟件運(yùn)行日志信息等。

      核心層:包括界面管理器和消息中心,界面管理器負(fù)責(zé)布局管理和事件響應(yīng);布局管理負(fù)責(zé)菜單欄、狀態(tài)欄和主界面的初始化,主界面可由組件和插件布局完成;事件響應(yīng)用于處理菜單欄中各菜單項(xiàng)的響應(yīng)事件,負(fù)責(zé)分發(fā)到相應(yīng)的組件或插件中進(jìn)行處理。消息中心:包括注冊管理和消息分發(fā)兩部分,注冊管理記錄了被加載的各個(gè)軟件模塊,即插件和組件對(duì)應(yīng)ID到模塊指針的映射,便于根據(jù)ID索引;消息分發(fā)用于軟件模塊間的內(nèi)部通信,負(fù)責(zé)分發(fā)消息到指定模塊,完成信息交互功能。

      應(yīng)用層:由組件和插件構(gòu)成,組件和插件的開發(fā)必須基于框架提供的接口類實(shí)現(xiàn),才能夠被框架調(diào)用和集成,從而實(shí)現(xiàn)模塊間的信息傳遞,響應(yīng)菜單事件等。一個(gè)組件可以包括多個(gè)插件。

      2.2.1 工作流程

      系統(tǒng)控制軟件架構(gòu)工作流程如圖2所示。

      a)配置文件讀?。很浖蚣茏x取基礎(chǔ)層的界面配置文件、組件/插件配置文件,獲取組件/插件標(biāo)題、名稱、加載順序和界面布局配置等信息。b)組件/插件加載:軟件框架按照配置文件的順序加載完成組件/插件。c)組件/插件初始化:組件/插件完成業(yè)務(wù)功能初始化。d)消息訂閱:組件/插件通過消息中心的注冊管理,完成消息訂閱。e)界面布局:軟件框架通過界面管理器的布局管理,完成組件/插件界面布局。f)數(shù)據(jù)交互:組件/插件間通過消息訂閱發(fā)布機(jī)制進(jìn)行數(shù)據(jù)交互。g)事件響應(yīng):組件/插件接收事件通知,響應(yīng)各種操作事件,觸發(fā)相應(yīng)處理。h)軟件退出:軟件框架反序卸載加載組件/插件。

      2.2.2組件/插件實(shí)現(xiàn)機(jī)制

      組件是一種“軟件模塊”的存在形式,以動(dòng)態(tài)庫部署,可具有UI界面,也可只是后臺(tái)運(yùn)行的動(dòng)態(tài)庫。插件是一種“軟件模塊”的存在形式,以動(dòng)態(tài)庫部署,是程序UI界面的劃分單元,可以僅僅是一個(gè)窗口,也可以是若干窗口的集合。組件和插件并沒有本質(zhì)上的區(qū)別,都是被軟件框架調(diào)用集成的軟件模塊。唯一的區(qū)別可以描述為:組件比插件的功能模塊大一些,組件可以為純后臺(tái)運(yùn)行動(dòng)態(tài)庫,也可以是具有UI界面的動(dòng)態(tài)庫,捕件只能是UI單元的動(dòng)態(tài)庫,可以劃分成很小的粒度,當(dāng)然“組件”和“插件”粒度的劃分沒有絕對(duì)統(tǒng)一的標(biāo)準(zhǔn),基于的原則是軟件可復(fù)用度的考慮。

      2.2.3跨平臺(tái)適應(yīng)機(jī)制

      軟件框架和組件/插件采用QT開發(fā)庫進(jìn)行開發(fā),QT開發(fā)庫對(duì)不同操作系統(tǒng)的應(yīng)用程序接口進(jìn)行了封裝,具有跨平臺(tái)特性,同時(shí)支持WINDOWS和國產(chǎn)操作系統(tǒng)。

      同時(shí),由于國產(chǎn)化硬件平臺(tái)采用非X86指令集,為同時(shí)適應(yīng)X86和國產(chǎn)化硬件平臺(tái),源代碼需在不同目標(biāo)機(jī)上重新編譯。

      3 結(jié)束語

      目前,系統(tǒng)控制軟件架構(gòu)具備統(tǒng)一的信息交互方式、多層次模塊構(gòu)建能力、跨平臺(tái)適應(yīng)能力、良好的外部框架適配能力、高效的模塊集成能力。已經(jīng)在多個(gè)課題中進(jìn)行了充分驗(yàn)證,能夠?qū)崿F(xiàn)軟件級(jí)、組件級(jí)、插件級(jí)的多層次高效重用和快速開發(fā),將在后續(xù)系統(tǒng)控制軟件中推廣使用。

      (作者單位:南京擎天科技有限公司)

      猜你喜歡
      插件組件
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      自編插件完善App Inventor與樂高機(jī)器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      U盾外殼組件注塑模具設(shè)計(jì)
      橋梁組件搭配分析
      中國公路(2017年16期)2017-10-14 01:04:56
      基于jQUerY的自定義插件開發(fā)
      軟件(2016年6期)2017-02-06 00:28:36
      MapWindowGIS插件機(jī)制及應(yīng)用
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      基于Revit MEP的插件制作探討
      16%——Manz再度刷新CIGS光伏組件轉(zhuǎn)換效率世界紀(jì)錄
      太陽能(2015年5期)2015-02-28 17:08:47
      道真| 常德市| 日土县| 广州市| 禄劝| 唐河县| 屏山县| 柳州市| 洪江市| 兰考县| 龙胜| 饶阳县| 酉阳| 泰兴市| 新巴尔虎左旗| 靖江市| 霸州市| 新兴县| 宣威市| 绿春县| 军事| 那坡县| 白朗县| 吉安市| 尼玛县| 驻马店市| 罗山县| 邵阳市| 湾仔区| 长顺县| 云安县| 黄浦区| 盐源县| 昔阳县| 茶陵县| 定西市| 阿鲁科尔沁旗| 清丰县| 枣强县| 英吉沙县| 苏州市|