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.

主站蜘蛛池模板: 婷婷中文在线| 91精品啪在线观看国产91九色| 在线观看视频一区二区| 欧美精品在线免费| 亚洲国产精品不卡在线| 亚洲VA中文字幕| 国产视频一二三区| 99久久精品免费看国产免费软件| Jizz国产色系免费| 日韩精品高清自在线| 国产福利大秀91| 欧美爱爱网| 国产h视频免费观看| 中文字幕永久在线看| 国内精品手机在线观看视频| 日韩a在线观看免费观看| 99久久99这里只有免费的精品| 日本一区二区三区精品视频| 国产美女在线免费观看| 亚洲日本精品一区二区| 国产99精品久久| 国产精欧美一区二区三区| 国产va欧美va在线观看| 亚洲va欧美va国产综合下载| 一区二区偷拍美女撒尿视频| 在线观看国产精品第一区免费| 亚洲中文字幕无码爆乳| 欧美啪啪一区| 久久精品女人天堂aaa| 99久久精彩视频| 在线观看免费AV网| 全部无卡免费的毛片在线看| 国产精品短篇二区| 91久久精品国产| 午夜激情福利视频| 视频一本大道香蕉久在线播放| 国产精品视频系列专区| 97精品伊人久久大香线蕉| 美女免费黄网站| 国产精品久久久久久久伊一| 91在线丝袜| 国产精品女主播| 久久国语对白| 亚洲黄色激情网站| 亚洲第一成年网| 一级在线毛片| AV网站中文| 亚洲天堂2014| 欧日韩在线不卡视频| 无码专区在线观看| 欧美劲爆第一页| 久久精品国产国语对白| 国产成人综合欧美精品久久| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲欧美精品一中文字幕| 精品一区二区三区水蜜桃| 毛片免费高清免费| 最新国产麻豆aⅴ精品无| 色综合五月婷婷| 国产精品免费露脸视频| 97se亚洲综合不卡| 成人午夜久久| 精品伊人久久久大香线蕉欧美 | 成人韩免费网站| 免费a级毛片18以上观看精品| 国产一区二区精品福利| 日本黄色不卡视频| 成年人视频一区二区| 5388国产亚洲欧美在线观看| 在线观看欧美国产| a级毛片免费看| 日韩国产高清无码| 久久久久免费看成人影片 | 美女无遮挡免费网站| 制服丝袜一区二区三区在线| 制服丝袜国产精品| 在线免费不卡视频| 国产99视频精品免费视频7| 中文字幕天无码久久精品视频免费| 亚洲视频影院| 伊人福利视频| 在线观看国产精品一区|