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

一種基于重用和快速開發的系統控制軟件架構設計

2018-10-21 15:12:00李俊孫潔晶
名城繪 2018年12期

李俊 孫潔晶

摘要:隨著裝備的發展,系統控制軟件規模越來越大,研制周期變短,多平臺并存,要求系統控制軟件能充分繼承重用已有項目成果,快速完成軟件研制。

關鍵詞:軟件架構;集成框架;組件;插件

1原有系統控制架構

原有系統控制架構通過集成模塊完成其它應用模塊的加載/卸載和集成,模塊間通過WINDOWS消息、回調、函數調用和共享內存交換等方式進行數據交互。

原系統控制架構在軟件重用、研制效率以及平臺適應方面存在以下不足:

(1)信息交互方式不統一。通過WINDOWS消息、回調、函數調用和共享內存交換等多種方式進行模塊間的信息交互,無統一的信息交互方式。降低了軟件模塊的重用效率。

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

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

2 系統控制軟件架構設計

2.1 架構需求

為實現系統控制軟件模塊高效重用和快速開發,系統控制軟件架構需具備以下特征:

(1)信息交互方式統一。信息交互方式主要指軟件模塊信息輸入輸出的方式,統一的信息交互方式可以將軟件模塊外部接口方式標準化,標準化接口便于軟件模塊直接復用集成。

(2)模塊層次化。系統控制軟件需實現軟件模塊不同粒度的復用,需構建多層次、不同粒度的軟件模塊/子模塊。同時,這種模塊構建方式便于將一個軟件模塊分解為多個子模塊,由多人并行開發并直接集成,支持快速開發。

(3)跨平臺適應能力。同時適應X86和國產化硬件平臺,以及WINDOWS和國產化操作系統,即軟件架構能同時運行在兩種硬件平臺和操作系統中。跨平臺適應能力將大幅提高軟件的重用率。

2.2軟件架構設計

基于系統控制架構需求,采用“集成框架&組件/插件”體制,設計了一種基于重用和快速開發的系統控制軟件架構,如圖1所示

整個系統控制軟件架構由跨平臺軟件集成框架、基礎層、核心層和應用層組成。

跨平臺軟件集成框架:提供一組框架目錄、執行程序、動態庫、配置文件和接口文件,能夠將基于此框架開發的“軟件模塊”通過配置文件快速集成為可執行程序,并能夠通過配置文件靈活配置界面布局。

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

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

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

c)日志文件:包括調試日志信息和軟件運行日志信息等。

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

應用層:由組件和插件構成,組件和插件的開發必須基于框架提供的接口類實現,才能夠被框架調用和集成,從而實現模塊間的信息傳遞,響應菜單事件等。一個組件可以包括多個插件。

2.2.1 工作流程

系統控制軟件架構工作流程如圖2所示。

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

2.2.2組件/插件實現機制

組件是一種“軟件模塊”的存在形式,以動態庫部署,可具有UI界面,也可只是后臺運行的動態庫。插件是一種“軟件模塊”的存在形式,以動態庫部署,是程序UI界面的劃分單元,可以僅僅是一個窗口,也可以是若干窗口的集合。組件和插件并沒有本質上的區別,都是被軟件框架調用集成的軟件模塊。唯一的區別可以描述為:組件比插件的功能模塊大一些,組件可以為純后臺運行動態庫,也可以是具有UI界面的動態庫,捕件只能是UI單元的動態庫,可以劃分成很小的粒度,當然“組件”和“插件”粒度的劃分沒有絕對統一的標準,基于的原則是軟件可復用度的考慮。

2.2.3跨平臺適應機制

軟件框架和組件/插件采用QT開發庫進行開發,QT開發庫對不同操作系統的應用程序接口進行了封裝,具有跨平臺特性,同時支持WINDOWS和國產操作系統。

同時,由于國產化硬件平臺采用非X86指令集,為同時適應X86和國產化硬件平臺,源代碼需在不同目標機上重新編譯。

3 結束語

目前,系統控制軟件架構具備統一的信息交互方式、多層次模塊構建能力、跨平臺適應能力、良好的外部框架適配能力、高效的模塊集成能力。已經在多個課題中進行了充分驗證,能夠實現軟件級、組件級、插件級的多層次高效重用和快速開發,將在后續系統控制軟件中推廣使用。

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

主站蜘蛛池模板: 亚洲AV无码不卡无码| 九色国产在线| 国产欧美日韩免费| 欧美精品影院| 亚洲无码精品在线播放| 女同久久精品国产99国| 性激烈欧美三级在线播放| 国产亚洲欧美在线中文bt天堂| 99在线视频网站| 在线高清亚洲精品二区| 久久午夜夜伦鲁鲁片无码免费| 国产亚洲欧美在线视频| AV老司机AV天堂| 伊人激情综合网| 女人18毛片水真多国产| 少妇露出福利视频| 亚洲成人www| 手机在线看片不卡中文字幕| 国产av剧情无码精品色午夜| 亚洲天堂精品视频| 中文字幕永久在线观看| 亚洲AV一二三区无码AV蜜桃| 国产人人乐人人爱| 国产精品免费电影| 国产无码网站在线观看| 黄色在线不卡| 欧美午夜在线观看| 毛片网站在线播放| 亚洲精品你懂的| 亚洲国产成熟视频在线多多| 四虎免费视频网站| 午夜日本永久乱码免费播放片| 欧美一级专区免费大片| 日本亚洲欧美在线| 国产午夜精品一区二区三| 一级一级特黄女人精品毛片| 精品国产乱码久久久久久一区二区| 伊人网址在线| 日韩av电影一区二区三区四区| 国语少妇高潮| 毛片a级毛片免费观看免下载| 亚洲日韩AV无码一区二区三区人| 免费A级毛片无码无遮挡| 亚洲欧洲美色一区二区三区| 国产精品对白刺激| 看av免费毛片手机播放| 国产高潮视频在线观看| 亚洲精品无码久久毛片波多野吉| 亚洲综合色婷婷中文字幕| 欧美色亚洲| 男人天堂亚洲天堂| 亚洲国产一区在线观看| 免费国产一级 片内射老| 亚洲一级毛片在线观| 亚洲va视频| 中文字幕在线免费看| 26uuu国产精品视频| 亚洲天堂精品视频| 亚洲中文精品人人永久免费| 色综合久久88色综合天天提莫| 国产成人一区二区| 最新精品国偷自产在线| 国产成人亚洲日韩欧美电影| 国产91丝袜在线播放动漫| 亚洲自偷自拍另类小说| 91福利免费视频| 久视频免费精品6| 综合色天天| 亚洲国产精品无码AV| 国产一二视频| 在线免费观看a视频| 久久精品娱乐亚洲领先| 久久精品66| 一级毛片基地| 极品私人尤物在线精品首页| 九九九精品视频| 久久亚洲AⅤ无码精品午夜麻豆| 亚洲中久无码永久在线观看软件| 无码专区在线观看| 99激情网| 国产精品私拍在线爆乳| 成·人免费午夜无码视频在线观看|