




已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)基于原语的界面设计模式建模方法.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 在软件系统的开发中,软件用户界面从分析到设计实现成为一个重要的 组成部分,占用了很大比例的开发资源:近十几年来,工业界学术界一直致力 于用户界面开发的研究。近年来,可视化的手工界面设计工具已被广泛采用, 但是,从开发效率、可维护、一致性、可重用、平台移植等方面,这种手工设 计方法不能满足需要。用户对界面需求的多变性和可定制性要求,更增加了界 面设计开发的难度。为了满足用户对界面需求的多变性和可定制性的要求,模 型驱动、界面分离和设计模式的思想逐渐被渗入界面开发过程中。 基于模型的界面开发方法把用户界面设计的所有元素都用模型来表示,能 够帮助设计者集中于概念方面以获取用户需求,避免过早的进行细节的设计, 同时使得一个界面的不同部分同它们所扮演的角色之间的关系更加清晰。但是 基于模型的界面开发由于缺乏有效的重用机制而不能被广泛应用。由此研究人 员提出了许多与界面设计相关的模式,为基于模型的界面开发以及界面设计知 识的重用提供了基础。 由此,本文在对界面的构成区域进行深入研究的基础上,通过对界面构成 成分进行分析,将界面构成归结成几种基本的界面设计模式实例。并通过进一 步深入的研究,提出了一种可以组合从而构成满足各种不同需求界面的最小单 元界面设计模式原语。从而使得界面设计模式可以参数化和实例化,而且 通过以原语作为基本的构成元素,得到基于原语的抽象界面设计模式,进而通 过对抽象界面设计模式的定制最终得到满足用户需求的界面设计模式实例。 在此基础上,以界面设计模式实例的自动生成为目的,本文提出了一套基 于原语的界面设计模式的建模方法,在建模过程中,设计者通过在数据视图, 交互视图和展示视图的设计完成对界面设计模式原语的定制,将最终用户界面 需求的数据信息、交互信息和展示信息封装在一个界面设计模式对象( 实例) 中,完成对界面需求的建模。最后,代码生成引擎以设计完善的模式对象作为 输入,从模式对象中获取生成用户界面所需要的各种数据,包括对象的交互和 展示信息,最终实现用户界面的自动化生成。 本文的研究意义在于,通过对界面构成进行分析,提出了小粒度的基于界 山东大学硕士学位论文 面构成成分的界面设计模式,并进一步提出界面设计模式原语。利用界面设计 模式原语对界面设计模式的抽象表示,将界面设计模式建模方法集成到工程化 的界面开发工具中,并且通过对界面设计模式原语的定制,实现对用户界面模 型的信息建模,从而实现模型驱动的用户界面的自动生成。 关键词:界面设计模式原语;界面设计模式;用户界面自动生成 i i 山东大学硕士学位论文 a b s t r a c t d u r i n gs o f t w a r es y s t e md e v e l o p m e n t , s o r w a u r eu s e ri n t e r f a c eb e c o m e s 趾 i m p o r t a n tp a n ,w h i c ho c c u p i e sl a 唱ed e v e l o p m e n tr e s o u r c e sf b m 锄a l y s i st od e s i g n 锄di m p l e m e n t i nr e c e n td e c a d e s ,i n d u s t 巧趾da c a d e m ef i e l d sc o n c e n t r a t eo nu s e r i n t e i f a c ed e v e l o p m e n tr e s e a r c h e s r e c e n t l y ,v i s u a lh a n d w o r ki n t e l l l 如ed e s i g nt o o l s h a v eb e e na d o p t e d ,b u t 1 i sk i n do fh 趾d w o r kd e s i g nm e t h o dc a n tm e e tt h e r e q u i r e m e n t sf r o mt h ea s p e c t so fd e v e l o p m e n te f j e i c i e n c y ,m a i n t e n a n c e ,c o n s i s t e n c y , r e u s a b l e p e r f o r m a n c e ,p l a t f o 加t r 锄s p l 趾t a l l d s oo n t h ev a r i a b i l i 锣 a i l d c u s t o r n i z a t i o nr e q u i r e m e n t so fi n t e 矗ei n c r e a s et h ed i 蚯c u l 够o fi n t e r f a c ed e s i 弘 d e v e l o p m e n t t 6s a t i s 匆s u c hr e q u i r e m e n t s ,t h ei d e 鹊o fm o d e ld r i v e n ,i n t e r f a c e d i v i s i o na n dd e s i 印p a t t e ma u r ei n t r o d u c e di n t oi n t e r f 缸ed e v e l o p m e n tg r a d u a l l y m o d e l - b a s e di n t e a c ed e v e l o p m e n tm e t h o d sr 印r e s e n ta l lu s e ri n t e a c ed e s i 驴 e l e m e n t si nn 1 0 d e l s ,w h i c hc 眦h e l pd e s i g i l e r st oc o n c e n t r a t e0 nc o n c e p t st 0o b t a i n u s e rr e q u i r e m e n t s 锄da v o i dd e t a i ld e s i g n i n gt o oe a r l y a tt h es 锄et i m e ,“m a k e s t h er e l a t i o n sb e 俩e e nd i f f e r e n tp a r t so f 锄i n t e r f a c ea n dr o l e sp l a y e db yt l l e mm u c h c l e 盯e r h o 、v e v e r ,t h i sm e t h o dc 锄tb ea p p l i e d 谢d e l yb e c a u s ei tl a c k se f j f e c t i v e r e u s em e c h a n i s m t h e r e f o r e ,r e s e a r c h e r sa d v a n c em a n yi n t e r f a c ed e s i g np a t t e m s w h i c hp r o v i d ef o u n d a t i o nt 0m o d e l - b a s e di n t e r f a c ed e v e l o p m e n t 肌di n t e r f a c e d e s i g nk n o w i e d g er e u s e t h e r e f o r e ,b a s e do nd e e pr e s e a r c h e so fi n t e r f a c ec o m p o s i n ga r e 嬲,t h i sp a p e r s u r 璐u pi n t e r f a c ec o m p o s i t i o n t 0s o m es i r n p l ei n t e r f a c ed e s i g np a t t e mi n s t a n c e sb y 锄a l y 五n gi n t e r f a c ec o m p o s i t i o ne l e m e n t w i t l lf u n h e rr e s e a r c h e s ,i n t e m 比ed e s i 盟 p a t t e mp r i m i t i v e sw h i c hc 锄b ec o n s i d e r e dt h em i n i m 哪u n i tt 0m e e td i f | i e r e n t k i n d so fr e q u i r e m e n t sb yc o m b i n a t i o na r ep u tf o r w a r d nm a k e si n t e r f a c ed e s i g n p a t t e mb ep a r 锄e t e r i z a t i o n 锄di n s t 锄t i a t i o n p r i m i t i v e - b a s e da b s t r a c ti n t e r f k e d e s i 印p a t t e mi s o b t a i n e db yc o n s i d e r i n gp r i m i t i v e s 淞e s s e 矾a l c o m p o s i n g e l e m e n t s c u s t o m i z ea b s t r a c ti n t e r f a c ed e s i g l lp a t t e l l lt oh a v e 趾i n t e r | k ed e s i 印 山东大学硕士学位论文 p a t t e mi n s t a l l c ew h i c hc 锄m e e tu s e rr e q u i r e m e n t s b a s e do na b o v e ,谢t ht h e 函mo fi n t e r f a c ed e s i g np a t t e mi n s t 粕c ea u t 0 g e n e r a t i o n ,h i sp a p e ra d v a n c e sas u i to fp r i m i t i v e b a s e di n t e 以c ed e s i 驴p 矾e m m o d e l i n gm e t h o d s d u r i n gm o d e l i n g ,d e s i g n e r sc o m p l e t ec u s t o m i 五n gi n t e r f k e d e s i g np a t t e mp r i m i t i v e sb yd e s i g n i n gi n d a t av i e w , i n t e r a c t i o n 讥e wa i l d p r e s e n t a t i o nv i ew e n c 印s u l a t ed a t a ,i n t e r a c t i o na j l dp r e s e n t a t i o ni n f o r m a :t i o no f f i n a lu s e ri n t e r f a c er e q u i r e m e n t si n 锄i n t e m c ed e s i g i lp a t t e mo b je c t ( i n s t a i l c e ) t o c o m p l e t e i n t e r f a c er e q u i r e m e n t s m o d e l i n g a tl 弱t ,c o d e g e n e r a t i o ne n g i n e c o n s i d e r sw e n - d e s i g n e dp a t t e mo b je c ta si n p u ta n do b t a i n sa 1 id a t ai n c l u d i n g i n t e r a c t i o n 锄dp r e s e n t a t i o ni n f o r m a t i o nw h i c ha r en e e d e dt og e n e r a t eu s e ri n t e r f a c e f r o mp a t t e mo b je c t u s e ri n t e r f a c ea u t o m a t i cg e n e r a t i o nc o m e st r u ef i n a l l y t h er e s e a r c hs e n s eo ft h i sp a p e ri sm a ts m a l lg r a n u l a r i 锣i n t e r f a c ed e s i g n p a t t e mb a s e do ni n t e 血c ec o m p o s i n ge l e m e n t si sa d v a n c e db ya n a l y z i n gi n t e m c e c o m p o s i n g d u et oa b o v e ,i n t e r f a c ed e s i g np a t t e mp r i m i t i v ei sp u tf o r w a r d t a k e a “a i l t a g eo fi n t e r 】ed e s i g np a t t e mp r i m i t i v et or e p r e s e n ti n t e m c ed e s i g l lp a t t e m a b s t r a c t l y i n t e r f a c ed e s i g np a t t e mm o d e l i n gm e t h o di si n t e g r a t e di n t oe n g i n e e r i n g i n t e 赶ed e v e l o p m e n tt o o l s b yc u s t o m i z i n gi n t e d a c ed e s i g np a t t e mp r i m i t i v e , r e a l i z eu s e ri n t e a c ei n f o r m a t i o nm o d e l i n g ,a n dt h e ni m p l e m e n tm o d e ld r i v e nu s e r i n t e r f a c ea u t og e n e r a t i o n k e yw o r d s :i n t e l f a c ed e s i g np a t t e r n ,i n t e r f a c ed e s i g np a t t e r np r i m i t i v e , u s e r i n t e r f h c ea u t o m a t i cg e n e r a t i o n 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者虢赴日期:迎唑l 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意 学校保留或向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他 复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:赶导师签名: 山东大学硕士学位论文 第一章引言 1 1 课题的研究背景及意义 在现在的软件开发过程中,界面开发的效率和质量已经成为影响整个软件 产品质量的一个重要因素。基于模型的界面开发方法把用户界面设计的所有元 素都用模型来表示,能够帮助设计者集中于概念方面以获取用户需求,避免过 早的进行细节的设计,同时使得一个界面的不同部分同它们所扮演的角色之间 的关系更加清晰。 但是基于模型的界面开发由于缺乏有效的重用机制而不能被广泛应用。许 多与界面设计相关的模式被提出,为基于模型的界面开发以及界面设计知识的 重用提供了基础。这些模式是设计模式在界面设计方面的应用和发展,它试图 构建标准可复用的解决方案,来帮助解决常见、难度较大、带有普遍性的界面 设计问题,它代表了对界面设计的新方法和新方向。 这些模式以软件设计模式为基础,主要以任务来划分模式,针对不同应用 问题给出各种模式,例如引导模式,出错模式。从工程化的界面开发角度考虑, 这些模式粒度太大,难以集成到工程化的界面开发工具中。另外,如何支持所 见即所得的、用户充分参与式的界面设计也是当前这些模式所没有提供的。 另外,为了方便的描述用户界面的需求,研究人员提出了一个基于概念模 式的抽象用户界面描述模型,并引入了图形符号标记,。它以一种抽象的描述 方法来分析并表达i j i 概念需求,并没有考虑实现细节,难以获取与界面展示相 关的信息,不能向用户展示界面的原型,从而无法更好地支持用户参与所见即 所得的界面设计。 本文的研究意义在于,通过对界面构成进行分析,提出了小粒度的基于界 面构成成分的界面设计模式,并进一步提出界面设计模式原语。利用界面设计 模式原语对界面设计模式的抽象表示,将界面设计模式建模方法集成到工程化 的界面开发工具中,并且通过对界面设计模式原语的定制,实现对用户界面模 型的信息建模,从而实现模型驱动的用户界面的自动生成。 山东大学硕士学位论文 1 2 本文的组织结构 本文从总体上看,分为七个部分:第一部分引言,介绍课题研究背景以及 课题的研究意义;第二部分对课题研究背景以及国内外研究现状进行说明;第 三部分介绍了对界面构成区域的分析,并且基于分析结果给出了基本的、简单 的界面设计模式实例;第四部分提出界面设计模式原语,并且对每种原语进行 了详尽的分析,给出了原语的定义,以及基本的属性和意义;第五部分对组成 模式的比较复杂的p r e s e n t a t i o np r o p e 啊原语给出了详细的论述,而后从界面设 计模式原语的角度出发给出了抽象界面设计模式的定义,并且从原语层次进一 步对第三部分提出的界面设计模式实例进行详细论述,分析了基于原语的界面 设计模式的特征,最后本部分给出了原语到最终用户界面的四层映射关系,对 基于原语的界面设计模式建模方法给出了说明;第六部分阐述了本文上述部分 提出的基于原语的界面设计模式建模方法在a u 模型中的验证过程,以 a sp n e t 为目的代码,代码生成引擎以界面设计模式对象为信息来源,生成最 终的用户界面,本部分最后给出了各种设计模式生成界面的实例;第七部分总 结,对已经完成的工作做了总结,并提出了下一步工作的方向。 山东大学硕士学位论文 2 1 界面设计模式 第二章国内外研究现状 2 1 1 基于任务模型的界面设计 任务模型常用于描述应用系统完成功能时执行的操作序列,任务模型可以 帮助理解应用系统,支持有效的设计,帮助进行易用性评价,并且可以重用任 务设计模型。对任务模型工程化的要求如下: ( 1 ) 要有灵活、表达能力强、语义精确的符号系统; ( 2 ) 要有系统化的方法指导怎样去使用模型中的信息; ( 3 ) 模型中的信息能被自动化软件工具读取。这些要求对代码的生成发挥 很重要的作用。 考虑到以上提到的对任务模型工程化的要求,c o n c u r 协k t r e e s 是较为典型 的满足工程化要求的一个任务模型。该模型是由意大利的f a b i op a t e m o 最早在 1 9 9 8 年提出的,发展至今,已经有c t t e 工具支持。c o n c u r t a s k t r e e s 有如下 特点:1 ) 关注活动;2 ) 具有层次结构;3 ) 使用图形化的语法表达;4 ) 有丰 富的操作表达符号;5 ) 任务配置机制灵活,并且可以分为4 种任务,即用户任 务、应用任务、交互任务、抽象任务;6 ) 用属性描述任务和对象的特征,提供 必要信息。 基于模型的界面开发方法把界面的设计分解为对不同构造的模型。一个模 型是对用户界面的某个方面的详细描述。通过把注意力集中在界面的某个方面, 模型可以用高度专业化的标记来表达。这种特点使得通过基于模型的方法比其 它方法开发的界面更容易创建和维护。目前的基于模型的界面开发主要集中在 以下方面: 任务模型方法可以根据设备的不同生成相应界面,强调建立任务模型来描 写达到用户目的通过不同平台完成的活动,还可以应用到迁移界面的研究【1 1 。 文献2 1 基于任务模型提出一个基于三层抽象的应用方案,允许设计者集中关注 逻辑方面,定义了许多能够从抽象到用户界面获取的转换。既考虑了可用平台 山东大学硕士学位论文 和它们的交互形态又保持可用性。这个转换由工具t e r e s a 【3 1 支持,它能够为 选择最合适的交互技术和方法提供建议并来组合它们。 但任务模型方法主要强调任务的分析,粒度较大,对于复杂界面的结构和 各部分之间的交互缺乏足够的支持,影响了模型的描述能力。 2 1 2 基于界面模版的界面设计 界面模板u t ( u s e ri n t e r f a c et e m p l a t e ) 是对用户界面的一个宏观构成、布 局以及风格等总体属性的描述,其元素由抽象表示单元a p u ( a b s t r a c t p r e s e n t a t i o nu n i t ) 组成。抽象表示单元是实际界面元素的抽象,界面模板u i t 的 组成部分,可以分类为原子a p u 和复合a p u 。原子a p u ( 用印u 来表示) 是组 成界面模板u t 的最小单元,其属性包括名称、i o ( 输入输出) 类型、风格、内 容类型、位置、大小等。 界面模板作为参数化设计方法称为界面设计模式的直观表现形式,它以 参数化的控制方式对界面进行裁剪、组合和复用。 用户界面的体系结构模型f m p 【4 】( f 吼c t i o n ,m o d e l ,p r e s e m a t i o n ) 从用户界面 的功能需求和数据对象模型需求出发,建立起用户界面组成和关系的界面交互 图,形成以设计实现为目标的界面体系结构的描述;进而,建立起基于该描述 的界面布局模板,最终实现用户界面代码结构的自动生成。界面模板是参数化 的,允许这些模板既适用于器具的普通功能也适用于其特定的功能。f 御模型 是一种面向软件工程和支持用户界面自动生成的界面模型,界面模版是其中的 一个子模块。 文献5 1 实现了一个基于模板的数据层到表现层的映射引擎 d m 也( d a t a - i n t e r f a c em a p p i n ge n g i n e ) 。d i m e 可以将数据层自动映射到表现层, 同时生成与表现层匹配的标准面向对象的p a s c a l 代码。将表现层上的界面元素 定义为9 种类型,对应地有9 种界面模板放在模板库中。但不能实现具体的参 数控制,因此模板类型可扩充性太差。 文献【6 ,7 1 为了满足普适性计算的要求,提出用s m 抓t e m p l a t e 模板设计远程 应用器具的界面自动生成。此模板应用参数化的方式控制何时为用户自动生成 山东大学硕士学位论文 常用的界面。此类模板容易适应存在的不同平台上的应用模型和界面生成,因 此能够将模板应用到适当的界面设计习惯中。但是此方法没有对界面的抽象描 述,平台相关性太强。 2 1 3 基于u m l i 的界面设计 为用户界面建模时自然会首先考虑眦。然而,i m ,对于用户界面建模 是不足的。模型驱动的界面开发环境( 一u d e ) 可以系统的表达用户界面,但 目前的u d e 却大多不能很好的表达系统设计。文献【8 1 0 】提出将i m ,与 m b 一d e 集成实现基于切v 几i ( u n i f i e dm o d e l i n gl a n g u a g ef o rh l t e r a c t i v e a p p l i c a t i o n s ) 的界面设计。i m ,i 的产生就是为了结合眦和m d e 两种 技术,实现两者的统一。通过加入对交互任务的表达,眦i 在保留i m ,表达 系统模型的基础上,可以较好的表达界面交互模型。 i j ,i 扩展了i j ,加强了表达界面模型的能力,降低了结构复杂性以及 表达界面模型的难度,结合任务模型和活动图来表达界面的交互活动。因为它 采用了i m ,做为扩展建模语言,因此容易推广。它能同时表达系统行为和界 面行为。但是眦i 扩展了i m ,元模型,只能由为此符号设计的专有工具趣o i 支持。这与w i s d o m 方法正相反,它仅使用标准眦机制的元类型扩展i m , 符号以确保一个范围更广的工具的支持。 2 1 4 基于形式化方法的界面设计 软件生产自动化的前提是软件的形式化。形式化方法由于其特有的描述的 精确性和无二义性而被许多研究人员用于界面设计。形式化方法能够证明描述 的可靠性和一个系统正确地被实现的特性,以及通过证明系统的属性而不是运 行时来决定它的形为。针对具体界面需求的不同采用不同的形式化方法。 文献【1 1 1 提出一个产生用户界面原型的需求工程过程,并产生了一个以高层 p e t r i 网描写的形式化规范,依据此规范产生界面原型。用户界面的静态和动态 信息都用p e t r i 网表示。其优点是通过开发的算法自动产生界面、能够对场景进 山东大学硕士学位论文 行验证和用户面向目标应用的进一步升级。 文献1 2 1 提出了一个交互式用户界面的通用模型,并利用形式化方法对其进 行定义与研究,讨论了如何使用形式化描述语言l o t o s 和基于动作的时序逻 辑a c t l ( a c t i o nb a s e dt e m p o r a jl o g i c a j ) 对系统进行描述与验证,这有利于人们对 交互式用户界面的动态行为进行研究、评估与定义。 文献n 3 1 应用扩展的o b j e c t z 语言,提出在具体界面开发前形式化描述支持 功能的抽象界面,避免了许多不成熟的设计的发生,并能够对交互式系统提供 可用性和安全性分析。文献【1 4 1 给出了一个用o b j e c t - z 设计用户界面的实例,并 从任务有效性、重用、人机通信、健壮性和灵活性这5 个方面对交互式系统的 可用性进行了分析,证明了如何将o b j e c t z 用于帮助界面的可用性分析。基于 形式化方法的界面设计能够在设计的早期阶段发现错误,有助于缩短开发周期, 保证开发质量。但是大都没有对形式化的建模和支持的用户界面之间的相互关 系进行研究。 文献”1 提出一个具有形式语义和语法的一个面向对象描述语言h a d z e 。它 基于z 和z + + ,并应用在超媒体应用中。提出了超媒体应用的三个部分:概念框 架,指出底层数据特征的规范;结构框架,描写如何把内容组织成组合体; p e r s p e c t i v e 展望框架,它起着导航和展示的作用。h a d e z 特别适用于数据集中 的应用规范中。 形式化方法为界面信息的准确地描述提供了技术基础。能够在设计的早期 阶段发现错误,有助于缩短开发周期,保证开发质量。能够支持形式化的验证机 制。但是大都没有对形式化的建模和支持的用户界面之间的相互关系进行研究, 也没有从工程化的角度设计界面。 此方法的优点: 能够使设计者无二义性的描述界面需求并验证属性信息。 能够帮助设计者发现设计中的错误,而其他的方法只能在实现和测试时才 能发现。 由于系统的形式化规范为文档服务而且验证规范使得维护人员可以在设计 阶段修改变化带来的影响,从而提高了维护性能。 6 山东大学硕士学位论文 2 1 5 基于界面设计模式的界面设计 界面设计模式u p ( u s e ri n t e r f a c ep a t t e m s ) 是目前解决日渐复杂的和多样性 的界面设计的常用技术。它是设计模式在界面设计方面的应用和发展。它试图 构建标准可复用的解决方案,来帮助解决常见、难度较大、带有普遍性的界面 设计问题。它代表了对界面设计的新方法和新方向。当前存在一些i j i 模式集 合以及在此集合上的界面设计。这些界面设计模式主要从工作模式上考虑,针 对某一个应用问题给出一个设计模式,而不是从界面自动生成的角度去识别界 面设计模式的结构及其关系,从而不能很好的为工程化的界面设计服务。同时, 目前给出的设计模式大部分没有形式化的描述,从而不利于界面自动生成。 用户界面设计模式首先在文献【16 】中提出,其中指出模式如何被移植到用户 交互设计中。文献【1 7 1 指出设计可用的系统是困难的,设计者需要有效的工具。 而有效的工具应基于应用系统的成功的设计。对于新手和有经验的设计者来说, 获取关于成功的设计系统的知识一样重要。这些知识主要以指导策略的形式描 述。不管怎样,这些策略在许多方面存在问题,诸如选择、有效性和可用性方 面。模式已成为解决这些问题的一个可能的方法。模式关注与问题的上下文和 设计方案,这个方案引导设计者应用设计知识解决问题。体系结构或软件工程 模式在结构方面是不同的,用户界面设计模式也需要自己的模式结构,并且关 注可用性。探索了如何建立用户界面设计模式,以便使界面设计模式成为设计 者的有效的、可用的工具。提出了用户界面设计模式的组成结构,并给出了具 体的一个实例。 文献1 8 1 应用文献【1 7 1 的思想给出一个建立用户界面的方法,并将此方法集 成到软件开发过程中。 s t i j i 【1 9 ,2 4 1 提出了一个基于概念模式的抽象用户界面描述模型,并应用 到界面自动生成中。此模型集中了展示和导航两方面的问题。同时,引入了一 个图形符号,使描述更方便。彤s t u i 在用户界面中识别模式并且依据问题域 抽象它们这个模型基于概念模型来获取基本的u 需求,传统的眦c a s e 工 具,例如r a t i o n a lr 0 s e ,t o g e t h e f 或如g o ,不能明确的考虑u s 的规范,但是这些 汇集集中讨论设计问题而不是分析问趔2 0 1 。通过对基于模型。模式汇集产生 7 山东大学硕士学位论文 的界面开发环境i d e 研究发现,在分析阶段的模式未能得到开发。提出在 概念层上收集关于界面特征的信息的方法。在提出一个o o 方法之后,主要关 注如何在概念层上收集界面信息,此处应用基于概念界面模式的识别技术。但 是没有给出如何确定规范与系统相关的界面模式。 文献【2 5 j 通过研究全面的面向用户的界面设计过程,提出用基于模式的p s a 方法设计用户界面。p s a 的使用范围很广,不仅处理设计阶段的模式而且设计 阶段之前也有设计模式。并通过任务子任务模式说明一个任务的知识和一个合 适的交互设计方案是如何通信的。需进一步解决的问题有:关于模式健壮性; 模式能否一直保持易通信性。 2 2 模型驱动体系结构 模型驱动架构( a ) 是一个软件开发框架,它是由o m g 定义的。m a 的 关键之处是,模型在软件开发过程之中扮演了非常重要的角色。在a 中, 软件开发过程是由对软件系统的建模行为驱动的。加a 是一种基于i m , 以及其他工业标准的框架。和i 咖,相比,加a 能够创建出机器可读和高度抽 象的模型,这些模型以独立于实现的技术开发,以标准化方式存储。因此这些 模型可以被重复访问,并被自动转化为纲要,代码框架,测试工具,集成化代 码以及各种平台的部署描述【2 1 1 。 a 把建模语言用作一种编程语言而不仅仅是设计语言。a 以一种全 新的方式将i t 技术的一系列新的趋势性技术整合到一起。这些技术包括基于组 件的开发,设计模式,中间件,说明性规约,抽象,多层系统,企业应用整合 以及契约式设计【2 2 1 。m d a 的出现,为提高软件开发效率,增强软件的可移植 性,协同工作能力和可维护性,以及文档编制的便利性指明了解决之道。 ( 1 ) 模型驱动开发的 基本框架 传统上,从模型到模 型的转换,或者从模型到 代码的变换,主要是手工 完成的。许多工具可以直 图2 1 模型驱动开发主要步骤 山东大学硕士学位论文 接从模型生成一部分代码,但是往往只是生成一些模板代码,大部分工作还是 需要手工完成。模型驱动开发的主要步骤如图2 1 所示,包含了三个模型,两 个变换工具之间的协作关系。变换工具以p i m 为输入,并把它变换成p s m 。另 一个变换工具再把p s m 变换成代码。 从图2 1 中看出,模型驱动开发实现的两个关键转换是由工具支持自动完 成的【2 3 1 。目前有不少工具,可以将p s m 转化成代码,因为p s m 与代码已经相 当接近。模型驱动开发的难点是实现p i m 到p s m 转化的自动化。现有的工具 还没有完全将p i m 成功转换为p s m ,在许多情况下仍需要用户干预或强化p s m 描述。但是总可以从p i m 生成一个基本可运行的应用程序。 模型总是以某种语言表述的。可以是眦,也可以是自然语言,或者某种 编程语言。为了支持模型的自动转换,需要对模型或模型描述施加一定的限制 或约束。 ( 2 ) o m g 的四个建模层次 a 技术的相关概念均是o m g 的一系列标准:统一建模语言i m ,( u n m e d m o d e l i n gl a n g u a g e ) 4 3 1 、元对象设施m o f ( m e t ao b je c tf a c i l i 锣) 、x m i ,元数据 交换沮【4 5 1 ( x m lm e t a d a t ai i l t e r c h a n g e ) 、公共数据仓库元模型c w m 【4 6 1 ( c o m m o n w 打e h o u s em e t a m o d e l ) 。a 的核心标准组成了创建模式驱动的一致性系统纲 要的基础,这个系统纲要完成授权、发布和管理模型的功能。 其中m o f 为m d a 的核心,它包含四个模型层次:m o ,m l ,m 2 和m 3 。m o f 可以被用来描述关系数据模型的建模结构,也被用来描述眦类模型的建模 结构:它还被用来描述其他种类的建模所用到的结构。m o f 是通用的、抽象的, 用于定义元模型的语言,它可以被称为m e t a n l o d e l 或者定义元模型的模型。 m o 层:实例。运行的系统位于m o 层,这是实例( i n s t 觚c e ) 所存在的层次。 m 1 层:系统的模型。m 1 层包含模型,比如软件系统的眦模型。m 0 层 和m 1 层之间有确定的关系。m l 层的概念都是m o 层实例的归类,换句话说, m 0 层的元素都是m 1 层的元素的实例。 m 2 层:模型的模型。位于m 2 层的模型。位于m 1 层的元素( 类、属性以及 其余模型元素) 本身就是m 2 层的实例,m 2 层的元素规定了m 1 层的元素。 m 3 层:m 2 的模型。m 2 层元素可以看成是更高层m 3 层( 元一元层) 的元素。 9 山东大学硕士学位论文 ( 3 ) m d a 工具对模型变换的支持 工具对m d a 的支持是多种多样的,很多年前就有工具能支持从模型生成 简单的代码,这也包含在m d a 的范畴中。但是,在理想的情况下,a 对模 型和模型变换提出了很高的要求。工具对模型变换所提供的支持主要表现在以 下几方面: p i m 到p s m 的变换:这类工具把高层次p i m 变换成一个或多个p s m 。目 前这类工具还很少见,虽然有一些,但是只提供了这方面的最基本功能。 p s m 到代码的变换:这些工具有内置的变换定义,把符合某种预定义类型 的模型作为输入,并输出符合另一种预定义类型的模型。源模型是p s m ,目标 模型则是代码模型。事实上,传统c a s e 工具就是按照这个模式生成代码的。 p i m 到代码变换:同时支持从p i m 到p s m 和从p s m 到代码的变换。有时 候,用户看到的只是从p i m 到代码的直接变换,p s m 则是隐含的。这种类型的 工具把源语言、目标语言以及变换定义都内置其中了,它们的行为就像黑盒一 样。本文所实现的代码生成就是这一类型。 2 3 模型转换方法 模型转换是模型驱动开发过程中的一个关键步骤,首先通过抽象分别建立 源模型和目标模型的元模型,对比得到的两个形式化元模型的抽象组成元素及 其语义,定义它们之间映射规则口引。现有的模型转换方法大致可以分为以下几 类: 1 ) 直接操控方法( d i r e c t - m a n i p u l a t i o na p p r o a c h e s ) 这种方法提供一个内部模型表示加上一些操控模型的a p i ,一般实现为一 个面向对象的框架。用户必须用编程语言从头实现转换规则和进度安排。这种 方法在实现转换方面很少为用户提供甚至没有提供指导,所有的基础工作都要 靠用户完成。这种方法实际上是由设计人员手工将p i m 转换成p s m ,是一种低 层次的转换方法。长远看,该方法不实用【2 7 1 。 2 ) 关系方法( r e l a t i o n a la p p r o a c h e s ) 这一类方法的主要概念是关系代数、声明式的方法和带o c l 约束的映射规 则。其基本思想是在一个关系中陈述源模型和目标模型元素的类型,并用约束 1 0 山东大学硕士学位论文 来描述【2 8 1 。该方法的优点是对许多简单的转换来说是很方便的,但对复杂的转 换则不能表达抽象信息的丢失。这类方法还破坏了柔性和声明表达式之间的平 衡阴。 3 ) 基于图转换的方法( q a p h t r a n s f o r m a t i o n b a s e da p p r o a c h e s ) 这类模型转换方法采用图转换的理论,在有类型和属性并带有标号的类似 眦模型的图上操作,类、对象、用例和角色等建模元素映射为一个图顶点, 它们之间的关系映射为边。这些方法有很强的理论基础,但由于转换进度安排 和规则应用策略的不确定性,要仔细考虑转换过程是否可终止以及规则的应用 次序,因而是最复杂的。已经有一些关于该方法的原型研究的经验,但其概念 与工业标准相距太远,妨碍了其被i m ,业界接受。此外,如何在实际中解决其 复杂性有待于进一步的观察。 作为对图转换方法的扩展,文献2 9 1 提出了一种使用扩展的i m ,对象图进行 模型转换的方法,用条件、重复、参数化等概念扩展了对象图,以此来描述转 换规则,从而建立目标模型的类、实例及其关系。由于语言的依赖性,对象图 用来描述法方法体时可复用性较差,这种方法也不能处理没有严格的次序要求 的并发控制流。基于过程图( p r o c e s sq 印h ) 的转换方法,通过把过程图( 带有丰 富的语义信息来描述过程结构) 分解成结构信息流,实现源模型到目标模型的转 换。但大多数的业务建模没有提供足够的精确语义信息来支持这种方法。 4 ) 结构驱动的方法( s t m c t l l r e d r i v e na p p r o a c h e s ) 这类方法先建立目标模型的层次结构,然后设置其属性和引用,由整个框 架决定转换的进度安排和规则应用策略,用户主要提供转换规则( 如o 砸m i j ) 。 基本的思想是复制源模型的元素到目标模型,得到符合要求的转换效果。这类 的方法在开发特定应用( 如从眦模型生成e 皿和数据模式) 的环境中是很有效 的,无需迭代,支持源模型元素和目标模型元素之间l 如1 和1 t o n 的转换。但目前 还不清楚这类方法能否支持其他类型的应用【3 们。 5 ) 使用x s l t 实现的转换 由于模型可以通过使用x m l 元数据交换( x m lm e t a d a t ah t e r c h a l l g e ,咀) 来用x 垭序列化,也就可以采用x s l t 来实现模型转换【3 1 1 。但该方法缺乏精确 的数学基础,由于x 加和x s l t 的冗长和缺乏可读性,用x s l t 手工实现模型转 山东大学硕士学位论文 换维护很困难。而且当模型不是树状而是复杂的图结构时,x s l t 作为转换语言 效率是很低的。 6 ) 混合方法( i y b r i da p p r o a c h e s ) 混合方法是前面所介绍的几类方法的混合使用。如x d e 、a t l 【3 2 1 等。此外, w e b s a 【3 3 1 方法提出了基于体系结构的、e b 应用建模,将体系结构的思想用于 模型驱动开发,但只提出了一个扩展m d a 模型架构的建议,没有给出完整的模 型转换定义。d a s 【3 4 1 采用了一种基于p i m 分层( 概念层,导航层,表示层) 的 结构映射方法,用于开发使用舭和对象关系技术的w e b 信息系统。该方法对 目标系统的实现技术做了较强的限制,目标应用系统也局限于特定的应用领域。 文献3 5 】提出了使用新的元建模技术的思想,试图以一种统一的方式( 与某一层 次的实例化方法无关) 来定义转换语言,实现任意层次间的模型转换。因为不 符合目前的o m g 的m o f 标准,难以被业界接受。 模型转换是一个较新的研究领域,国内的研究还刚刚起步。上述众多方法 中大多数是更加依赖语法转换而不是建模元素语义的转换。总的来说,到目前 为止,模型间的转换还没有取得突破性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级 党规党章进课堂教学计划
- 岩土勘察测量培训课件
- 艺术画廊店面租赁及作品转让协议
- 电力箱变安装与供电接入合同
- 企业员工招聘、培训及离职管理服务框架协议
- 酒店业2025年运营风险管理与服务质量标准化报告
- 小车驾驶安全培训
- 广东省云浮市数据中心消防安全测试题十五(含答案)
- 校企合作合同(标准版)
- 2025年国家公务员考试公共基础知识法律基础知识考试题库及答案(共350题)
- 蜜蜂认养协议书
- 2025-2030中国铝合金门窗行业发展分析及投资前景与战略规划研究报告
- 矿泉水定制合同协议
- 临床技术操作规范麻醉学分册
- CNAS-CC121-2017 环境管理体系审核及认证的能力要求
- 电力工程项目中八大员的具体职责
- 纪念九·一八:致敬那场永不妥协的抗争-主题班会课件
- 铂耐药复发性卵巢癌诊治中国专家共识(2025年版)解读课件
- 《人工智能基础与应用-(AIGC实战 慕课版)》全套教学课件
- 2025年护士执业资格考试题库(社区护理学专项)-社区护理护理法律法规试题
- 第一单元 从感知到物联 第2课传感之古今未来 教学设计2024-2025学年 人教版新教材 初中信息技术八年级上册
评论
0/150
提交评论