• 
    

    
    

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

      基于IFML的移動(dòng)應(yīng)用開(kāi)發(fā)建模方法研究

      2018-01-09 13:05:03李雅雯劉曉燕
      軟件導(dǎo)刊 2017年12期
      關(guān)鍵詞:移動(dòng)應(yīng)用建模

      李雅雯+劉曉燕

      摘要:隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)應(yīng)用開(kāi)發(fā)如火如荼。由于市場(chǎng)上手機(jī)操作系統(tǒng)繁多,給移動(dòng)應(yīng)用的開(kāi)發(fā)特別是應(yīng)用移植帶來(lái)很多麻煩。開(kāi)發(fā)一個(gè)移動(dòng)應(yīng)用是一項(xiàng)復(fù)雜工作,需要掌握很多技術(shù),包括前端開(kāi)發(fā),這些技術(shù)由不同技能的人共同完成。一個(gè)有序的開(kāi)發(fā)過(guò)程以適當(dāng)?shù)慕8拍顬橹行模@對(duì)于克服開(kāi)發(fā)中固有的復(fù)雜性至關(guān)重要。交互流建模語(yǔ)言(IFML)是針對(duì)移動(dòng)應(yīng)用量身定制的OMG建模語(yǔ)言標(biāo)準(zhǔn)的擴(kuò)展。IFML提供了一種獨(dú)特、簡(jiǎn)明、能壓縮的,用UML類圖、狀態(tài)圖表示用戶界面的可視性語(yǔ)法,在移動(dòng)應(yīng)用開(kāi)發(fā)中起著積極作用。

      關(guān)鍵詞:移動(dòng)應(yīng)用;前端開(kāi)發(fā);建模;IFML;UML

      DOIDOI:10.11907/rjdk.171982

      中圖分類號(hào):TP301

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2017)012-0030-03

      Abstract:Developing a Mobile application, like any other kind of software system, is a complex achievement, which requires the ability to master a broad spectrum of tasks, including the front-end development. Tasks are jointly performed by a number of persons with different skills. Following a well-organized development process, centred on the appropriate modelling concepts, is essential to overcome the complexity inherent in such a development. The modeling language described in this document is an extension of the OMGs Interaction Flow Modeling Language (IFML) standard, tailored to mobile applications.IFML provides a unique, concise visibility syntax to compact the aspects of the user interface that are otherwise expressed separately with UML class state diagrams.

      Key Words:mobile application; front-end development;modeling; IFML; UML

      0 引言

      前端設(shè)計(jì)是一個(gè)復(fù)雜的任務(wù),需要多學(xué)科知識(shí),存在許多錯(cuò)綜復(fù)雜的觀點(diǎn)。前端在移動(dòng)應(yīng)用開(kāi)發(fā)中非常重要,用戶體驗(yàn)必須完美地適應(yīng)移動(dòng)應(yīng)用目標(biāo)。然而,移動(dòng)應(yīng)用交互的發(fā)展很大程度上仍然需要人為完成,其缺點(diǎn)在于會(huì)不可避免地產(chǎn)生一些錯(cuò)誤,導(dǎo)致移動(dòng)應(yīng)用開(kāi)發(fā)效率降低。

      交互流建模語(yǔ)言(Interaction Flow Modeling Language,簡(jiǎn)稱IFML)[1]2013年3月被OMG采納為標(biāo)準(zhǔn)規(guī)范,用來(lái)表示應(yīng)用前端的內(nèi)容、用戶交互和控制行為,支持平臺(tái)獨(dú)立的圖形化用戶界面描述。交互流建模語(yǔ)言支持獨(dú)立描述部署在桌面計(jì)算機(jī)、筆記本電腦、PDA和移動(dòng)電話等系統(tǒng)上的移動(dòng)應(yīng)用圖形界面,描述的重點(diǎn)是最終用戶感知的結(jié)構(gòu)和行為,而對(duì)移動(dòng)應(yīng)用的業(yè)務(wù)和數(shù)據(jù)組件結(jié)構(gòu)、行為的描述,僅限于對(duì)用戶體驗(yàn)有直接影響的方面[2]。

      1 IFML介紹

      IFML的重點(diǎn)在于交互式移動(dòng)應(yīng)用模型—視圖—控制器(MVC)中的視圖部分,它描述了視圖如何引用或依賴于應(yīng)用的模型和控件部分,并且允許設(shè)計(jì)者定義控制器必須處理的相關(guān)事件。

      1.1 IFML模型

      IFML模型[3]支持以下設(shè)計(jì):①視圖結(jié)構(gòu)規(guī)范,它由視圖容器定義,它們之間是嵌套關(guān)系,由可見(jiàn)性及可達(dá)性組成;②視圖內(nèi)容規(guī)范,包括視圖組件的定義,即包含在視圖容器內(nèi)的內(nèi)容和數(shù)據(jù)輸入元素;③事件規(guī)范,由可能影響用戶界面狀態(tài)的事件定義組成。事件可由用戶的交互、移動(dòng)應(yīng)用或外部系統(tǒng)產(chǎn)生;④事件轉(zhuǎn)換規(guī)范,由事件對(duì)用戶界面的影響定義組成;⑤參數(shù)綁定規(guī)范,由視圖組件之間的輸入輸出的依賴關(guān)系和視圖組件與動(dòng)作之間的定義組成。事件的效果由交互流連接表示,它將事件連接到受事件影響的視圖容器或組件。交互流由用戶界面的狀態(tài)變化表示。

      1.2 IFML開(kāi)發(fā)過(guò)程

      IFML開(kāi)發(fā)過(guò)程[4]如圖1所示。IFML流程以迭代和漸進(jìn)的方式不斷重復(fù)和完善,直到結(jié)果滿足業(yè)務(wù)需求。開(kāi)發(fā)過(guò)程包括發(fā)現(xiàn)問(wèn)題、設(shè)計(jì)細(xì)化、實(shí)施等幾個(gè)周期。每次迭代都會(huì)產(chǎn)生系統(tǒng)的原型或部分版本,每次迭代都會(huì)對(duì)系統(tǒng)的當(dāng)前版本進(jìn)行測(cè)試和評(píng)估,然后進(jìn)行擴(kuò)展或修改。這樣一個(gè)迭代周期并不是移動(dòng)應(yīng)用開(kāi)發(fā)的主要方式,它適用于移動(dòng)應(yīng)用必須快速部署,且用戶需求可能隨時(shí)會(huì)發(fā)生變化的情況下。

      (1) 需求規(guī)范。需求規(guī)范是應(yīng)用分析人員收集和正式確定應(yīng)用開(kāi)發(fā)范圍和預(yù)期功能等基本信息的活動(dòng)。它是一個(gè)面向用戶的精確而又易于理解的規(guī)范,這些規(guī)范幫助設(shè)計(jì)人員了解移動(dòng)應(yīng)用需要有哪些功能,并且在開(kāi)發(fā)應(yīng)用之前驗(yàn)證應(yīng)用規(guī)范是否符合業(yè)務(wù)需求。

      (2)數(shù)據(jù)設(shè)計(jì)。IFML流程中的數(shù)據(jù)設(shè)計(jì)階段將數(shù)據(jù)源設(shè)計(jì)定位,從這些數(shù)據(jù)源中可以繪制移動(dòng)應(yīng)用內(nèi)容。

      數(shù)據(jù)密集型移動(dòng)應(yīng)用的開(kāi)發(fā)可能在兩種不同的數(shù)據(jù)源場(chǎng)景中進(jìn)行:最簡(jiǎn)單的一種情況是,存儲(chǔ)移動(dòng)應(yīng)用內(nèi)容的數(shù)據(jù)源必須與移動(dòng)應(yīng)用一起設(shè)計(jì),其中數(shù)據(jù)設(shè)計(jì)階段旨在為移動(dòng)應(yīng)用生成最佳的數(shù)據(jù)模式,并且生成的概念模式直接用于構(gòu)建存儲(chǔ)移動(dòng)應(yīng)用內(nèi)容的物理數(shù)據(jù)庫(kù)。移動(dòng)應(yīng)用管理的內(nèi)容已經(jīng)存在,并且已經(jīng)被某些數(shù)據(jù)存儲(chǔ)庫(kù)(數(shù)據(jù)庫(kù)或遺留系統(tǒng))管理。在這種情況下,移動(dòng)應(yīng)用從現(xiàn)有數(shù)據(jù)源中提取內(nèi)容,并將其發(fā)布在移動(dòng)應(yīng)用頁(yè)面中。在第二種情況下,概念數(shù)據(jù)設(shè)計(jì)不受已經(jīng)設(shè)計(jì)和實(shí)施的數(shù)據(jù)源影響。

      (3)前端設(shè)計(jì)。前端設(shè)計(jì)是將需求規(guī)范中提出的功能需求轉(zhuǎn)化為一個(gè)或多個(gè)移動(dòng)應(yīng)用,以體現(xiàn)所需的信息傳遞和數(shù)據(jù)處理活動(dòng)。前端設(shè)計(jì)將IFML模型運(yùn)行在概念層面上,這使得前端架構(gòu)師能夠在頁(yè)面內(nèi)組合數(shù)據(jù)對(duì)象,以及通過(guò)鏈接形成超文本。

      前端設(shè)計(jì)基于IFML提出的概念和模型驅(qū)動(dòng)方法,是整個(gè)開(kāi)發(fā)周期的主要階段。它將應(yīng)用的頁(yè)面交付功能構(gòu)建在概念層面和視覺(jué)模型方面,這比在源代碼級(jí)別更為方便,并且更加定性[5]。

      2 IFML模型與其它系統(tǒng)建模視角相結(jié)合

      由于IFML是集成在MDA框架[6]中的,所以它可以與其它系統(tǒng)建模視角緊密結(jié)合。在IFML標(biāo)準(zhǔn)中,明確定義了3個(gè)方面:與內(nèi)容模型的集成,與業(yè)務(wù)邏輯的集成以及與業(yè)務(wù)流程模型的集成[7]。

      2.1 與內(nèi)容模型集成

      許多情況下,系統(tǒng)開(kāi)發(fā)都是從需求模型開(kāi)始(例如UML用例圖)。IFML可以使用戶交互模型的可跟蹤性達(dá)到相應(yīng)的需求規(guī)范。圖2說(shuō)明了IFML模塊用于解決用例或業(yè)務(wù)流程任務(wù)所需的用戶交互情況。

      IFML模塊的執(zhí)行可能會(huì)導(dǎo)致一些系統(tǒng)內(nèi)部狀態(tài)更改,并動(dòng)態(tài)顯示在UML狀態(tài)圖[8]中。

      2.2 與業(yè)務(wù)邏輯模型集成

      為ViewComponent指定綁定內(nèi)容時(shí),就可以實(shí)現(xiàn)IFML與內(nèi)容模型的集成。例如,圖3(a)顯示了ListViewComponent,它通過(guò)ContentBinding指定了一些內(nèi)容的發(fā)布,該ContentBinding建立了IFML圖和UML類圖之間的引用,UML類圖定義了“Product”類。

      當(dāng)ViewComponent或Action引用類的方法或更復(fù)雜的行為(分別用BehavioralFeatureConcept和BehaviorConcept在語(yǔ)言元模型中表示)時(shí),將指定IFML與業(yè)務(wù)邏輯的集成。具體來(lái)說(shuō),BehaviorConcept和BehavioralFeatureConcept分別通過(guò)UMLBehaviorConcept和UMLBehavioralFeatureConcept進(jìn)行擴(kuò)展,這允許設(shè)計(jì)者直接引用UML類方法或UML動(dòng)態(tài)圖(序列圖、活動(dòng)圖或狀態(tài)圖)。

      圖3比較了將IFML元素與外部模型進(jìn)行集成的3種不同方法:引用領(lǐng)域模型類(a)的DataBinding;引用特定UML方法(b)的DynamicBehavior和引用整個(gè)UML圖(c)的DynamicBehavior。引用可以嵌入在ViewComponents和Actions中。通常,ViewComponent的內(nèi)容是通過(guò)DataBinding進(jìn)行詳細(xì)描述的, 但也可以使用DynamicBehavior來(lái)指定,該動(dòng)態(tài)行為描述了提取或構(gòu)建ViewComponent內(nèi)容的邏輯。

      2.3 與業(yè)務(wù)流程模型集成

      IFML在業(yè)務(wù)流程模型方面的集成很重要,與部署在特定平臺(tái)設(shè)計(jì)模型方面的互補(bǔ)作用。圖4顯示了IFML模型與其它系統(tǒng)模型的關(guān)系:IFML模塊映射到UI模型[9]的元素,與UI模型共享一個(gè)公共命名空間,并且描述在一個(gè)UML部署圖中。

      3 IFML在移動(dòng)應(yīng)用中的擴(kuò)展

      移動(dòng)應(yīng)用具有豐富的界面,類似于小型的桌面應(yīng)用程序,目的是最大限度地利用有限的可用空間[10]。本文以移動(dòng)家政服務(wù)系統(tǒng)為例,說(shuō)明IFML如何在移動(dòng)應(yīng)用中擴(kuò)展。本系統(tǒng)作為多個(gè)不同的移動(dòng)應(yīng)用提交到不同的Android和iOS系統(tǒng)應(yīng)用商店。

      3.1 搜索服務(wù)

      圖5顯示了用戶在搜索應(yīng)用提供的服務(wù)時(shí)應(yīng)遵循的基本步驟。搜索流程要求接收電子郵件的專業(yè)人員作為訂閱者來(lái)回復(fù)。

      3.2 發(fā)布請(qǐng)求

      在這個(gè)流程中,電子郵件的收件人將負(fù)責(zé)回復(fù)電子郵件,并與最終用戶進(jìn)行協(xié)商。

      3.3 提供用戶

      提供服務(wù)的流程非常簡(jiǎn)單:用戶注冊(cè)時(shí),將在自動(dòng)匹配階段填寫(xiě)所有系統(tǒng)需要的數(shù)據(jù)。用戶在此階段需要提供工作地點(diǎn)和每周的工作時(shí)間。隨著可用性嵌入,用戶可以尋找廣告,或使用搜索服務(wù),或等待接收電子郵件與工作機(jī)會(huì)。

      4 結(jié)語(yǔ)

      本文旨在通過(guò)提供用戶交互模式的理性分類解決移動(dòng)應(yīng)用設(shè)計(jì)[11]中的問(wèn)題。以手機(jī)APP為例,每個(gè)模式都由IFML模型描述。本文還介紹了設(shè)計(jì)人員如何將IFML與其它建模語(yǔ)言集成,以獲得涵蓋系統(tǒng)前端和后端的視圖,確保交互模型與建立的其它模型之間具有可追溯性,在移動(dòng)應(yīng)用開(kāi)發(fā)中發(fā)揮應(yīng)有的作用。

      參考文獻(xiàn):

      [1] BRAMBILLA M, BONGIO A, BUTTI S, et al.Interaction Flow Modelling Language (IFML)[EB/OL].[2013-03-08].http://www.omg.org/spec/IFML/.

      [2] MARCO BRAMBILLA, PIERO FRATERNALI. The interaction flow modeling language(IFML), object management group (OMG)[EB/OL].http://www.ifml.org, 2014.

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

      [4] IFML. Interaction flow modeling language [EB/OL].http://www.ifml.org/.

      [5] CHARLAND, ANDRE, LEROUX, et al.Mobile application development: mobile vs. native[J]. Communications of the ACM, 2011, 54(5):78-83.

      [6] 侯金奎,萬(wàn)建成,張玉艷.一種支持MDA的PIM建模方法[J].計(jì)算機(jī)工程,2007,33(8):1249-1254.

      [7] ERICKSON T. The interaction design patterns page[EB/OL].http://www.visi.com/~snowfall/InteractionPatterns.html, retrieved August 2014.

      [8] JEAN VANDERDONCKT. A MDA-compliant environment for developing user interfaces of information systems[C]. In CAISE, 2005:16-31.

      [9] 吳昊.一種基于模型的用戶界面開(kāi)發(fā)方法[J].軟件,2015,36(8):452-458.

      [10] 徐巍.跨平臺(tái)移動(dòng)開(kāi)發(fā)框架的比較分析與實(shí)例開(kāi)發(fā)[J].吉林大學(xué)學(xué)報(bào),2014,24(8):66-67.

      [11] KANGAS, EEVA, KINNUNEN, et al.Applying user-centered design to mobile application development[J]. New York: ACM, 2005,48(7):314-319.

      (責(zé)任編輯:杜能鋼)

      猜你喜歡
      移動(dòng)應(yīng)用建模
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
      縝密審題,準(zhǔn)確建模,學(xué)以致用
      基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對(duì)稱半橋變換器的建模與仿真
      T學(xué)校公共設(shè)施便捷報(bào)修平臺(tái)的移動(dòng)應(yīng)用研究
      東方教育(2016年18期)2017-01-16 16:42:44
      云計(jì)算環(huán)境下的微課移動(dòng)云平臺(tái)設(shè)計(jì)
      大數(shù)據(jù)時(shí)代下免費(fèi)手機(jī)軟件盈利模式探討
      基于APICloud的“校園健身達(dá)人”APP設(shè)計(jì)與實(shí)現(xiàn)
      智能手機(jī)移動(dòng)應(yīng)用交互框架研究
      戲劇之家(2016年11期)2016-06-22 13:24:35
      移動(dòng)互聯(lián)網(wǎng)在防汛工作中的應(yīng)用
      科技視界(2016年4期)2016-02-22 08:53:41
      呼伦贝尔市| 临颍县| 凤凰县| 奉节县| 芜湖市| 浦东新区| 南通市| 布尔津县| 泾川县| 广平县| 铜川市| 临桂县| 平南县| 清远市| 松潘县| 灌南县| 玉溪市| 泰顺县| 冕宁县| 甘南县| 徐闻县| 和龙市| 海南省| 尉氏县| 沙雅县| 九台市| 桂平市| 宜都市| 太保市| 上饶县| 镇平县| 石嘴山市| 中阳县| 嵊州市| 沁阳市| 韩城市| 客服| 北辰区| 石林| 和静县| 沁水县|