亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MDA的軟件開發(fā)方法的研究

        2017-07-25 07:27:24袁曉桂吳掬鷗
        現(xiàn)代電子技術(shù) 2017年14期

        袁曉桂+吳掬鷗

        摘 要: 傳統(tǒng)軟件開發(fā)模式由于其最終生成產(chǎn)品是程序代碼,難以適應(yīng)需求的快速變化,軟件開發(fā)過程中不可避免地出現(xiàn)非標(biāo)準(zhǔn)化與非自動(dòng)化的問題。為了解決上述問題,在介紹MDA開發(fā)過程的基礎(chǔ)上,探討了平臺(tái)無關(guān)模型和平臺(tái)相關(guān)模型的定義、映射和轉(zhuǎn)化等,并將MDA開發(fā)方法和傳統(tǒng)軟件開發(fā)方法進(jìn)行了分析比較。以決策支持系統(tǒng)為例,描述通過MDA進(jìn)行軟件開發(fā)的過程。結(jié)果顯示,基于MDA的軟件開發(fā)方法能夠由軟件模型指導(dǎo)自動(dòng)生成軟件成品,降低了系統(tǒng)的開發(fā)成本與設(shè)計(jì)效率。

        關(guān)鍵詞: 模型驅(qū)動(dòng)架構(gòu); 平臺(tái)相關(guān)模型; 平臺(tái)無關(guān)模型; 模型轉(zhuǎn)換

        中圖分類號(hào): TN921?34; TP311.5 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)14?0052?03

        Abstract: Because the final product generated by traditional software development mode is the program code, it is difficult to adapt to the rapid change of the demand, and the non?standardization and non?automation problems are inevitable in the process of software development. In order to solve these problems, the MDA development process is introduced, the definition, mapping and transformation of the platform independent model and platform dependent model are discussed, and the MDA development method and traditional software development methods are analyzed and compared. Taking the decision support system as an example, the process of software development based on MDA is described. The analysis results show that the software development method based on MDA can automatically generate the finished software products by means of software model, which can reduce the development cost and improve design efficiency of the system.

        Keywords: MDA; platform dependent model; platform independent model; model transformation

        由于傳統(tǒng)的軟件開發(fā)模式其最終生成產(chǎn)品是程序代碼,難以適應(yīng)需求的快速變化。雖然目前部分生產(chǎn)環(huán)節(jié)已經(jīng)有模型可以參與,但模型仍不能應(yīng)用于大規(guī)模的軟件開發(fā)中,因此軟件開發(fā)過程中不可避免地出現(xiàn)非標(biāo)準(zhǔn)化與非自動(dòng)化的問題。為了解決軟件開發(fā)中存在的這些問題,OMG組織發(fā)布了模型驅(qū)動(dòng)架構(gòu)(Model Driven Architecture,MDA)[1?4]。本文在介紹MDA開發(fā)過程的基礎(chǔ)上,探討了平臺(tái)無關(guān)模型和平臺(tái)相關(guān)模型的定義、映射和轉(zhuǎn)化等,并將MDA開發(fā)方法和傳統(tǒng)軟件開發(fā)方法進(jìn)行了分析比較。

        1 MDA體系結(jié)構(gòu)

        模型驅(qū)動(dòng)式軟件開發(fā)是指通過對(duì)問題進(jìn)行分析然后建模、轉(zhuǎn)化和精化模型,最終生成可執(zhí)行代碼的過程。模型驅(qū)動(dòng)架構(gòu)是一種建立業(yè)務(wù)邏輯抽象模型并自動(dòng)產(chǎn)生完備的應(yīng)用程序的方法,其核心思想是通過計(jì)算無關(guān)模型(Computation Independent Mode,CIM)描述系統(tǒng)的行為與功能,用與使用平臺(tái)無關(guān)的建模語言(例如UML)來構(gòu)建在實(shí)現(xiàn)時(shí)無需關(guān)心所用技術(shù)的平臺(tái)無關(guān)模型(Platform Independent Mode,PIM),隨后平臺(tái)無關(guān)模型通過一定的轉(zhuǎn)化規(guī)則與輔助工具被轉(zhuǎn)化為平臺(tái)相關(guān)模型(Platform Specific Mode,PSM),最后PSM精化生成可執(zhí)行代碼。MDA軟件開發(fā)方法將標(biāo)準(zhǔn)的系統(tǒng)模型放在了驅(qū)動(dòng)架構(gòu)的核心位置,如圖1所示。MDA通過PIM和PSM將系統(tǒng)說明和實(shí)現(xiàn)技術(shù)與平臺(tái)獨(dú)立開來,確保軟件開發(fā)成果不受需求變化與技術(shù)變遷的影響。

        MDA模型組織分為4層結(jié)構(gòu),如圖2所示。下一個(gè)層次是上一個(gè)層次的應(yīng)用,上一個(gè)層次是下一個(gè)層次的基礎(chǔ),MOF位于M3層,其是MDA框架中基礎(chǔ)與核心的模型,同時(shí)也是M2層所有模型的元模型。M2層為MOF上不同模型所對(duì)應(yīng)的模型語言,不同的領(lǐng)域通過M2層能夠獲取與所在領(lǐng)域相匹配的建模語言,為M1層的建模提供了建模符號(hào)。M1層是軟件開發(fā)過程中建模人員采用模型語言為企業(yè)應(yīng)用建立的模型描述,PIM,CIM,PSM應(yīng)用模型就位于該層之中。最底層為M0層,即實(shí)例層,其將M1層的模型轉(zhuǎn)化為具體的可使用的應(yīng)用程序。

        MDA的核心是由OMG制定的一系列標(biāo)準(zhǔn),元對(duì)象設(shè)施(Meta Object Facilit,MOF)、統(tǒng)一建模語言(Unified Modeling Languag,UML)、數(shù)據(jù)倉庫元模型(Common Warehouse Metamodel,CWM)、XML元數(shù)據(jù)交換(XML?based Metadata Interchange,XMI)以及對(duì)象約束語言(Object Constraint Language,OCL)[5?8]。這些標(biāo)準(zhǔn)構(gòu)成了一個(gè)構(gòu)建模型驅(qū)動(dòng)架構(gòu)的基準(zhǔn),其不但決定了MDA的核心架構(gòu),并在State?of?art的系統(tǒng)建模中起到了關(guān)鍵性的作用。

        2 MDA實(shí)現(xiàn)與基于模型驅(qū)動(dòng)架構(gòu)的軟件開發(fā)

        基于MDA的軟件開發(fā)過程可分為[9]:

        (1) 模型驅(qū)動(dòng)軟件開發(fā)過程。此方案中使用的模型為PIM和PSM,利用模型驅(qū)動(dòng)代碼的產(chǎn)生,具體操作步驟為代碼通過模型產(chǎn)生,接著通過人工的方式進(jìn)行商業(yè)邏輯代碼的編寫,最后將手工編寫的商業(yè)邏輯代碼進(jìn)行部署及發(fā)布。

        (2) 通過模型驅(qū)動(dòng)來控制系統(tǒng)運(yùn)行時(shí)的行為。此時(shí)軟件模型能夠被一個(gè)操作系統(tǒng)運(yùn)行時(shí)通用模型直接執(zhí)行,該過程無需產(chǎn)生具體的軟件代碼,最后部署和發(fā)布的僅是模型,因?yàn)槟P椭幸呀?jīng)將應(yīng)用程序的各個(gè)層面均做出了表達(dá)。

        基于MDA的軟件開發(fā)包括建模、開發(fā)和發(fā)布三個(gè)階段,如圖3所示。

        模型階段:創(chuàng)建無關(guān)平臺(tái)模型PIM,并以此為核心,ISM和PSM均可通過 PIM自動(dòng)轉(zhuǎn)換生成。該模型應(yīng)用如XMI的MOF映射方法進(jìn)行映射。

        開發(fā)階段:產(chǎn)生平臺(tái)無關(guān)代碼,即MDA工具自動(dòng)產(chǎn)生和程序員手工編寫客戶端及服務(wù)器端的代碼。MDA中代碼的生成是MDA工程的最終目標(biāo),其具體是指PSM到代碼的映射,映射生成 ISM模型。

        發(fā)布階段:該階段將諸多內(nèi)容放在一起組成可運(yùn)行組件,其包括模型、MOF映射、手工編寫的代碼和MDA運(yùn)行時(shí)庫及待發(fā)布的配置信息,最終將組建發(fā)布到運(yùn)行平臺(tái)上。

        3 開發(fā)過程比較

        雖然基于MDA的軟件開發(fā)過程是一種新型模型驅(qū)動(dòng)軟件開發(fā)方法,與傳統(tǒng)的軟件開發(fā)方法相比具有以下優(yōu)點(diǎn):

        (1) 模型變換可自動(dòng)實(shí)現(xiàn)。相比較傳統(tǒng)的軟件開發(fā)過程由手工完成模型與模型、模型與代碼之間的變換,基于MDA的軟件開發(fā)過程均是MDA開發(fā)工具自動(dòng)完成的。

        (2) 便于維護(hù),模型與代碼同步。在基于MDA的軟件開發(fā)過程中,模型通過轉(zhuǎn)換即可直接生成可執(zhí)行代碼,無需要其他步驟,從而實(shí)現(xiàn)模型與代碼的同步。軟件開發(fā)人員對(duì)軟件的維護(hù)重點(diǎn)從程序代碼變?yōu)榕c技術(shù)平臺(tái)無關(guān)、與業(yè)務(wù)邏輯相關(guān)的平臺(tái)無關(guān)模型。

        (3) 開發(fā)效率高,軟件可靠性強(qiáng)。MDA模型架構(gòu)對(duì)系統(tǒng)的不同層次進(jìn)行抽象,每一層代表的含義簡(jiǎn)單易懂,從而使得系統(tǒng)的整個(gè)框架可被軟件開發(fā)人員清晰地了解與掌握,而不必困惑于具體的實(shí)現(xiàn)技術(shù)。由于模型通過轉(zhuǎn)換即可直接生成可執(zhí)行代碼,使得開發(fā)過程中減少了編碼環(huán)節(jié),所以若構(gòu)建PIM正確,整個(gè)系統(tǒng)的正確性便可得到保證。

        (4) 業(yè)務(wù)邏輯模型獨(dú)立于技術(shù)實(shí)現(xiàn)平臺(tái)。PIM模型可根據(jù)技術(shù)平臺(tái)的不同,自動(dòng)生成基于該模型的軟件系統(tǒng),從而實(shí)現(xiàn)PIM模型與技術(shù)實(shí)驗(yàn)平臺(tái)的獨(dú)立。

        (5) 模型是程序生成的基礎(chǔ)設(shè)施。在基于MDA的軟件開發(fā)過程中,模型被作為其生命周期中的設(shè)計(jì)工作,是程序生成的基礎(chǔ)設(shè)施。模型通過一系列轉(zhuǎn)化最終可自動(dòng)生成可執(zhí)行代碼。

        4 基于MDA的決策支持系統(tǒng)開發(fā)實(shí)例

        以某鋼鐵企業(yè)中的決策支持系統(tǒng)為例,設(shè)計(jì)基于MDA的決策支持系統(tǒng)。

        步驟1:描述系統(tǒng)開發(fā)需求,建立CIM。該部分模型可由系統(tǒng)分析文檔來描述,如可以向系統(tǒng)增加新的算法;為了便于管理,可分類算法;可對(duì)算法進(jìn)行查詢與刪除等操作。

        步驟2:根據(jù)需求人工抽取PIM,如圖4所示。該部分模型利用UML profile來描述,包含四個(gè)類:挖掘算法惟類,通過惟一ID標(biāo)識(shí)算法,每個(gè)算法必須屬于某個(gè)分類;注冊(cè)類,向系統(tǒng)注冊(cè)新的算法,并檢測(cè)其是否符合系統(tǒng)要求;維護(hù)類,對(duì)挖掘算法進(jìn)行查詢與刪除等維護(hù)操作;類別類,挖掘算法的分類。

        步驟3:生成PSM,實(shí)現(xiàn)PIM到PSM的轉(zhuǎn)換。本文應(yīng)用IBM的MTF來定義和執(zhí)行映射規(guī)則,應(yīng)用映射規(guī)則,可將UML模型轉(zhuǎn)化為ecore模型。

        步驟4:生成可執(zhí)行代碼。步驟3生成了基于EMF的ecore模型的PSM,接著使用EMF代碼生成的Java 發(fā)射器模板(Java Emitter Templates,JET)工具將ecore模型轉(zhuǎn)化為可執(zhí)行Java代碼。

        以上4個(gè)步驟詳細(xì)介紹了基于MDA的軟件開發(fā)過程。使用MDA開發(fā)方法,模型的建立與轉(zhuǎn)化規(guī)則的制度是其重點(diǎn),這些模型利用UML profile來描述,通用性強(qiáng),獨(dú)立于技術(shù)平臺(tái),因而在設(shè)計(jì)類似系統(tǒng)時(shí)可直接使用,大幅降低了系統(tǒng)的開發(fā)成本與設(shè)計(jì)效率。

        5 結(jié) 論

        本文在介紹和分析了MDA 的架構(gòu)和基于其軟件開發(fā)過程的基礎(chǔ)上,將其與傳統(tǒng)軟件設(shè)計(jì)方法進(jìn)行了對(duì)比,說明了其在軟件開發(fā)過程中的顯著優(yōu)勢(shì),并在文中最后設(shè)計(jì)基于MDA的決策支持系統(tǒng),證明了使用MDA開發(fā)方法設(shè)計(jì)的軟件系統(tǒng)獨(dú)立于技術(shù)平臺(tái),通用性強(qiáng)、可移植性強(qiáng),其可通過建模、轉(zhuǎn)化和精化模型,直至最終生成可執(zhí)行代碼,大幅降低了設(shè)計(jì)成本且提高了開發(fā)效率。

        參考文獻(xiàn)

        [1] 趙曉峰.模型驅(qū)動(dòng)的軟件開發(fā)模式研究[J].信息技術(shù)與信息化,2015(7):190?191.

        [2] 李晉,戰(zhàn)德臣,聶蘭順,等.支持模型驅(qū)動(dòng)式軟件開發(fā)的建模語言框架研究[J].南京大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,46(4):464?475.

        [3] 夏焱.MDA模式驅(qū)動(dòng)的應(yīng)用軟件商店研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011.

        [4] 劉曉宇.基于模型驅(qū)動(dòng)的軟件開發(fā)方法研究[J].信息系統(tǒng)工程,2012(9):98?99.

        [5] MELLOR S J, BALCER M J. Executable UML: a foundation for model?driven architecture [M]. New York: Addison?Wesley, 2002.

        [6] Object Management Group. Request for proposal: MOF2.0 query /views / transformations [M]. CA, USA: RFP, 2002.

        [7] POOLE J D. Model?driven architecture: vision, standards and emerging technologies [M]. CAT, USA: Hyperion Solutions Corporation, 2001.

        [8] APPUKUTTAN Biju, CLARK Tony, REDDY Sreedhar, et al. A model driven approach to model transformations model driven architecture: foundations and applications [M]. New York: Addison?Wesley, 2003.

        [9] 張衡.基于模型驅(qū)動(dòng)的平臺(tái)開發(fā)研究與實(shí)現(xiàn)[D].長(zhǎng)春:長(zhǎng)春理工大學(xué),2013.

        亚洲一区二区精品久久岳| 九一九色国产| 四虎影视永久在线精品| 日本丰满熟妇hd| 欧美精品中文| 亚洲美女主播一区二区| 一区二区三区视频在线观看| 国产超碰人人爽人人做人人添| 欧美va亚洲va在线观看| 18禁黄无遮挡免费网站| 亚洲第一区二区精品三区在线| 成年女人vr免费视频| 欧美色aⅴ欧美综合色| 亚洲免费无毛av一区二区三区 | 久久尤物AV天堂日日综合| 加勒比熟女精品一区二区av| 女同同志熟女人妻二区| 亚洲色国产欧美日韩| 国产美女在线一区二区三区| 少妇高潮太爽了免费网站| 久久久国产精品| 精品午夜福利无人区乱码一区| 青青草视频华人绿色在线| 日本高清一区二区三区视频| 天堂av网手机线上天堂| 亚洲精品久久久久中文字幕| 四虎永久免费影院在线| 亚洲国产精品久久久久婷婷软件| 丁香婷婷六月综合缴清| 中文字幕日本人妻久久久免费| 亚洲欧洲高潮| 日本高清二区视频久二区| 亚洲国产精品无码一线岛国| 97久久精品午夜一区二区| 日韩中文字幕久久久经典网| 国产高清人肉av在线一区二区| 人妻体内射精一区二区三四| 在线欧美精品二区三区| av大片网站在线观看| 成 人片 黄 色 大 片| 久久97精品久久久久久久不卡|