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

模型驅(qū)動(dòng)生成WebApp中的平臺(tái)無關(guān)模型的建立

2017-03-15 17:47:59余俊
價(jià)值工程 2017年6期

余俊

摘要: 在互聯(lián)網(wǎng)飛速發(fā)展的今天,一些技術(shù)應(yīng)運(yùn)而生,如HTML5,WEB2.0技術(shù)。這些技術(shù)使得Web App得以出現(xiàn)。Web App不需要下載安裝,是一種生存于瀏覽器中的應(yīng)用。雖然Web App這種輕應(yīng)用使用起來很方便,但開發(fā)過程中仍有大量的重復(fù)的工作與技術(shù)細(xì)節(jié),而且輕型軟件的開發(fā)應(yīng)該著重具體功能的實(shí)現(xiàn)、用戶的易用性和體驗(yàn)度的設(shè)計(jì)上。解決重復(fù)性工作就是將模型驅(qū)動(dòng)架構(gòu)(Model Driven Architecture, MDA)注入到Web App開發(fā)中,將開發(fā)工作從以代碼為核心轉(zhuǎn)變?yōu)橐阅P蜑楹诵摹1疚慕柚艘粋€(gè)基于MDA的Web App開發(fā)框架 MDWAF(Model Driven Web App develop Framework)[11],提出了MDWAF中的平臺(tái)無關(guān)模型的建立過程的改進(jìn)方法。

Abstract: In the rapid development of the Internet today, some technologies came into being, such as HTML5, WEB2.0 technologies. These technologies enable the emergence of Web App. Web App does not need to download and install, and is a kind of application in the browser. Although the use of Web App light application is very convenient, there are still a lot of duplication of work and technical details in the development. And the development of lightweight software should focus on the realization of specific functions, the user's ease of use and experience of the design. To solve the repetitive work is to inject the Model Driven Architecture(MDA) into the Web App development, and to change the development of the work from the code as the core to the model as the core. In this paper, a MDA based Web App is used to develop a framework MDWAF (Model Driven App develop Framework). This paper presents an improved method of establishing a platform independent model in MDWAF.

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

Key words: model driven architecture;Web App;platform independent model

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2017)06-0205-03

1 緒論

現(xiàn)如今移動(dòng)端智能設(shè)備的使用率越來越高,且手機(jī)主流系統(tǒng)份額逐步拉近,這使得App制造行業(yè)逐步興起。App又分Native App和Web App,其中Native App就是下載后安裝在系統(tǒng)中的應(yīng)用,而Web App是依賴瀏覽器生存的。Web App的優(yōu)勢就在于跨平臺(tái)性好,可以減少開發(fā)成本;數(shù)據(jù)存儲(chǔ)在云端,用戶數(shù)據(jù)一致性好。使用模型驅(qū)動(dòng)的原因就是Web App本身結(jié)構(gòu)簡單,但是重復(fù)繁瑣的工作比較多。模型驅(qū)動(dòng)正好可以解決此問題。

本文所提出的方法就是將模型驅(qū)動(dòng)的思想加入Web App的開發(fā)當(dāng)中,主要闡述的是平臺(tái)無關(guān)模型(PIM)的建立環(huán)節(jié)。此前的使用模型驅(qū)動(dòng)思想的軟件開發(fā)工程中的PIM建立使用的一般是類圖和時(shí)序圖結(jié)合的方法,但在移動(dòng)端設(shè)備中,這種結(jié)合方法并不理想,本文就應(yīng)用了類圖和狀態(tài)機(jī)圖結(jié)合的方法,尋求了PIM的定義和轉(zhuǎn)換規(guī)則。

2 簡述MDWAF

Model Driven Web App develop Framework(MDWAF)開發(fā)框架由三部分組成,如圖1所示。

第一部分,開發(fā)者使用的本地開發(fā)工具,使開發(fā)者通過MDA實(shí)現(xiàn)Web App的快速開發(fā)。

第二部分,云端服務(wù)支持。將Web App存儲(chǔ)在云端,可以實(shí)現(xiàn)Web App的推送功能。

第三部分,運(yùn)行于移動(dòng)終端的Web App引擎,為最終用戶提供Web App運(yùn)行環(huán)境的本地支持。

3 平臺(tái)無關(guān)模型的建立

在WDWAF架構(gòu)下,在經(jīng)過需求分析階段后,開發(fā)人員需要建立平臺(tái)無關(guān)模型(PIM)。這就需要用到UML中的狀態(tài)機(jī)圖和類圖。因?yàn)閃eb App是事件驅(qū)動(dòng)的,所以我們需要狀態(tài)機(jī)圖來表示在運(yùn)行工程中由于事件而產(chǎn)生的狀態(tài)變遷,類圖是用來詳細(xì)描述每個(gè)狀態(tài)的靜態(tài)結(jié)構(gòu)。首先來看一下需求模型的建立。

3.1 需求模型的建立

本文中的需求模型是通過EMF技術(shù)實(shí)現(xiàn)的,需要使用元模型的概念Ecore和XMI來實(shí)現(xiàn)模型的持久化。XMI通過標(biāo)準(zhǔn)化的XML文檔格式和其他模型定義了一個(gè)數(shù)據(jù)交換模式,通過樣表的輸入將模型轉(zhuǎn)變?yōu)閄ML文檔,通過XSLT技術(shù)將UML轉(zhuǎn)換為XML。需要通過元模型來看出類概念,關(guān)聯(lián)概念,屬性概念,操作概念,狀態(tài)概念,變遷概念,動(dòng)作概念和觸發(fā)事件概念。圖2表示的就是在MDWAF架構(gòu)中UML的模型如何轉(zhuǎn)化的XML的過程。

根據(jù)整體的轉(zhuǎn)換概念可以從狀態(tài)機(jī)圖和類圖模型中,抽取相關(guān)的定義來加以轉(zhuǎn)換,這一部分將在3.2中進(jìn)行介紹。

3.2 平臺(tái)無關(guān)模型的定義

在Web App的開發(fā)過程中,我們可以依據(jù)MVC的三層思想,基于HTML和Javescript技術(shù)利用事件驅(qū)動(dòng)的考慮Control層的建立。依據(jù)MDWAF架構(gòu),文中提出了以下幾條改進(jìn)的定義。

定義1:一個(gè)具體的頁面可以定義成一個(gè)四元組:

SP = (Id, Models, Forms, Events)

Id 用來標(biāo)識(shí)一個(gè)網(wǎng)頁頁面;

Models當(dāng)前狀態(tài)對應(yīng)的頁面內(nèi)涉及的數(shù)據(jù)模型;

Forms 頁面內(nèi)部的頁面布局和UI;

Events 軟件是由事件驅(qū)動(dòng)的,代表了在此頁面中所有的能用操作觸發(fā)的事件集合還有觸發(fā)此事件的操作集合。

定義2:Event是個(gè)三元組:

Ev = (Triggers, Description, Operations)

Triggers 事件的觸發(fā)者;

Description 對此事件的具體描述,Descrition與Triggers可以一同作為對一個(gè)事件的具體標(biāo)識(shí);

Operations 包含了對這個(gè)特定事件所有的操作集合。

定義3:Operation是一個(gè)四元組:

Op = (Id, Para, Result, Type, TagetPage)

Id 用于標(biāo)識(shí)當(dāng)前的操作是唯一存在的,以保證操作的唯一性;

Para 是此操作的輸入?yún)?shù)列表,其中包括用戶的輸入操作和系統(tǒng)必要數(shù)據(jù);

Result 為具體的回傳數(shù)據(jù)的參數(shù)列表;

Type 是用來標(biāo)識(shí)此操作的具體類型;

TagetPage 是頁面變遷的重要組成部分,不同的操作有不同的頁面變遷,當(dāng)前頁面到目標(biāo)頁面的變遷可以用SP->SP∪SP來表示。

通過以上的定義可以將文檔結(jié)構(gòu)寫出:如圖3。

xmlns:wbmodel,xmlns:wbforms 和xmlns:wbevents定義了數(shù)據(jù)、視圖和事件的元模型。WADF是WDWAF架構(gòu)中的數(shù)據(jù)文件部分,需要遵循上述定義。

3.3 需求模型到平臺(tái)無關(guān)模型的轉(zhuǎn)換

根據(jù)上述MDWAF中需求模型的定義和文檔結(jié)構(gòu)可以提出如下的轉(zhuǎn)換規(guī)則:在狀態(tài)機(jī)圖中每個(gè)除初始狀態(tài)和結(jié)束狀態(tài)的State可以對應(yīng)生成一個(gè)Page,我們可以將規(guī)則表述為:

規(guī)則1:

For State in State Machine Diagram

if(!IntialState && !FinalState)

create Page

Page.Id = Serialize()

狀態(tài)機(jī)圖中的變遷在Web App中是有事件觸發(fā)的,所以是由Event表示出來的,我們可以將此規(guī)則表示如下:

規(guī)則2:

For Transation in State Machine Diagram

Create Event where Page.Id = TransationStartId

Event.Triggers = Transation.Event.Triggers

Event.Description = Transation.Event.Description

Event.Operation = Transation.Operation

Operation命名規(guī)則是根據(jù)每個(gè)變遷的初始狀態(tài)和目標(biāo)狀態(tài),來對應(yīng)描述一個(gè)ScreenPage內(nèi)的操作。映射規(guī)則如下所示:

規(guī)則3:

For Transation in State Machine Diagram

Create Operation to ScreenPage.Operation where ScreenPage.Id = TransationStartId

Operation.Id = Transation.Operation.Id

Operation.Para = Transation.Operation.Para

Operation.Result = Transation.Operation.Result

Operation.Type = Transation.Operation.Type

Operation.TagetPage = Transation.Operation.Type

在對狀態(tài)機(jī)圖進(jìn)行轉(zhuǎn)換的同時(shí),我們需要對對應(yīng)的類圖進(jìn)行轉(zhuǎn)換,我們需要根據(jù)類名來對頁面進(jìn)行配對,將類圖中的所有的組合部分轉(zhuǎn)化到Models表情下的數(shù)據(jù)模型中,將類圖中的屬性分門別類地映射到Model中。規(guī)則如下:

規(guī)則4:

For Class in Class Diagram

If(Class is single)

Create Model to ScreenPage.Models where ScreenPage.Id = Class.Name

For Attribute in Class

Create Attribute to Model

Model.Attribute = Class.Attribute

通過以上的幾個(gè)基本轉(zhuǎn)換規(guī)則,可以將需求分析中建立的類圖和狀態(tài)機(jī)圖模型轉(zhuǎn)換為PIM的描述文檔WADF。至此關(guān)于PIM的轉(zhuǎn)換就可以基本完成。

4 結(jié)論與未來展望

針對模型驅(qū)動(dòng)開發(fā)模式中Web App開發(fā)中的平臺(tái)無關(guān)模型的建立工程,我們需要注意的技術(shù)細(xì)節(jié)還有很多,而且重復(fù)性的工作沒有完全地摒除。本文中結(jié)合WDWAF框架提出了基于WDWAF框架的三個(gè)定義,并將定義與類圖和狀態(tài)機(jī)圖結(jié)合,找出四條轉(zhuǎn)換規(guī)則。

但是現(xiàn)在存在的問題也很明顯:首先是服務(wù)平臺(tái)沒有選定,下一步的首要工作是獲得服務(wù)平臺(tái)的支持;其次是需要通過XSLT樣表生成XML文件,但是生成工具并不完善,需要進(jìn)一步編寫;最后在解決以上兩個(gè)問題后,將著手進(jìn)行實(shí)例建模。

參考文獻(xiàn):

[1]Miller J M J.MDA Guide Version 1.0.1[EB/OL].http://www.omg.com/mda.

[2]OMG. Object Management Group, 2010. (retrieved on 22.10.12) http://www.omg.org/>.

[3]Ashbacher C.The Object Constraint Language Second Edition,Getting Your Models Ready for MDA,by Jos Warmer and Anneke Kleppe[J]. The Journal of Object Technology, 2003, 2(6):1-39.

[4]Pandey R.Object constraint language(OCL):past,present and future[J].ACM SIGSOFT Software EngineeringNotes,2011,36(1):1-4.

[5]Grose T J, Doney G C, Brodsky S A. Mastering XMI: Java Programming with XMI, XML and UML [J].Computer Bulletin, 2003,45(2).

[6]Sanchez D,Batet M.Semantic similarity estimation in the biomedical domain:an ontology-based information-theoretic perspective[J].J Biomed Inform, 2011.

[7]蔣楠,丁祥武.基于模型驅(qū)動(dòng)元數(shù)據(jù)管理策略的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2012(1):188-190.

[8]Maciel A, Sankaranarayanan G,Halic T,et a1.Surgical model-view-controller simulation software framework for local and collaborative applications[J].Int J ComputAssist Radiol Surg,2011,6(4):457-471.

[9]於良偉,袁泉,霍劍青,等.基于XML和XSLT的模型驅(qū)動(dòng)構(gòu)架[J].計(jì)算機(jī)工程,2010(6):49-51.

[10]薛振偉,吳志杰,楊德成.基于模型驅(qū)動(dòng)架構(gòu)的軟件開發(fā)模式研究[J].兵工自動(dòng)化,2007(5):92-94.

[11]謝培基,余金山.面向J2EE主流框架的MDA模型轉(zhuǎn)換研究[J].微型機(jī)與應(yīng)用,2012(17):11-14.

[12]Peng Xiao,Lv Qianxi, Wu Minghui, Peng Bin, Wang Shuoping.An MDA based modeling and implementation for web app Luo[J]. Journal of Software, v 8, n 8, p 1881-1888, 2013.

主站蜘蛛池模板: 黄片一区二区三区| 999精品在线视频| 一本色道久久88| 亚洲成人网在线播放| 又黄又湿又爽的视频| 秋霞国产在线| 国产熟睡乱子伦视频网站| 国产剧情国内精品原创| 午夜免费小视频| 欧美午夜在线播放| 四虎永久免费地址| 午夜福利在线观看成人| 青青草一区二区免费精品| 欧美精品1区| 国产99精品久久| 国产97色在线| 全免费a级毛片免费看不卡| 中国美女**毛片录像在线| 一本一道波多野结衣一区二区| AV在线天堂进入| 国产91色| 亚洲V日韩V无码一区二区| 中文一区二区视频| 国产在线98福利播放视频免费| 日韩国产一区二区三区无码| 四虎永久免费在线| 热久久这里是精品6免费观看| 人妻一本久道久久综合久久鬼色 | 久久精品嫩草研究院| 国产乱人免费视频| 精品少妇人妻av无码久久| 亚洲免费播放| 99久久免费精品特色大片| 午夜福利在线观看入口| 亚洲精品国产成人7777| 精品国产成人av免费| 蜜芽一区二区国产精品| 日本欧美在线观看| 精品少妇人妻无码久久| 91色在线观看| 99精品福利视频| 午夜色综合| 日韩欧美色综合| 国产精品一区在线观看你懂的| 国产日韩欧美精品区性色| 丁香婷婷在线视频| 国产第一福利影院| 在线va视频| 夜色爽爽影院18禁妓女影院| 国产成人综合欧美精品久久| 性网站在线观看| 欧美第一页在线| 国产高清无码麻豆精品| 国产精品无码AⅤ在线观看播放| 最新国产麻豆aⅴ精品无| 国产人在线成免费视频| 人人爽人人爽人人片| 中国一级毛片免费观看| 欧美a在线| 免费播放毛片| 亚洲日韩高清在线亚洲专区| 美女被操91视频| 国产精品美乳| 97se亚洲综合在线韩国专区福利| 国产成人禁片在线观看| 国产精品hd在线播放| 亚洲AV免费一区二区三区| 97视频在线精品国自产拍| 女人18毛片一级毛片在线| 国产成人亚洲无吗淙合青草| 亚洲av中文无码乱人伦在线r| 无码免费试看| 日本免费福利视频| 久久婷婷国产综合尤物精品| 999国内精品久久免费视频| 99精品国产电影| 精品人妻AV区| 国产一在线观看| 国产成人91精品免费网址在线 | 免费在线播放毛片| 高清大学生毛片一级| 国产成年无码AⅤ片在线|