用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成_第1頁(yè)
用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成_第2頁(yè)
用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成_第3頁(yè)
用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成_第4頁(yè)
用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成_第5頁(yè)
已閱讀5頁(yè),還剩111頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、(碩士學(xué)位論文)用戶界面設(shè)計(jì)模式的代碼自動(dòng)生成 山東大學(xué)碩士學(xué)位論文 摘 要 用戶界面是人機(jī)交互的重要組成部分,它是用戶和計(jì)算機(jī)進(jìn)行溝通和交互 的橋梁。隨著計(jì)算機(jī)和網(wǎng)絡(luò)資源的不斷發(fā)展,人們對(duì)用戶界面的要求也越來(lái)越 高。然而,標(biāo)記語(yǔ)言,編程語(yǔ)言,界面開(kāi)發(fā)環(huán)境和工具的增多,針對(duì)某種特定 平臺(tái)或語(yǔ)言進(jìn)行手工編寫代碼完成用戶界面這種方法的局限性逐漸顯露出來(lái)。 界面都有共同的本質(zhì)或者提供相似的服務(wù),由于實(shí)現(xiàn)平臺(tái)或開(kāi)發(fā)語(yǔ)言的不同存 在技術(shù)細(xì)節(jié)實(shí)現(xiàn)的差異,從而造成了重復(fù)類似開(kāi)發(fā)。這就使得人們開(kāi)始關(guān)注用 戶界面的概念建模,模型可以在更高的抽象層次對(duì)用戶界面進(jìn)行描述,以此來(lái) 完成針對(duì)不同編程語(yǔ)言和使用上下文的用

2、戶界面的快速開(kāi)發(fā)。 FMP模型是一種面向軟件工程和支持用戶界面自動(dòng)生成的界面模型,它支 持從需求分析、設(shè)計(jì)直至編碼的各個(gè)階段。它由多個(gè)模型通過(guò)配合互動(dòng)來(lái)實(shí)現(xiàn) 界面的自動(dòng)生成。其中,功能模型和對(duì)象模型屬于需求分析階段,完成捕捉界 面相關(guān)功能和數(shù)據(jù)信息的任務(wù):交互模型則屬于界面設(shè)計(jì)階段,用于表達(dá)數(shù)據(jù) 的信息和控制關(guān)系,是最終代碼生成階段的直接數(shù)據(jù)來(lái)源。展示模型屬于界面 原型的可視化設(shè)計(jì),用戶利用界面模板創(chuàng)建自己所喜好的界面布局和展示風(fēng)格, 并將其作為最終自動(dòng)生成的用戶界面原型。 為了便于知識(shí)的重用,界面開(kāi)發(fā)人員把模式概念引入到界面的每個(gè)構(gòu)建塊 中。把界面分割為多個(gè)界面單元,每個(gè)單元實(shí)現(xiàn)一個(gè)不同的交

3、互任務(wù)。用界面 設(shè)計(jì)模式描述各個(gè)界面單元,以此解決小粒度的界面開(kāi)發(fā)問(wèn)題。交互對(duì)象是界 面單元的內(nèi)部模型,交互對(duì)象不同,則其對(duì)應(yīng)的展現(xiàn)形式和相關(guān)邏輯操作就會(huì) 有所區(qū)別。展示風(fēng)格是內(nèi)部數(shù)據(jù)對(duì)象的外在表現(xiàn),它包含對(duì)展示控件集合,控 件布局和外觀等方面的定義。展示風(fēng)格僅對(duì)界面進(jìn)行了靜態(tài)描述,并不包括交 互行為的描述。根據(jù)交互對(duì)象類型,歸納多種展示風(fēng)格,并用大量豐富的參數(shù) 來(lái)定義,以此提高界面設(shè)計(jì)的靈活性,可擴(kuò)展性。從最終的代碼生成角度描述 了界面的邏輯操作集合。由此從內(nèi)部模型、展示風(fēng)格、邏輯操作三方面描述了 界面設(shè)計(jì)模式,并給出了相應(yīng)的規(guī)范定義。 將上述界面設(shè)計(jì)模式應(yīng)用于代碼自動(dòng)生成中,會(huì)大大提高用戶

4、界面的開(kāi)發(fā) 效率。其中,對(duì)展示風(fēng)格的參數(shù)化描述對(duì)應(yīng)于ASRNET控件的最終生成和展示, 山東大學(xué)碩士學(xué)位論文 邏輯操作對(duì)應(yīng)于后臺(tái)實(shí)現(xiàn)代碼的生成。根據(jù)界面設(shè)計(jì)模式設(shè)計(jì)了相應(yīng)的代碼生 成算法,并最終實(shí)現(xiàn)了從模型到目標(biāo)代碼的轉(zhuǎn)換,生成了ASPNET環(huán)境下的代 碼。 關(guān)鍵字:FMP模型;用戶界面設(shè)計(jì)模式;展示風(fēng)格;代碼自動(dòng)生成 Il 山東大學(xué)碩士學(xué)位論文 ABSTRACT UserInterfaceisall inhuman interaction important composingpart computer Itisthe betweenusersand their bridge compute

5、rduring communicationand interactionWiththecontinual of andintemet developmentcomputer resources,the foruserinterfacesare requirements moreandmore the hi曲However,謝th mark increasinglanguages,programming languages,interfacedevelopment environmentsand localizationofthemethodofhandwork tools,the to pro

6、gramming finish userinterfacesduetocertain or specificplatformlanguageappearsgradually User all interfaceshavethesameessenceor similarservicesJustduetothe provide different or aretechnical implementingplatformsprogramminglanguages,there detaildifferencesinexistenceSoitmakessimilar developments repea

7、tedlyIt made toconcentrateon ofuserinterfaceModelCan begin people conceptmodeling describeuser at interfacemoreabstract userinterfaceofdifferent level,SO andcontextcanbe programming developedrapidly FModeliSonekindofinterfacemodelswhichareoriented tosoftware anduserinterfaceautomatic all from engine

8、ering generationItsupportsphases to until interfaceautomatic requirementanalysis design codingItimplements interaction generationby ofseveralmodelsFunctionModeland ectModel Obj which to thetaskof relative belongrequirementanalysisphasecomplete capturing interfacefunctionanddatainformationInteraction

9、Modelwhich to pertains interface isusedto datainformationandcontrolrelationItis designphase express the directdata offinalcode Modelfinishesvisual origin generationPresentation of interface take ofinterfaceatetocreate design prototypeUsersadvantage templ interfaceand likeandconsiderthisasthe of layo

10、utpresentationthey style prototype finaluserinterfacewhichisgenerated automatically T0be toreuse interface the of easy knowledgeuserdevelopersimport concept to constructionblockDivideinterfaceintoseveralinterface patternevery units,and eachinterfaceunitCan outoneinteractive interface carry design ta

11、skUsing pattern 山東大學(xué)碩士學(xué)位論文 todescribeinterfaceunitisinordertosolvesmall interface every granularity ectis interiormodelofinterfaceunit developmentproblemInteractionobj Differentinteractionect todifferent formsand obj corresponds presentationlogic dataectIt istheouter ofinterior style obj operationsP

12、resentationappearance defines controls andSOonIt set,controllayout,appearanceonly presentation includesstatic of the ofinteractive interface,not description includingdescription behaviorsDuetodifferentinteraction are objecttype,somepresentationstyles concludedanddefined ofabundant whichcanenhance by

13、plenty parameters and ofinterface setisdescribed flexibilityexpansibility designLogicoperation fromthe offinalcode design is point generationTherefore,interfacepattern fromthe ofinterior depictedbycorrespondingspecificationsaspects model, and presentationstylelogicoperation interface abovetocodeauto

14、matic will Applying designpattern generation enhanceuserinterface description development of isrelativetofinal and ofASENET presentationstyle generationpresentation to codes correspondbackgroundimplement widgets,andlogicoperations tointerface code designpattern,designcorresponding generationAccordin

15、g then thetransformationfrommodelto generationarithmetic,andimplement target codes and codesinASRNETenvironment finallygenerate Interface Keywords:FMPModel,User DesignPattern,PresentationStyle, Generation CodeAutomatic 原創(chuàng)性聲明和關(guān)于論文使用授權(quán)的說(shuō)明 原創(chuàng)性聲明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下,獨(dú) 立進(jìn)行研究所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論

16、文不 包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的科研成果。對(duì)本文的研 究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本聲明 的法律責(zé)任由本人承擔(dān)。 論文作者簽名: z逐 日期一乙鯉星:生: 關(guān)于學(xué)位論文使用授權(quán)的聲明 本人完全了解山東大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué) 校保留或向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論 文被查閱和借閱;本人授權(quán)山東大學(xué)可以將本學(xué)位論文的全部或部分 內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或其他復(fù)制手段 保存論文和匯編本學(xué)位論文。 保密論文在解密后應(yīng)遵守此規(guī)定 論文作者簽名:盟導(dǎo)師簽名: 趣絲冒 期:釜竺星:笙:f 山東大學(xué)碩士學(xué)位論

17、文 第一章引 言 11課題的研究背景及意義 隨著現(xiàn)代科技的發(fā)展,人們使用計(jì)算機(jī)的頻率越來(lái)越高。人們無(wú)論把計(jì)算 機(jī)當(dāng)作輔助工作學(xué)習(xí)的工具,還是娛樂(lè)手段,都不可否認(rèn)計(jì)算機(jī)在人類現(xiàn)代生 活中的重要地位。用戶界面是人機(jī)交互過(guò)程中最為直觀且重要的組成部分,它 是用戶和計(jì)算機(jī)進(jìn)行溝通和交互的橋梁。所以,對(duì)用戶界面的要求也就越來(lái)越 高。 隨著標(biāo)記語(yǔ)言,編程語(yǔ)言,界面開(kāi)發(fā)環(huán)境和工具的增多,針對(duì)某種特定平 臺(tái)或語(yǔ)言進(jìn)行手工編寫代碼完成用戶界面這種方法的局限性逐漸顯露出來(lái)。界 面都有共同的本質(zhì)或者提供相似的服務(wù),由于實(shí)現(xiàn)平臺(tái)或開(kāi)發(fā)語(yǔ)言的不同存在 技術(shù)細(xì)節(jié)實(shí)現(xiàn)的差異,從而造成了重復(fù)類似開(kāi)發(fā)。這就使得人們開(kāi)始關(guān)注用戶

18、 界面的概念建模,模型可以在更高的抽象層次對(duì)用戶界面進(jìn)行描述,以此來(lái)完 成針對(duì)不同編程語(yǔ)言和使用上下文的用戶界面的快速開(kāi)發(fā)?;谀P?】【21的界 面開(kāi)發(fā)是一個(gè)創(chuàng)建和重定義用戶界面模型的過(guò)程,用戶界面設(shè)計(jì)的所有元素都 用定義的模型來(lái)表示。模型關(guān)注點(diǎn)在于更高的語(yǔ)義層次,避免過(guò)早的進(jìn)行細(xì)節(jié) 設(shè)計(jì),其可重用的系統(tǒng)開(kāi)發(fā)方法有助于后期維護(hù)。但是目前的基于模型的界面 開(kāi)發(fā)方法由于缺乏有效的重用機(jī)制而不能廣泛應(yīng)用【31。而且很多模型方法并不 支持從需求分析到設(shè)計(jì)直至編碼的全過(guò)程。 在界面設(shè)計(jì)過(guò)程中對(duì)很多問(wèn)題都有相同或相似的處理方法和思路。為了便 于知識(shí)的重用【4】,界面開(kāi)發(fā)人員把模式概念引入其中,以此提高用

19、戶界面的開(kāi) 發(fā)效率。界面設(shè)計(jì)模式成為界面設(shè)計(jì)領(lǐng)域的新熱點(diǎn),它試圖構(gòu)建標(biāo)準(zhǔn)可復(fù)用的 解決方案,來(lái)幫助解決常見(jiàn)、難度較大、帶有普遍性的界面設(shè)計(jì)問(wèn)題。目前的 大多數(shù)模式都是基于任務(wù)的,粒度大,解決問(wèn)題的復(fù)雜度高,難以集成到工程 化的界面開(kāi)發(fā)工具中。它用抽象的描述方法來(lái)分析表達(dá)界面概念需求,不考慮 實(shí)現(xiàn)細(xì)節(jié),不能向用戶展示界面的原型,從而無(wú)法更好地支持用戶參與所見(jiàn)即 所得的界面設(shè)計(jì)。用戶也沒(méi)有參與到交互界面的設(shè)計(jì)過(guò)程中,只能被動(dòng)接受開(kāi) 發(fā)人員為其設(shè)計(jì)的界面,缺乏靈活性。 山東大學(xué)碩士學(xué)位論文 本文的研究意義在于提出了解決小粒度問(wèn)題的界面設(shè)計(jì)模式,從交互對(duì)象, 展示風(fēng)格和邏輯操作多方面對(duì)界面設(shè)計(jì)模式進(jìn)行

20、了規(guī)范定義,并用大量豐富的 參數(shù)加以描述表達(dá),以此實(shí)現(xiàn)對(duì)界面設(shè)計(jì)模式的定制。使用FMP模型【51對(duì)用戶 界面進(jìn)行抽象描述,將界面設(shè)計(jì)模式建模方法集成到工程化的界面開(kāi)發(fā)工具中, 從而指導(dǎo)和實(shí)現(xiàn)用戶界面的自動(dòng)生成。 12本文的創(chuàng)新點(diǎn) 本課題的研究重點(diǎn)是用戶界面設(shè)計(jì)模式在ASPNET環(huán)境中代碼自動(dòng)生成 的實(shí)際應(yīng)用。本文提出了解決小粒度界面設(shè)計(jì)問(wèn)題的界面設(shè)計(jì)模式。在對(duì)界面 交互對(duì)象和展示信息的深入分析后,提出展示風(fēng)格的概念,把展示風(fēng)格作為界 面構(gòu)建單元,并用大量豐富的參數(shù)來(lái)描述,以此完成界面可視化設(shè)計(jì)。文章定 義了多種展示風(fēng)格,并且基于交互對(duì)象和不同的展示風(fēng)格,給出了界面設(shè)計(jì)模 式的邏輯操作定義,完成

21、了對(duì)界面設(shè)計(jì)模式的規(guī)范定義。利用FMP模型對(duì)界面 進(jìn)行抽象描述,將參數(shù)化描述的界面設(shè)計(jì)模式應(yīng)用于界面的工程化設(shè)計(jì)中,并 為后面的代碼自動(dòng)生成提供支持,以此實(shí)現(xiàn)從抽象定義到ASPNET應(yīng)用程序代 碼的自動(dòng)生成。 13本文的組織結(jié)構(gòu) 本文共分七個(gè)部分,第一部分引入課題并敘述課題的研究背景、意義。第 二部分對(duì)國(guó)內(nèi)外相關(guān)研究進(jìn)行了綜述。第三部分說(shuō)明FMP界面模型的組成。第 四部分給出了界面設(shè)計(jì)模式的規(guī)范定義和各組成元素的詳細(xì)說(shuō)明。第五部分介 紹了界面設(shè)計(jì)模式在ASENET代碼自動(dòng)生成中的應(yīng)用及生成算法。第六部分以 一個(gè)教師管理系統(tǒng)為例,詳細(xì)說(shuō)明界面設(shè)計(jì)及實(shí)現(xiàn)的詳細(xì)過(guò)程。第七部分為文 章的結(jié)束語(yǔ),總結(jié)了

22、本文所做的工作和下一步需要完善的工作。 2 山東大學(xué)碩士學(xué)位論文 第二章國(guó)內(nèi)外相關(guān)研究 21模型驅(qū)動(dòng)開(kāi)發(fā)體系結(jié)構(gòu) 隨著應(yīng)用系統(tǒng)的不斷發(fā)展,其規(guī)模不斷擴(kuò)大,并且構(gòu)建軟件系統(tǒng)使用的平 臺(tái)多樣,同時(shí)在開(kāi)發(fā)應(yīng)用系統(tǒng)過(guò)程中,用戶的需求也在不斷改變。如何在這種 情況下,開(kāi)發(fā)出具有較高可靠性及可維護(hù)性的系統(tǒng),成為軟件開(kāi)發(fā)急待解決的 問(wèn)題。 Driven 因此,對(duì)象管理組織 OMG 提出并倡導(dǎo)MDAE61 Model Architecture ,它通過(guò)體系結(jié)構(gòu)和軟件設(shè)計(jì)模型的可視化,將業(yè)務(wù)邏輯設(shè)計(jì)從不 一種應(yīng)用系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的方法。MI A鼓勵(lì)在軟件的開(kāi)發(fā)過(guò)程中有效的使用 系統(tǒng)的模型,并且它支持創(chuàng)建類似系統(tǒng)的

23、最佳實(shí)踐的重用。根據(jù)OMG定義的 標(biāo)準(zhǔn),MDA是一種組織和管理被自動(dòng)化工具支持的企業(yè)體系架構(gòu)、用于定義 模型和推動(dòng)不同模型類型之間的轉(zhuǎn)換的服務(wù)、標(biāo)準(zhǔn)和方法。 MDA技術(shù)的相關(guān)概念均是OMG的一系列標(biāo)準(zhǔn):統(tǒng)一建模語(yǔ)言 UML7 UnifiedModelingLanguage 、元對(duì)象設(shè)施MOF8 metaObjectFacility 、 metadata XML元數(shù)據(jù)交換XMI9兒10J XMLInterchange 、公共數(shù)據(jù)倉(cāng)庫(kù)元模型 Warehouse CWM11l CommonMetamodel 。MDA的核心標(biāo)準(zhǔn)組成了創(chuàng)建模式驅(qū) 動(dòng)的一致性系統(tǒng)綱要的基礎(chǔ),這個(gè)系統(tǒng)綱要完成授權(quán)、發(fā)布和管

24、理模型的功能。 211不同抽象層次上的模型 體系結(jié)構(gòu)。PIM用像UML一樣的標(biāo)準(zhǔn)語(yǔ)言來(lái)定義,以此支持系統(tǒng)結(jié)構(gòu)和功能 的規(guī)范定義。它從技術(shù)實(shí)現(xiàn)細(xì)節(jié)中抽象出來(lái),是與系統(tǒng)實(shí)現(xiàn)平臺(tái)無(wú)關(guān)的概念描 述系統(tǒng)。而PSM應(yīng)該用一種專屬于中間件平臺(tái) J2EE,NET等 的標(biāo)準(zhǔn)來(lái)定義, 以此描述針對(duì)某種實(shí)現(xiàn)技術(shù)的PIM中已經(jīng)定義好的功能,它使用與實(shí)現(xiàn)平臺(tái)相 關(guān)的概念描述應(yīng)用系統(tǒng)。PIM和PSM之間的差異取決于對(duì)平臺(tái)技術(shù)參考集合的 3 山東大學(xué)碩士學(xué)位論文 規(guī)定,pIM獨(dú)立于這些平臺(tái),從PIM派生的PSM則考慮了更多的同特定平臺(tái) 相關(guān)的技術(shù)因素。MDA主要關(guān)注模型間的一種特殊關(guān)系:自動(dòng)生成關(guān)系,也 即一個(gè)模型可以由另

25、外一個(gè)模型生成。 212 MDA的基本框架 1 模型驅(qū)動(dòng)開(kāi)發(fā)的基本框架 傳統(tǒng)上,從模型到模型的轉(zhuǎn)換,或者從模型到代碼的變換,主要是手工完 成的。許多工具可以直接從模型生成一部分代碼,但是往往只是生成一些模板 代碼,大部分工作還是需要手工完成。模型驅(qū)動(dòng)開(kāi)發(fā)的主要步驟如圖21所示, 包含了三個(gè)模型,兩種映射關(guān)系。第一次映射以PIM為輸入,并把它變換成 PSM。第二次映射再把PSM變換成代碼。 從圖21中看出,模型驅(qū)動(dòng)開(kāi)發(fā)實(shí)現(xiàn)的兩個(gè)關(guān)鍵映射的實(shí)現(xiàn)是需要工具提 供支持來(lái)自動(dòng)完成。目前有不少工具,可以將PSM轉(zhuǎn)化成代碼,因?yàn)镻SM與 代碼已經(jīng)相當(dāng)接近。模型驅(qū)動(dòng)開(kāi)發(fā)的難點(diǎn)是實(shí)現(xiàn)PIM到PSM轉(zhuǎn)化的自動(dòng)化。

26、 現(xiàn)有的工具還沒(méi)有完全將PIM成功轉(zhuǎn)換為PSM,在許多情況下仍需要用戶干預(yù) 或強(qiáng)化PSM描述。但是總可以從PIM生成一個(gè)基本可運(yùn)行的應(yīng)用程序。 回咽日回日因日圈 圖21模型驅(qū)動(dòng)開(kāi)發(fā)的主要步驟 模型總是以某種語(yǔ)言表述的??梢允荱ML,也可以是自然語(yǔ)言,或者某種 編程語(yǔ)言。為了支持模型的自動(dòng)轉(zhuǎn)換,需要對(duì)模型或模型描述施加一定的限制 或約束。 2 模型驅(qū)動(dòng)開(kāi)發(fā)的優(yōu)點(diǎn)12l 提高生產(chǎn)效率:模型驅(qū)動(dòng)開(kāi)發(fā)使開(kāi)發(fā)者的焦點(diǎn)轉(zhuǎn)移到了PIM的設(shè)計(jì)和開(kāi)發(fā) 上。所需的PSM是通過(guò)變換自動(dòng)從PIM生成的。變換只需要被定義一次,然 后就可以在開(kāi)發(fā)中多次應(yīng)用這個(gè)變換。不必關(guān)注目標(biāo)平臺(tái)的細(xì)節(jié),技術(shù)細(xì)節(jié)會(huì) 通過(guò)從PIM的變換自

27、動(dòng)加入PSM。因此提高了生產(chǎn)效率。 4 山東大學(xué)碩士學(xué)位論文 增強(qiáng)司移植性:司移植性是通過(guò)把開(kāi)發(fā)焦點(diǎn)轉(zhuǎn)移到PIM而獲得的。因?yàn)?PIM是跨平臺(tái)的、與平臺(tái)無(wú)關(guān)的。同一個(gè)PIM可以被自動(dòng)變換成多個(gè)不同平臺(tái) 上的PSM。因此在這個(gè)意義上,PIM 層次上定義的所有東西都是完全可移 哭 蝴持互操雌姍22際 橋接器 支持互操作性:如圖2所示, I乞熟1 從一個(gè)PIM生成的多個(gè)PsM之間可 l l 能會(huì)有聯(lián)系。這種聯(lián)系被稱為橋接器。 代老_僑繁器一萇碼 不同平臺(tái)間的PsM不能直接聯(lián)系。需 圖22模型驅(qū)動(dòng)開(kāi)發(fā)對(duì)互操作性的支持 要把一個(gè)平臺(tái)的概念轉(zhuǎn)換到另一個(gè)平 臺(tái),這稱為互操作性。因此還需要生成PSM之間的橋接

28、器。 便于維護(hù):在模型驅(qū)動(dòng)開(kāi)發(fā)工程中,開(kāi)發(fā)者可以把注意力放在PIM上。PIM 抽象層次比代碼高,而模型是代碼的精確表現(xiàn),因此PIM起到了軟件系統(tǒng)所需 要的高層次文檔的作用,便于系統(tǒng)的維護(hù)。 213 MDA模型的轉(zhuǎn)換及相關(guān)工具支持 MDA模型間的映射就是用于將一個(gè)模型轉(zhuǎn)換為另一個(gè)模型的規(guī)則和技術(shù)。 為了實(shí)現(xiàn)這些轉(zhuǎn)換必須要了解作為輸入和輸出的元模型及它們之間的映射規(guī) 則。工具對(duì)MDA模型間轉(zhuǎn)換的支持是多種多樣的,很多年前就有工具能支持 從模型生成簡(jiǎn)單的代碼,這也包含在MDA的范疇中。但是,在理想的情況下, MDA對(duì)模型和模型變換提出了很高的要求。工具對(duì)模型變換所提供的支持主 要表現(xiàn)在以下幾方面:

29、?PIM到PSM的變換:這類工具把高層次PIM變換成一或多個(gè)PSM。目 前這類工具還很少見(jiàn),雖然有一些,但是只提供了這方面最基本的功能。 ?PSM到代碼的變換:這些工具有內(nèi)置的變換定義,把符合某種預(yù)先定義 類型的模型作為輸入,并輸出符合另一種預(yù)先定義類型的模型。源模型是PSM, 目標(biāo)模型則是代碼模型。事實(shí)上,傳統(tǒng)CASE工具就是按照這個(gè)模式生成代碼 的。 山東大學(xué)碩士學(xué)位論文 ?PIM到代碼變換:同時(shí)支持從PIM到PSM和從PSM到代碼的變換。有 時(shí)候,用戶看到的只是從PIM到代碼的直接變換,PSM則是隱含的。這種類型 的工具把源語(yǔ)言、目標(biāo)語(yǔ)言以及變換定義都內(nèi)置其中了,它們的行為就像黑盒 一樣

30、。本文所實(shí)現(xiàn)的代碼生成就是這一類型。 22基于模型的用戶界面開(kāi)發(fā) 從不同角度出發(fā)分析同一個(gè)用戶界面時(shí),會(huì)得出測(cè)重點(diǎn)不同的界面描述 113114】。將精力集中到用戶界面的某個(gè)獨(dú)立方面上,并用某種專業(yè)標(biāo)準(zhǔn)符號(hào)體系 來(lái)定義描述時(shí),這樣就得到了一個(gè)用戶界面模型。一個(gè)用戶模型就是用戶界面 一些獨(dú)立連接部分的陳述說(shuō)明,界面模型可以分為概念模型【151和陳述模型161 兩類。 221概念模型 概念模型是模型的一種,簡(jiǎn)單說(shuō)就是抽象程度極高的一種模型。軟件工程 概念模型是對(duì)軟件工程領(lǐng)域進(jìn)行抽象描述的模型,它能夠使我們對(duì)軟件工程有 一個(gè)完整把握。概念模型著重描述了界面構(gòu)成以及界面元素間的邏輯概念關(guān)系, 為抽象界面

31、模型到實(shí)際界面的轉(zhuǎn)換提供了良好的基礎(chǔ)和結(jié)構(gòu)概念。 用戶界面的概念模型采用三種基本的模型支持界面的自動(dòng)生成,即應(yīng)用模 model 。 型 applicationmodel 、對(duì)話模型 dialogmodel 和表示模型 presentation 該類模型的典型代表有Seeheim17】、MVC和PAC模型。 1 Seeheim模型 這是最早提出的用戶界面模型。該模型將用戶界面劃分為3個(gè)部分:表示 部分涉及界面的外部表示,界面的其他部分不能與外部直接通信:對(duì)話控制部 分指定用戶和系統(tǒng)之間的對(duì)話結(jié)構(gòu);應(yīng)用界面模型部分建立與應(yīng)用語(yǔ)義之間的 通信聯(lián)系,描述界面可訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)和例程,并負(fù)責(zé)調(diào)用這些例程。

32、在邏輯 上這3個(gè)部分是相互獨(dú)立的,它們之間通過(guò)發(fā)送單詞來(lái)進(jìn)行通信18】。 Seeheim模型本身是基于語(yǔ)言的模型。3個(gè)部分分別對(duì)應(yīng)于詞法、語(yǔ)法和語(yǔ) 義3個(gè)層次。該模型的一個(gè)顯著特征是強(qiáng)調(diào)對(duì)話控制部分的作用。然而,在直 6 山東大學(xué)碩士學(xué)位論文 接操作對(duì)話中,用戶是與個(gè)別應(yīng)用語(yǔ)義對(duì)象的圖形表示交互,而不是與整個(gè)應(yīng) 用系統(tǒng)對(duì)話。這意味著和個(gè)別對(duì)象相關(guān)的語(yǔ)法應(yīng)當(dāng)包含在各個(gè)圖形表示對(duì)象之 中,而不是作為一個(gè)統(tǒng)一的獨(dú)立部分,即語(yǔ)法應(yīng)極小化。另外,語(yǔ)義反饋對(duì)增 加用戶的參與感甚為重要。有時(shí)甚至認(rèn)為是詞法層次的操作也需要語(yǔ)義反饋, 如拖動(dòng)一個(gè)圖形對(duì)象是一個(gè)詞法操作,但倘若反饋該操作潛在的語(yǔ)義效果,則 用戶的

33、參與感會(huì)極大地增加。這要求語(yǔ)義更加貼近于表示部分。顯然Seeheim 模型本身并不支持直接操作語(yǔ)法與語(yǔ)義的要求19】。雖然它處理的對(duì)話交互邏輯 是線性的,但它為其它模型奠定了理論基礎(chǔ)。 2 MVC模型 基于MVC的概念并考慮對(duì)CS和BS平臺(tái)的適應(yīng)性,界面代碼的體系結(jié) 構(gòu)定義靜態(tài)展示、邏輯支持和后臺(tái)資源的三層結(jié)構(gòu)。這樣做是為了獲得層間松 散的耦合和較強(qiáng)的層內(nèi)聚集201。 靜態(tài)展示層是界面展示的層,因此也是數(shù)據(jù)輸入輸出的層。該層由輸入 輸出控件和可見(jiàn)部件組成。對(duì)于輸入進(jìn)行局部約束和檢查的代碼也屬于該層。 邏輯支持層是對(duì)外部服務(wù)的調(diào)用、視圖層的事件響應(yīng)和視圖刷新處理的服務(wù)層。 該層與界面展示層和界面

34、功能具有松散的關(guān)聯(lián)。后臺(tái)資源層是用于外部數(shù)據(jù)和 部件服務(wù)的提供層。不同系統(tǒng)和部件服務(wù)是該層的主要組成,其中多數(shù)是系統(tǒng) 提供的現(xiàn)存代碼或預(yù)制的組件。 3 PAC模型 收外部的控制,并將控制傳遞給外部,他與抽象層直接交互;表達(dá)層負(fù)責(zé)與用 戶直接交互,包括輸入和輸出,表達(dá)層與控制層可以直接交互。該模型的表達(dá) 層通過(guò)控制層與抽象層進(jìn)行通信。 MVC和PAC模型屬于面向?qū)ο蟮亩啻砟P?,其突出特點(diǎn)是模塊化、并 行和分布式處理,已經(jīng)成為界面控制和實(shí)現(xiàn)的概念基礎(chǔ)。但概念模型以概念為 主,缺乏面向設(shè)計(jì)的工程實(shí)施表達(dá),其應(yīng)用依賴于設(shè)計(jì)者的認(rèn)識(shí)和運(yùn)用。 7 山東大學(xué)碩士學(xué)位論文 222陳述模型 陳述模型從軟件工程

35、的過(guò)程出發(fā),利用各種模型表達(dá)和把握界面的需求和 構(gòu)成。構(gòu)建用戶界面時(shí)不同的設(shè)計(jì)方法使用了不同的陳述模型。陳述模型依據(jù) 用戶如何指定頁(yè)面的布局和動(dòng)態(tài)行為可分為兩類。第一類是基于語(yǔ)言的,非常 容易支持用戶界面控制的范圍,但問(wèn)題是開(kāi)發(fā)者必須指定布局、位置和每個(gè)界 面對(duì)象的格式;第二類是圖形交互工具,可以很自然的創(chuàng)建用戶界面而且可以 讓非程序員使用,缺點(diǎn)是必須使用程序語(yǔ)言來(lái)添加對(duì)話框控制規(guī)范。 UIDEs-ModelBasedUserInterface 基于模型的用戶界面開(kāi)發(fā)環(huán)境【211 MB Environments 一般包括任務(wù)、域、表示、對(duì)話、用戶模型等和一 Development 個(gè)由這些模型

36、組成的并且能夠操縱的環(huán)境。 Task Model 任務(wù)模型 :任務(wù)模型描述了最終用戶計(jì)劃使用交互系統(tǒng)執(zhí)行的 任務(wù)。它是基于存在的任務(wù)模型的設(shè)計(jì)步驟的一個(gè)結(jié)果。任務(wù)模型常用于描述 應(yīng)用系統(tǒng)完成功能時(shí)執(zhí)行的操作序列,任務(wù)模型可以幫助理解應(yīng)用系統(tǒng),支持 有效的設(shè)計(jì),幫助進(jìn)行易用性評(píng)價(jià),并且可以重用任務(wù)設(shè)計(jì)模型。 ConcurTaskTrees是較為典型的滿足工程化要求的一個(gè)任務(wù)模型。該模型是由意 大利的Fabio 持。但任務(wù)模型方法主要強(qiáng)調(diào)任務(wù)的分析,而且對(duì)象結(jié)構(gòu)和關(guān)系對(duì)于界面復(fù)雜 性的影響缺乏直觀和全面的研究,影響了模型的描述能力。 Domain Model 域模型 :域模型描述了一般意義上的應(yīng)用

37、程序以及包括用 戶界面的詳細(xì)信息包括:在于應(yīng)用程序中對(duì)象的類層次:對(duì)象的屬性;能作用 于對(duì)象的行為;行為所需要的信息單元 參數(shù) ;行為的前狀態(tài)和后狀態(tài)。 Presentation Model 表示模型 :一個(gè)表達(dá)模型描述了應(yīng)用程序的展示結(jié)構(gòu), 這些結(jié)構(gòu)可以出現(xiàn)在最終用戶的面前,顯示它們的布局特點(diǎn)以及它們之間的可 視依賴。 User Model 用戶模型 :一個(gè)用戶模型描述了要開(kāi)發(fā)的交互系統(tǒng)的預(yù)期最終 用戶或最終用戶集團(tuán)的屬性。它的主要目的是支持個(gè)人用戶界面的創(chuàng)建。 DialogModel 對(duì)話模型 :一個(gè)對(duì)話模型用來(lái)描述人機(jī)對(duì)話。 ApplicationModel 應(yīng)用模型 :描述一個(gè)應(yīng)用程序

38、可以提供的服務(wù)。 山東大學(xué)碩士學(xué)位論文 Behavior Model 行為模型 :描述用戶的輸入行為。 備等。 23基于界面設(shè)計(jì)模式的界面開(kāi)發(fā) 231用戶界面設(shè)計(jì)模式的概況 Interface 界面設(shè)計(jì)模式UIP User Patterns 是設(shè)計(jì)模式在界面設(shè)計(jì)方面的應(yīng) 用和發(fā)展。用戶界面的設(shè)計(jì)者同樣注意到特定的用戶界面設(shè)計(jì)問(wèn)題反復(fù)出現(xiàn), 他們?cè)噲D構(gòu)建標(biāo)準(zhǔn)可復(fù)用的解決方案,來(lái)幫助解決常見(jiàn)、難度較大、帶有普遍 性的界面設(shè)計(jì)問(wèn)題221。因此用于歸納用戶界面設(shè)計(jì)解決方案的用戶界面設(shè)計(jì)模 式越來(lái)越受到計(jì)算機(jī)研究人員的重視。SIGCHl97231關(guān)于模式的專題討論會(huì)上把 用戶界面設(shè)計(jì)模式作為解決日益復(fù)雜

39、和多樣的人機(jī)交互設(shè)計(jì)的有效方法和手 段。TIDWELLt24】描述模式為“針對(duì)在一個(gè)特定的環(huán)境中帶有普遍性的設(shè)計(jì)問(wèn) 題的可能的好的解決方案,通過(guò)描述這些解決方案中不變的屬性。"模式能夠以 一致的易于閱讀和理解的方式提供強(qiáng)有力的一般的設(shè)計(jì)指導(dǎo),是關(guān)于優(yōu)秀設(shè)計(jì) 知識(shí)的表達(dá)。當(dāng)前存在一些界面設(shè)計(jì)模式,只不過(guò)主要是從工作模式上考慮, 針對(duì)某一個(gè)應(yīng)用問(wèn)題給出一個(gè)設(shè)計(jì)模式,而不是從界面自動(dòng)生成的角度去識(shí)別 界面設(shè)計(jì)模式的結(jié)構(gòu)及其關(guān)系,從而不能很好的為工程化的界面設(shè)計(jì)服務(wù)。同 時(shí),目前給出的設(shè)計(jì)模式大部分沒(méi)有形式化的描述,從而不利于界面自動(dòng)生成。 用戶界面設(shè)計(jì)模式首先由Borcherst25】提出,其中指出模式如何被移植到用 戶交互設(shè)計(jì)中。Weliet26】指出設(shè)計(jì)可用的系統(tǒng)是困難的,模式已成為解決界面設(shè) 計(jì)問(wèn)題的一個(gè)可能的方法。模式關(guān)注與問(wèn)題的上下文和設(shè)計(jì)方案,這個(gè)方案引 導(dǎo)設(shè)計(jì)者應(yīng)用設(shè)計(jì)知識(shí)解決問(wèn)題。探索了如何建立用戶界面設(shè)計(jì)模式,提出了 用戶界面設(shè)計(jì)模式的組成結(jié)構(gòu),以便使界面設(shè)計(jì)模式成為設(shè)計(jì)者的有效的、可 Pastor 法集成到軟件開(kāi)發(fā)過(guò)程中。Molinat28112911301和OscarJUST-UIt311提出了一 個(gè)基于概念模式的抽象用戶界面描述模型,并應(yīng)用到界面自動(dòng)生成中。同時(shí), 引入了一個(gè)圖形符號(hào),使描述更方便。JUST-UI在用戶界面中識(shí)別模式

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論