• 
    

    
    

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

      軍用軟件組件化設(shè)計(jì)方法研究

      2019-09-11 02:56:44
      微處理機(jī) 2019年4期
      關(guān)鍵詞:調(diào)用公共服務(wù)組件

      邵 剛

      (南京模擬技術(shù)研究所,南京210016)

      1 引 言

      隨著我軍信息化水平的不斷提高,軍用軟件的種類、規(guī)模和數(shù)量空前增長(zhǎng),軟件作為信息化建設(shè)的核心,在武器裝備、組織訓(xùn)練中發(fā)揮的作用日益凸顯。運(yùn)用傳統(tǒng)設(shè)計(jì)方法開(kāi)發(fā)的軟件產(chǎn)品擴(kuò)展性和適應(yīng)性差[1],無(wú)法適應(yīng)部隊(duì)軍事訓(xùn)練需求的快速變化,繼而會(huì)因無(wú)法跟隨最新要求而被快速淘汰。然而新研或升級(jí)相關(guān)軟件產(chǎn)品的工作量巨大,無(wú)法兼顧部隊(duì)實(shí)戰(zhàn)化的訓(xùn)練需求。近年來(lái)實(shí)裝部隊(duì)和訓(xùn)練基地使用的軍用軟件種類繁多,各自獨(dú)立設(shè)計(jì),互無(wú)聯(lián)系,缺乏統(tǒng)一標(biāo)準(zhǔn),既不利于信息系統(tǒng)的可持續(xù)發(fā)展,也無(wú)法充分發(fā)揮其應(yīng)有的整體綜合功能[2]。軟件組件化設(shè)計(jì)方法以軟件平臺(tái)為中心,采用組件開(kāi)發(fā)向?qū)У姆绞介_(kāi)發(fā)功能組件[3],在不改變軟件總體架構(gòu)的基礎(chǔ)上,依靠其所提供的標(biāo)準(zhǔn)化服務(wù)與接口,通過(guò)組件即插即用的方式,實(shí)現(xiàn)業(yè)務(wù)功能[4]。采用本組件開(kāi)發(fā)向?qū)Э稍谙到y(tǒng)規(guī)劃時(shí)設(shè)計(jì)各分系統(tǒng)間的標(biāo)準(zhǔn)接口,減小分系統(tǒng)間的耦合度,從而減少大量的重復(fù)開(kāi)發(fā)工作并提升產(chǎn)品的可靠性,極大地提高軟件的開(kāi)發(fā)效率和復(fù)用能力,進(jìn)一步減少后期運(yùn)維工作量,及時(shí)有效地適應(yīng)業(yè)務(wù)需求的變化[5]。

      2 “平臺(tái)+組件”技術(shù)概述

      2.1 “平臺(tái)+組件”基本概念

      平臺(tái)是指軟件運(yùn)行的公共基礎(chǔ)平臺(tái),由基礎(chǔ)框架、擴(kuò)展框架和應(yīng)用框架組成[6]?;A(chǔ)框架將軟件系統(tǒng)通用性資源和功能需求進(jìn)行了標(biāo)準(zhǔn)化集成與封裝;擴(kuò)展框架是對(duì)軟件系統(tǒng)各種功能資源以及計(jì)算機(jī)操作系統(tǒng)資源的管理與代理;應(yīng)用框架是對(duì)各種具有共性需求的功能資源的綜合集成。這三部分共同作用,為各種面向具體應(yīng)用的訓(xùn)練信息系統(tǒng)的開(kāi)發(fā)與應(yīng)用,提供了資源、服務(wù)、接口及功能的支撐,以滿足訓(xùn)練領(lǐng)域內(nèi)不同應(yīng)用目的、對(duì)象,以及不同應(yīng)用方式、內(nèi)容的信息系統(tǒng)建設(shè)需求。

      組件是指軟件業(yè)務(wù)的功能封裝,基于平臺(tái)才能運(yùn)行,是軟件系統(tǒng)中的功能插件,可根據(jù)需要進(jìn)行定制開(kāi)發(fā),該組件基于平臺(tái)提供的組件開(kāi)發(fā)向?qū)?chuàng)建的工程進(jìn)行開(kāi)發(fā),通過(guò)向?qū)Чこ炭勺詣?dòng)集成公共平臺(tái)提供的標(biāo)準(zhǔn)服務(wù)和接口,在此基礎(chǔ)上設(shè)計(jì)開(kāi)發(fā)組件特定的功能[7]。

      2.2 “平臺(tái)+組件”技術(shù)

      設(shè)計(jì)“平臺(tái)+組件”的軟件總體邏輯架構(gòu)如圖1所示。建立適合軍事行業(yè)需求的領(lǐng)域系統(tǒng)架構(gòu)、業(yè)務(wù)模型和組件庫(kù),提供組件向?qū)ч_(kāi)發(fā)模板、軟件運(yùn)行平臺(tái)和公共服務(wù)接口。具體的技術(shù)途徑是通過(guò)組件開(kāi)發(fā)向?qū)гO(shè)計(jì)組件功能,將設(shè)計(jì)好的組件文件復(fù)制到系統(tǒng)平臺(tái)指定的文件夾下,當(dāng)軟件運(yùn)行時(shí)會(huì)自動(dòng)識(shí)別各個(gè)組件,并通過(guò)平臺(tái)提供的組件加載接口將各組件加載到軟件系統(tǒng)中,以實(shí)現(xiàn)各個(gè)組件特定的軟件功能,組件具有較強(qiáng)的獨(dú)立性、功能性、復(fù)用性和擴(kuò)展性,可以方便地實(shí)現(xiàn)定制開(kāi)發(fā)和集成其它業(yè)務(wù)功能。該技術(shù)不僅可降低軟件開(kāi)發(fā)和維護(hù)費(fèi)用,還能提高開(kāi)發(fā)效率、異構(gòu)系統(tǒng)的集成能力和標(biāo)準(zhǔn)化程度。

      圖1 “平臺(tái)+組件”總體邏輯架構(gòu)

      3 軟件組件化設(shè)計(jì)方法

      3.1 設(shè)計(jì)思路

      軟件組件化設(shè)計(jì)思路,主要是通過(guò)軟件服務(wù)模塊的重用和各組件的獨(dú)立并行開(kāi)發(fā),在組件即插即用和組合式應(yīng)用的基礎(chǔ)上,快速構(gòu)建出功能定制、性能可靠、運(yùn)行穩(wěn)定的軟件產(chǎn)品[8]。組件化的軟件設(shè)計(jì),其基本思想是將軟件系統(tǒng)分解成公共服務(wù)、運(yùn)行平臺(tái)和功能組件進(jìn)行設(shè)計(jì),再通過(guò)運(yùn)行平臺(tái)的公共服務(wù)調(diào)用接口、組件加載接口以及數(shù)據(jù)通信總線實(shí)現(xiàn)系統(tǒng)集成。

      3.2 設(shè)計(jì)方法

      組件化軟件設(shè)計(jì)與傳統(tǒng)方法的不同,突出表現(xiàn)在以下三個(gè)方面:以標(biāo)準(zhǔn)化為前提;以服務(wù)為基礎(chǔ);以組合式應(yīng)用為目的。

      以標(biāo)準(zhǔn)化為前提,是指在統(tǒng)一公共服務(wù)設(shè)計(jì)標(biāo)準(zhǔn)、功能組件設(shè)計(jì)標(biāo)準(zhǔn)和運(yùn)行平臺(tái)調(diào)用標(biāo)準(zhǔn)的前提下,以接口為中心,實(shí)現(xiàn)各模塊的統(tǒng)一設(shè)計(jì)、并行開(kāi)發(fā),在提高軟件質(zhì)量的同時(shí)減少系統(tǒng)測(cè)試和集成的工作量。

      以服務(wù)為基礎(chǔ),是從系統(tǒng)中抽象出功能單一、性能穩(wěn)定的模塊封裝成公共服務(wù),建公共服務(wù)庫(kù),以備檢索和調(diào)用。在此基礎(chǔ)上,進(jìn)行設(shè)計(jì)與開(kāi)發(fā)時(shí)盡量調(diào)用公共服務(wù)構(gòu)建各功能組件,實(shí)現(xiàn)由高成本低穩(wěn)定性的功能重復(fù)開(kāi)發(fā),向低成本高穩(wěn)定性的服務(wù)調(diào)用轉(zhuǎn)變。

      以組合式應(yīng)用為目的,是以組件組合應(yīng)用作為構(gòu)建軟件系統(tǒng)的核心,將所需的公共服務(wù)和功能組件通過(guò)運(yùn)行平臺(tái)進(jìn)行調(diào)用整合,滿足用戶特定需求和系統(tǒng)的規(guī)模定制。

      3.3 生命周期

      基于組件化設(shè)計(jì)過(guò)程是選擇公共服務(wù)、組件設(shè)計(jì)開(kāi)發(fā)、組件集成的過(guò)程,與傳統(tǒng)軟件設(shè)計(jì)過(guò)程相比,具有更強(qiáng)的科學(xué)性和靈活性。其生命周期通常包括:需求分析,運(yùn)行平臺(tái)設(shè)計(jì)與開(kāi)發(fā),公共服務(wù)的設(shè)計(jì)開(kāi)發(fā),構(gòu)件的開(kāi)發(fā)、選擇和組裝,系統(tǒng)集成,系統(tǒng)測(cè)試,軟件維護(hù)等。

      4 工程技術(shù)實(shí)現(xiàn)

      在此,以某系統(tǒng)(略稱為“系統(tǒng)A”)為例進(jìn)行組件化軟件設(shè)計(jì)方法的說(shuō)明。系統(tǒng)A 體系架構(gòu)如圖2所示。系統(tǒng)主要提供通信和地圖導(dǎo)航,其總體設(shè)計(jì)采用三層結(jié)構(gòu)體系:第一層為公共服務(wù)層,主要負(fù)責(zé)提供基礎(chǔ)服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、通信服務(wù)、地圖服務(wù);第二層為運(yùn)行平臺(tái)層,實(shí)現(xiàn)功能組件的加載,同時(shí)為功能組件層提供服務(wù)接口;第三層為功能組件層,即應(yīng)用層,直接為客戶提供所需功能應(yīng)用。

      圖2 “系統(tǒng)A”體系架構(gòu)

      4.1 公共服務(wù)

      基于“平臺(tái)+組件”的開(kāi)發(fā),就是按照平臺(tái)提供的統(tǒng)一技術(shù)體制和方式,開(kāi)發(fā)用戶按需定制的功能,并按要求調(diào)用上述各類基礎(chǔ)服務(wù),開(kāi)發(fā)出屬于用戶領(lǐng)域應(yīng)用功能構(gòu)件,然后再通過(guò)平臺(tái)提供的重構(gòu)與定制功能構(gòu)建用戶領(lǐng)域的應(yīng)用系統(tǒng)。系統(tǒng)的UML 圖如圖3 所示。

      圖3 系統(tǒng)UML 圖

      為了功能組件能夠共享和調(diào)用公共服務(wù),系統(tǒng)A 按照統(tǒng)一的模式設(shè)計(jì)了各類基礎(chǔ)功能和系統(tǒng)管理服務(wù)接口,共六大類,分別是:基礎(chǔ)服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、通信服務(wù)、地圖服務(wù)、導(dǎo)航服務(wù)和資源與消息服務(wù),與之相對(duì)應(yīng)的是六個(gè)接口類:CServer_Basic、CServer_Communicate、CServer_DataBase、Cserver_Map、Server_Message 和CServer_Navi,并由框架接口IMDIFrame 包含并提供調(diào)用接口。

      4.2 功能組件

      即時(shí)通信組件(CPlugLoad_IM)和地圖導(dǎo)航組件(CPlugLoad_MapNavi) 同為繼承自統(tǒng)一調(diào)用接口(CPlugLoad_Base)的動(dòng)態(tài)庫(kù);AddTemplate 作為主要接口函數(shù),負(fù)責(zé)向運(yùn)行平臺(tái)提供添加文檔模板功能(CMultiDocTemplate),其中所指的模板包含三個(gè)基類(CMDIChildWnd、CDocument、CView)的派生類,用于實(shí)現(xiàn)即時(shí)通信(CPlugMDIChildWnd_IM、CPlug View_IM、CPlugDocument_IM)和地圖導(dǎo)航(CPlugMDI ChildWnd_MapNavi、CPlugDocument_MapNavi、CPlug View_MapNavi)的相關(guān)功能。

      系統(tǒng)A 提供“功能組件開(kāi)發(fā)向?qū)А钡膶?shí)際工作界面如圖4 所示,其實(shí)現(xiàn)了類組件項(xiàng)目、資源、類以及組件界面風(fēng)格的自定義創(chuàng)建,從而簡(jiǎn)化開(kāi)發(fā)步驟,提高開(kāi)發(fā)效率。

      圖4 功能組件開(kāi)發(fā)向?qū)?/p>

      4.3 運(yùn)行平臺(tái)

      運(yùn)行平臺(tái)為多文檔MFC 應(yīng)用程序,提供統(tǒng)一的集成框架和系統(tǒng)管理,平臺(tái)初始化時(shí)通過(guò)調(diào)用功能組件文檔模板添加接口,實(shí)現(xiàn)文檔模板(CMultiDoc Template)的添加。

      組件加載:通過(guò)MFC 應(yīng)用程序的多文檔加載機(jī)制,調(diào)用CMultiDocTemplate 類的OpenDocumentFile(NULL)函數(shù)實(shí)現(xiàn)組件加載顯示。

      服務(wù)調(diào)用:運(yùn)行平臺(tái)的CMainFrame 派生于虛接口基類IMDIFrameEx,實(shí)現(xiàn)基礎(chǔ)服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、通信服務(wù)、地圖服務(wù)、導(dǎo)航服務(wù)動(dòng)態(tài)庫(kù)的加載與初始化,各功能組件通過(guò)類IMDIFrameEx 指針進(jìn)行服務(wù)模塊的創(chuàng)建、調(diào)用和析構(gòu)工作。

      5 結(jié)束語(yǔ)

      提出的軟件組件化設(shè)計(jì)方法能夠很好適應(yīng)軍事需求的快速變化,最低限度地減少軟件定制開(kāi)發(fā)的工作量。以平臺(tái)為基礎(chǔ),通過(guò)組件開(kāi)發(fā)快速構(gòu)建軟件產(chǎn)品的方法具備一定的先進(jìn)性,可以提高軟件的開(kāi)發(fā)效率、復(fù)用水平以及產(chǎn)品可靠性,對(duì)新形勢(shì)下的軍用軟件開(kāi)發(fā)具有一定的參考價(jià)值。

      猜你喜歡
      調(diào)用公共服務(wù)組件
      無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      公共服務(wù)
      公共服務(wù)
      公共服務(wù)
      公共服務(wù)
      新型碎邊剪刀盤(pán)組件
      U盾外殼組件注塑模具設(shè)計(jì)
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      利津县| 洛川县| 焉耆| 长治市| 西乡县| 五家渠市| 宜城市| 长岭县| 陵川县| 潞城市| 铅山县| 松原市| 临桂县| 保靖县| 南城县| 商都县| 晋城| 汕头市| 观塘区| 米林县| 麦盖提县| 昌邑市| 阿荣旗| 阳谷县| 顺义区| 海伦市| 鄂伦春自治旗| 鄢陵县| 紫阳县| 凌海市| 澎湖县| 昭觉县| 施秉县| 阳原县| 郯城县| 鲁山县| 河南省| 塘沽区| 双流县| 镇巴县| 勐海县|