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

基于MVC的IFML建模方法研究

2018-03-10 00:28:20李雅雯劉曉燕
軟件導刊 2018年2期
關鍵詞:可視化模型

李雅雯+劉曉燕

摘 要:MVC模式是制作軟件的標準設計模式,前端開發用戶體驗良好。但是目前基于MVC模式的開發框架存在成本高、效率低的問題。為了避免前端開發過程中產生代碼量過大、重用性過低、不易維護、擴展性不好等技術難題,OMG提出了一種詳細的用來描述圖形界面的抽象模型:交互流建模語言(IFML)。它是一種可視化表達前端界面構成、用戶交互和控制行為的工具。在IFML模型中結合MVC 架構模式,對增強前端開發的精確性和完備性具有重要意義。擴展后的框架可以根據不同需求修改相關模型,增強了模型的可復用性,提高了應用前端的開發效率及代碼的可重用性。

關鍵詞:MVC模式;前端開發;IFML;可視化;模型

DOIDOI:10.11907/rjdk.172257

中圖分類號:TP301

文獻標識碼:A 文章編號:1672-7800(2018)002-0038-03

0 引言

在過去幾十年中,各種各樣的操作系統用戶界面(Graphical User Interface,簡稱 GUI)復雜,且復雜度隨時間而增加。一些強大的交互功能是在各種技術和平臺上實現的,其邊界變得越來越不可區分,例如:客戶端——服務器應用程序、Web應用程序、豐富的Internet應用程序、移動應用程序等等。軟件開發需要更加抽象的實踐,因此,軟件開發研究開始側重于用戶界面的抽象模型,并出現了新的建模語言標準,這些抽象層面上的表達要求變得更加強大。

對象管理組(OMG)提出了一種名為模型驅動架構(Model Driven Architecture,簡稱MDA)[1]的工作,以配合軟件技術的飛速發展,使物理系統的抽象化水平得以提高。因此,產生了許多描述和生成圖形界面的方法,多數方法都是基于MDA的。IFML是被OMG定義為描述元素和用戶界面行為的語言,它允許捕獲用戶交互和前端(用戶界面)內容,并為該系統用戶界面的控制行為建模。

1 IFML相關理論

交互流建模語言(Interaction Flow Modeling Language,簡稱IFML)[2]是國際標準化組織OMG制定的可視化建模標準,目標是為系統架構師、軟件工程師和軟件開發人員提供交互流模型的定義工具:視圖部分的應用程序由視圖容器和視圖組件構成,體現應用程序的對象,以及對業務邏輯動作的引用;視圖組件與數據對象和事件的綁定,確定事件發生后要執行的動作控制邏輯,以及在不同層次的架構中分配控制、數據和業務邏輯。

IFML規范[3]由4個技術組件組成:①IFML元模型,使用MOF指定IFML構造的結構和語義;②IFML的 UML配置文件[4]定義了基于UML的語法,特別是UML配置文件擴展了UML圖的概念:類圖、狀態機和復合結構圖;③IFML視覺語法提供了一種專門的可視化語法,用于以特別簡潔的方式表達IFML模型,具體就是提供了一個獨特的圖,能夠壓縮UML類圖、狀態機和復合結構圖單獨表示的用戶界面;④IFML XMI提供IFML模型交換格式,方便工具的可移植性。

圖1顯示IFML模型的簡單示例,用戶可以在相冊搜索表單中輸入一些條件來搜索相冊,匹配項目顯示在列表中。選擇一個項目觸發刪除操作,刪除完成后,再次顯示更新的相冊列表。

可將IFML概念定型為描述更精確的行為。例如,可定義描述網頁(特定類型的視圖容器)的特定原型,表格、清單和細節(特定種類的視圖組件),提交或選擇事件等等[5]。

2 MVC模式

MVC(Model-View-Controller)[6]模式是一種 Web應用程序開發模式,通過將復雜的 Web 應用程序分成模型(Model)、視圖(View)和控制器(Controller)3個部分,實現Web 系統的職能分工。

2.1 MVC結構

MVC模型結構[7]如圖2所示。視圖負責界面數據和用戶請求的采集和顯示,將接收到的模型處理結果顯示給用戶,一個模型可以對應一個或多個視圖。控制器是模型與視圖的聯系紐帶,負責用戶請求的接收和轉發。模型封裝了系統的核心流程和業務規則,是 MVC設計模式[8]的核心,其接收來自視圖的用戶請求或數據,并將處理結果返回給視圖。

MVC有如下優點[9]:①低耦合性:MVC模式中,模型與視圖兩部分相互解耦,模型不會依賴視圖,而視圖也只是從模型中獲取所需展示的數據,不與其邏輯功能關聯;②低開發成本: MVC模式將各模塊職責進行了明確地劃分,使開發人員可以有明確的分工、各司其責,后端程序員只負責業務邏輯功能實現,即模型部分;前端程序員只用實現界面展示效果即視圖部分即可;③低維護難度:MVC模式下模型和視圖部分明確分開,并使其解耦。如果改變軟件需求,便可相互之間互不影響進行修改,使應用程序更易于修改、維護及擴展,從而使應用的靈活性和復用性大大提升。

2.2 MVC模式下的IFML

互動應用程序模型—視圖—控制器(MVC)模型,IFML的重點在于視圖。此外,IFML描述了視圖引用或由應用程序的模型和控制部分所依賴的方式。視圖元素ViewElements是在用戶界面級別可見的主要IFML模型元素。此元素包括專門的視圖容器ViewContainers和視圖組件ViewComponents。ViewContainers(如HTML頁面或Windows)是其它ViewContainers或ViewComponents的容器,而ViewComponents是顯示內容或接受用戶輸入的界面元素。ViewComponents僅存在于ViewContainers中。

控制器方面,IFML允許設計者通過定義控制器處理相關事件。

模型方面,IFML允許引用數據對象及交互觸發操作。用戶界面的建模及與IFML的交互,相當于將每個模型分為獨立可視化單元,可以同時顯示或互斥顯示,并可以分層次嵌套[10]。endprint

3 實例分析

本文根據MVC的3個經典建模視圖,分割了房屋租賃系統PIM模型,包括靜態、動態和功能視圖[11]。建模視圖和UML模型的交點如下:狀態圖模型表現了動態視圖,類和包圖的模型表現了靜態視圖,用例模型呈現功能視圖。最后,根據模型—視圖—控制器(MVC)的設計模式構建了所有類的信息系統。

3.1 用例圖

用例圖[12]是從用戶角度描述系統功能, 是用戶所能觀察到的系統功能模型圖,用例是系統的一個功能單元。本系統中,租房者是參與者,他的用例包括了Add accommodation options、Specify room、Display catalog、Start reservation、eliminate from cart product quantity 、Change accommodation options,它們之間是包含關系,如圖3所示。

3.2 類圖

類圖[12]以反映類的結構(屬性、操作)以及類之間的關系為主要目的,描述了軟件系統結構,是一種靜態建模方法。

本系統主要有Catalog類、Reservation類、Room類和AccommodationOption類。其中,Catalog類和Room類的操作都是顯示(display),AccommodationOption類的操作是增加、刪除和修改。Room類和Catalog類、Reservation類是一對多的關系,Room類和AccommodationOption類是多對多的關系,如圖4所示。

包裝是組織和管理對象類的容器,可用來組織其它模型元素,如界面。一個包裝里的各個類相互合作,共同給使用者提供一組完整的服務。一個類或包裝只能為一個包裝所容納。包裝也可以互相引用,形成依賴關系。本系統中兩個包裝分別是Realize reservation和Deal accommodation,如圖5所示。

3.3 類圖信息系統

在MVC模式下,將系統的靜態視圖、動態視圖和功能視圖加以整合,重新構建成為一個類圖信息系統。類圖中的類在Model模式下整合成為Model Catalog類、Model Reservation類、Mode lRoom類和Model AccommodationOption類,在View模式下整合成為View Catalog類、View Reservation類、View Room類和View AccommodationOption類,在Controller模式下整合成為Controller Catalog類、Controller Reservation類、Controller Room類和Controller AccommodationOption類,如圖6所示。

4 結語

基于MVC的軟件開發模式提供了3部分并行開發機會,使程序員能集中精力負責數據封裝和業務邏輯,頁面制作員集中精力負責頁面的展示,控制器則盡量選用或編寫一些可重用的控制流程。IFML是一種最新的標準化建模語言,旨在捕獲應用程序用戶界面的結構和屬性。本文討論了IFML模型適用MVC結構并生成MVC模式下的類圖信息系統,如果能開發出基于此模式的一個通用軟件框架,將為軟件工程化管理開創一個新局面。

參考文獻:

[1] MILLER J, MUKERJI J. MDA guide version 1.0.1[EB/OL]. OMG,2003,http://www.omg.org/docslomg/03.06.01.pdf.

[2] BRAMBILLA M, BONGIO A, BUTTI S,et al. Web applications design and development with WebML and WebRatio 5.0[EB/OL]. https://link.springer.com/chapter/10.1007/978-3-319-17716-8.

[3] M BRAMBILLA, P FRATERNALI. Interaction flow modeling language—model-driven UI engineering of Web and mobile Apps with IFML[M]. Morgan Kauffman, USA,2014.

[4] 吳潔明,方英蘭.軟件工程實例教程[M].北京:清華大學出版社,2010.

[5] OBJECT MANAGEMENT GROUP.Interaction flow modeling language.Version 1.0[EB/OL]. http://www.omg.org/spec/IFML/1.0/. IFML,2015.

[6] 姚騰輝.基于MVC模式的Web前端開發研究與應用[D].合肥:合肥工業大學,2016.

[7] 盧長利.基于MVC模式的Web框架構建與應用[D].西安:西安電子科技大學,2009.

[8] 李霞.MVC設計模式的原理與實現[D].長春:吉林大學,2004.

[9] 于春娜,王晨升,楊光,等.Web前端MVC框架的意義研究[J].產業與科技論壇,2014(1):28-29.

[10] MARCO BRAMBILLA, ANDREA MAURI, ERIC UMUHOZA. Extending the interaction flow modeling language (IFML) for model driven development of mobile applications front end[EB/OL]. http://www.doc88.com/p-3327742399440.html.

[11] 王永濤,劉勇.基于MDA的模型轉換研究與應用[J].計算機工程,2011,37(16):84-85.

[12] 張天,張巖,于笑豐,等.基于MDA的設計模式建模與模型轉換[J].軟件學報,2008,19(9):2203-2217.endprint

猜你喜歡
可視化模型
一半模型
自然資源可視化決策系統
北京測繪(2022年6期)2022-08-01 09:19:06
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統
北京測繪(2021年7期)2021-07-28 07:01:18
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權M-估計的漸近分布
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
3D打印中的模型分割與打包
主站蜘蛛池模板: 白丝美女办公室高潮喷水视频| 伊人激情综合| 国产女人喷水视频| 婷婷综合缴情亚洲五月伊| 午夜不卡视频| 久久国产乱子| 97se亚洲综合| 亚洲一区二区约美女探花| 九九线精品视频在线观看| 久久免费精品琪琪| 最新国产午夜精品视频成人| 亚洲AV无码一二区三区在线播放| 亚洲一区二区成人| 欧美三级日韩三级| 色综合综合网| 国产精品蜜芽在线观看| 国模私拍一区二区三区| 高潮毛片无遮挡高清视频播放 | 欧美一区二区三区国产精品| 超清无码熟妇人妻AV在线绿巨人| 国产精品漂亮美女在线观看| 久久精品人妻中文系列| 欧美国产日本高清不卡| 日韩色图在线观看| 国产超碰在线观看| 日本午夜影院| 国产91无码福利在线 | 亚洲日韩高清在线亚洲专区| 亚洲色图在线观看| 成人午夜在线播放| 嫩草国产在线| 亚洲第一成网站| 亚洲国产精品无码AV| 中文字幕波多野不卡一区| 亚洲熟女偷拍| 免费在线a视频| 制服丝袜一区| 国产欧美日韩18| 四虎永久免费地址| 久久久久久国产精品mv| 国产91视频免费观看| 制服丝袜一区二区三区在线| 国产午夜精品鲁丝片| 色一情一乱一伦一区二区三区小说 | 国产a网站| 谁有在线观看日韩亚洲最新视频| 亚洲欧洲美色一区二区三区| AV在线天堂进入| 国产导航在线| 免费中文字幕一级毛片| 精品一区二区三区水蜜桃| 国产拍在线| 亚洲日韩精品欧美中文字幕| 国产精品自在在线午夜| 欧美中文字幕在线二区| 欧美特黄一级大黄录像| 亚洲三级网站| 国产嫖妓91东北老熟女久久一| 国产成人精品高清在线| 亚洲国产中文欧美在线人成大黄瓜| 亚洲精品第一页不卡| 日韩精品一区二区深田咏美| 亚洲福利视频一区二区| 欧美啪啪精品| 午夜国产小视频| 国产精品久线在线观看| 欧美精品色视频| 欧美自慰一级看片免费| 欧美国产在线精品17p| 无码一区中文字幕| 高潮毛片无遮挡高清视频播放| 国模私拍一区二区三区| 国产自无码视频在线观看| 熟女视频91| 亚洲成人精品| 国产成人综合亚洲欧美在| 久久情精品国产品免费| 亚洲欧美另类日本| 香蕉久人久人青草青草| 福利一区三区| 亚洲美女一级毛片| 国产老女人精品免费视频|