已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)支持用户界面建模及代码自动生成的扩展对象模型.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 支持用户界面建模及代码自动生成的扩展对象模型 摘要 用户界面是系统和用户交互的基础。但以前提出的各种建模工具对于用 户界面描述的支持层次较低,很难满足复杂界面的工程设计描述需要。 在复杂界面的设计中,界面的组成要求根据处理对象的类型和操作的性 质确定各个交互对象的特性、构成和特殊行为:被处理对象间的逻辑关系要 求建立交互对象问的关联行为;用户的输入限制和操作限制也会对界面的组 成施加影响和限制。 一般对象模型从抽象的计算关系上描述其组成和行为。这样的描述只能 建立抽象的数据结构,不能满足依据对象模型建立界面组成的需要。 本文根据界面工程设计和自动化的需要,给出一种支持界面和代码自动 生成的扩展对象模型,并给出依据该扩展对象模型自动生成用户界面和代码 的方法。 本文所给出的扩展对象模型,在一般对象描述的基础上扩展了对象的属 性和特征,以满足建立界面工程模型的需要。该模型的主要扩展部分包括: 提出用户界面( u 1 ) 类型用于用户界面交互对象( u i o ) 类型的描述;提出 数据长度以满足数据库生成的需要,并为界面自动布局提供基本信息;提出 属性取值范围用于支持界面代码生成过程中的输入正确性验证;提出值来源 用于表达交互对象中的数据来源;提出属性分组以满足界面布局时用户的心 理和视觉特性的需要;提出导出关系以满足界面上具有计算关系的u i o 计算 的需要:提出联动关系以满足界面上用户操作时有相互影响的u i o 的用户代 码生成的需要。 根据该扩展对象模型,本文给出了界面自动生成的算法模型。代码生成 模型主要包括:用于生成基本的u i o 信息的属性生成模型;用于生成具有值 来源的u i o 的数据初始化代码的选择对象数据初始化模型;用于对具有取值 堕里塑星丝生盛垡旦塑旦塑全垂堕丝坌奎塑型:旦王堡塑旦三塑望:墨量 山东大学硕士学位论文 出属性值并进行显示的导出属性值的计算模型:用于计算当个u i o 值改变 时重新计算受影响的u i o 的取值区间的联动关系计算模型。 扩展对象模型从界面的领域建模出发,可以提供丰富的信息以指导界面 代码的自动生成。依据该模型及其代码生成模型设计实现的c a s e 工具,既可 以生成静态的用户界面并完成u i o 的布局,又可以生成界面上u i o 动态关联 的用户代码,还可以生成数据库的基本表和视图。 扩展对象模型是在综合考察多种界面形式的情况归纳出来的,但用户界 面丰富多样,对更多特殊的界面形式( 如绘图界面等) 的支持,仍是对象模型 有待解决的问题。另外,目前开发的c a s e 工具,只支持v i s u a lb a s i c6 0 系 统下的用户界面和代码生成,下一步仍需研究其它环境下的代码生成。 关键词:用户界面模型、扩展对象模型、用户界面自动生成、代码自动生成 “ 山东大学硕士学位论文 t h ee x t e n d e do b j e tm o d e lt h a ts u p p o r t su s e r i n t e r f a c em o d e l i n ga n da u t o m a t l cu ic o d e g e n e r a t i o n a b s t r a c t u s e ri n t e r f a c ei st h ef o u n d a t i o no fi n t e r a c t i o nb e t w e e nu s e ra n ds o f t w a r e s y s t e m m o s tm o d e l i n gt o o l st os u p p o r tu s e r i n t e r f a c ed e s c r i p t i o ni sb a s e do n l o w e rc o n c e p t u a ll e v e l s ,w h i c hi sd i f f i c u l tt om e e tt h ed e s c r i p t i o nr e q u i r e m e n t o fc o m p l e xu ie n g i n e e r i n gd e s i g n i nt h ep r o c e s so fc o m p l e xu s e ri n t e r f a c ed e s i g n ,t h ec o m p o s i t i o no fu i s n e e dt og e tt h ec h a r a c t e r i s t i c ,t h ec o n s t i t u t e s ,a n dt h es p e c i a lb e h a v i o ro fu s e r i n t e r a c t i v eo b j e c ta c c o r d i n gt ot h et y p ea n do p e r a t i o n a lr e q u i r e m e n to fo b j e c t s t h el o g i cr e l a t i o n s h i p sb e t w e e no b j e c t sn e e dt h ec o n s i d e r a t i o no f t h ea s s o c i a t e d b e h a v i o rb e t w e e ni n t e r a c t i v eo b j e c t s 。t h er e s t r i c t i o n t ot h e i n p u t a n dt h e o p e r a t i o nw i l la l s oa f f e c tt h ec o m p o s i t i o n o fu s e ri n t e r f a c e t h ed e s c r i p t i o no fc o m p o s i t i o na n db e h a v i o ro ft r a d i t i o n a lo b j e c tm o d e l sis b a s e do na b s t r a c tc o m p u t i n gr e l a t i o n s h i p s s u c hd e s c r i p t i o nc a no n l yf a c i l i t a t e t h eb u i l d i n go fa b s t r a c td a t as t r u c t u r e i tw i l l n o tm e e tt h er e q u i r e m e n t so f b u i l d i n gu ic o m p o n e n t sa c c o r d i n gt ot h eo b j e c tm o d e l t om e e tt h er e q u i r e m e n t so fe n g i n e e r i n gu id e s i g na n di t sa u t o m a t i o n ,t h i s p a p e rp r e s e n t sa ne x t e n d e do b j e c tm o d e l t os u p p o r tt h ea u t o m a t i cg e n e r a t i o no f g u i sa n dt h e i rc o d eg e n e r a t i o n ,a s w e l la st h e i r a l g o r i t h m s t oa c h i e v es o a c c o r d i n g l y b a s e do nt h ed e s c r i p t i o no ft r a d i t i o n a lo b j e c tm o d e l ,t h ee x t e n d e do b j e c t m o d e le x t e n d s t h e d e s c r i p t i o n o fa t t r i b u t e s a n d p r o p e r t i e s t om e e tt h e r e q u i r e m e n to fb u i l d i n gu i s t h e e x t e n d e dc o m p o n e n to ft h i sm o d e li n c l u d e s : t h eu 1t y p et od e s c r i b e u 1i n t e r a c t i v eo b j e c t s ( u 1 0 ) ,t h el e n g t h o fd a t at o 山东大学硕士学位论文 l a y o u t ,t h ev a l u er a n g et ov a l i d a t eu s e ri n p u ti nt h e p r o c e s so fi n t e r f a c ec o d e g e n e r a t i o n ,t h ev a l u eo r i g i nt od e s c r i b et h ed a t ao r i g i no fu i o ,t h ea t t r i b u t e g r o u p i n gt os a t i s f yu s e r sr e q u i r e m e n t so fp s y c h o l o g i c a la n dv i s i o nt o w a r d st h e u i l a y o u t s ,t h ed e r i v e dr e l a t i o nt oc a l c u l a t et h eu i ov a l u e s h a v i n gs p e c i a l r e l a t i o n s h i p s ,a n d t h ea s s o c i a t e db e h a v i o r r e l a t i o n s h i p st os u p p o r tu 1 0c o d e g e n e r a t i o nt h a ta f f e c t st h ei n t e r a c t i v eb e h a v i o r s a c c o r d i n gt ot h ee x t e n d e do u j e c tm o d e l ,t h ec o d eg e n e r a t i o nm o d e lo fu i s i s p r es e n t s t h ec o m p o n e n t so fc o d eg e n e r a t i o nm o d e li n c l u d e :t h ea t t r i b u t e g e n e r a t i o no fv a r i o u su i o ,t h ed a t ai n i t i a l i z a t i o nm o d e t oi n i t i a l i z ed a t ao fu i o w i t hv a l u eo r i g i n ,t h ev a l i d i t yo fu s e ri n p u t ,t h ec a l c u l a t i o nm o d e lo fd e r i v e d a t t r i b u t esf o rt h ec a l c u l a t i o na n d d i s p l a y o ft h ev a l u e sa st h eu s e r i n p u t i s c h a n g e d ,t h ec a l c u l a t i o nm o d e lo fa s s o c i a t e dr e 】a t i o n s h i pt or e c a l c u l a t et h eu 1 0 v a l u er a n g ea f f e c t e dw h e nau i ov a l u ec h a n g e d t os e r v et h em o d e l i n go fd o m a i na p p l i c a t i o n s ,t h ee x t e n d e do b j e c tm o d e l c a ns u p p l yv a r i o u sm e c h a n i s m st o s u p p o r tt h em o d e l i n ga n dc o d eg e n e r a t i o no f u i s t h ec a s et o o l sc o n s t r u c t e da c c o r d i n gt ot h i sm o d e la n dt h er e l a t e dc o d e g e n e r a t i o nm o d e lc a na u t o m a t i c a l l yg e n e r a t en o to n l yt h es t a t i cu i sa n dt h e i r s c r e e nl a y o u t s ,b u ta l s ot h ec o d ef o rt h ea s s o c i a t e dd y n a m i cu s e ri n t e r a c t i o n so f u i o i tc a na l s og e n e r a t et h et a b l e sa n dv i e w so fd a t a b a s e t h ee x t e n d e do b j c o tm o d e li sc o n s t r u c t e df r o mt h ei n v e s t i g a l i o no f m u l t i p l e u if o r m s c o n s i d e r i n g t h ev a r i e t i e so fu i f o r m s ,e g ,t os u p p o r t m o r e s p e c i a l i z e du if o r m s ,s u c h a st h eu i sw i t hg r a p h i co p e r a t i o n s t h e r ea r es t i l l s o m ep r o b l e m st oc o p ew i t h f u r t h e rm o r e ,t h ec o d eg e n e r a t e db yo u rc a s et o o l c a n o n l y w o r ki nv i s u a lb a s i c6 0 i ti s n e c e s s a r yt o b ee x t e n d e dt oo t h e r p r o g r a m m i n g e n v i r o n m e n t st oc h e c kt h e d e s c r i p t i o na b i l i t y o f p r o g r a m m o d e l i n g k e y w o r d s :u s e r i n t e r f a c em o d e l ,e x t e n d e d 0 b j e c tm o d e l ,a u t o m a t i c o e n e r a t i o no fus e ri n t e r f a c a ,a u t o m a t i cg e n e r a t i o no fc o d e i v 山东大学硕士学位论文 原创性声明和关于论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:癣拯。皋 日期:勿舛年加 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:燃盎拧师签名:爱堕兰妄曰期 k o 牛q 、如 山东大学硕士学位论文 i 引言 1 。1 课题背景及现状 面向对象和基于分布计算的组件技术对软件的工程设计技术产生了巨大 的推动。u m l 作为一种图形化的软件设计表达语言,支持从需求分析开始的 软件开发全过程i ,已经被广泛接受。基于各类软件模型的代码自动生成技 术已经成为现代软件工程和软件重用的重要方面。 目前已经提出了许多界面工程设计的模型和方法。这些模型和方法在用 户界面描述或生成方面各有独特的见解,极大的促进了用户界面工程理论和 实践的发展。但很多模型和方法是用于直接描述用户界面,即是种用户界 面的编码手段,而不支持从需求分析到模型设计直至编码的全过程。这种方 式使界面设计还是停留在手工编码和脑力劳动阶段。 f m p 模型是种面向软件工程的用户界面设计和自动生成模型。它利用 功能模型( f ) 和对象模型( m ) 捕捉与界面相关的功能和数据信息,用交互模型 ( m ) 表达这些信息和控制关系。然后依据交互模型的描述,利用表示模型( p ) 建立内部对象和外部显示元素的对应关系,规划界面布局,从而指导和实现 用户界面的自动生成j 。 本文建立的扩展对象模型对应于f m p 模型中的对象模型( m ) 部分。它是 通过对用户界面组成成分的研究建立的支持软件工程描述的用户界面模型, 同时能支持用户界面代码的自动生成。 1 2 课题研究的内容 在复杂界面的设计中,界面的组成要求根据处理对象的类型和操作的要 求,确定各个交互对象的特性、构成和特殊行为;被处理对象间的逻辑关系 要求建立交互对象间的关联行为;用户的操作要求也会对界面的组成施加影 响和限制。 根据复杂界面的设计要求,本文对一般的对象模型描述进行了扩充,并 建立了基于该扩展对象模型的界面自动生成方法。其中,界面交互对象的组 山东大学硕士学位论文 成和行为选择依据对象模型提供的类型和界面处理特性;它们间的行为则依 据对象间的逻辑依赖关系要求。 一般对象模型从抽象的计算关系上描述其组成和行为。这样的描述不能 满足依据对象模型建立界面组成的需要。另一方面,过多地扩展对象描述特 别是用于界面构成的特性,会限制对象模型的应用范围。考虑到界面上的i o 也属于对象的主要行为方面,本文对对象模型的扩充,除考虑对象的一般组 成和行为外,主要涵盖了对象输入特性,尽量减少对具体交互实现的约束, 使有关需要延迟到c i o 的具体实现时加以考虑。这样处理的结果,即增加了 对象模型处理界面组成的表达能力,又不会对具体界面的实现构成过多限制。 本文根据界面工程设计和自动化的需要,给出一种支持界面和代码自动 生成的扩展对象模型,并给出依据该扩展对象模型自动生成用户界面和代码 的方法。扩展对象模型在般对象描述的基础上扩展了对象的属性和特征, 以满足建立界面组成的需要。代码生成模型根据该扩展对象模型,给出了界 面自动生成的算法模型。 1 3 课题的创新性和意义 该课题研究首次通过一般对象模型扩展的方式,约束和规范用户界面的 表达和生成。同时该系统将常用的功能模块进行自动生成,融入了专家的设 计经验。该设计思想符合当今软件工程技术的发展方向,并具有独特的技术 创新性。 该项目所提软件环境的实现,对于提高应用软件的开发效率和质量,对 于促进软件工程技术的提升和全面实施,对于提高整体软件的开发水平,有 望将起到积极的推动作用。 2 概念模型的研究现状 概念模型采用三种模型支持系统的描述和表达,即应用模型( a p p l i c a t i o n m o d e l ) 、对话模型( d i a l o gm o d e l ) $ 口表示模( p r e s e n t a t i o nm o d e l ) 。该类模型的 典型代表有s e e h e i m 、m v c 和p a c 模型。这些模型有助于用户界面的迭代设 计开发,为分布式应用和处理多线程的界面控制和实现提供了基墅l 堡是, 山东大学硕士学位论文 _ - - _ - _ _ l _ - - _ _ _ _ _ _ _ _ _ _ _ _ - - - _ - _ _ _ 一i _ _ - - - _ _ - - _ _ _ _ - _ - _ _ _ - - - _ _ _ _ _ _ l l _ - _ _ _ _ - _ _ _ 一 概念模型侧重纯粹概念的功能分析和表达,对于用户界面的描述过于简单, 很难支持界面的自动生成。 基于模型的陈述模型方法能够支持完整的生命周期的设计,以及以用户 为中心和与环境相联系的设计方法【3 】。这方面的研究有t r i d e n t 4 , 5 1 、 m a s t e r m i n d t 6 ,7 1 、j u s t u i e8 1 、b o s s t 9 ,1 0 1 等。但这些模型或者在界面构成 描述上层次较低,需要为处理复杂界面生成提供更多结构和交互信息;或者 模型建立较为复杂,影响了其应用的广泛性。 例如,t r i d e n t 采用规则库来选择抽象交互对象( a i o ) 和具体交互对象 ( c i o ) 并布局。但该系统通过规则推理实现交互对象选择和布局的做法有待成 熟,并且只能选择规则约束的交互对象( u i o ) ,选择结果也是绝对的i 引。 m a s t e r m i n d 的表达模型描述了用户界面的布局,包括静态和动态显示。 当应用程序数据或表达内容变化时,它允许自动表达描述的更新。但 m a s t e r m i n d 使用界面定义语言( i d l ) 来进行模型描述,使得界面描述复 杂,应用的广泛性受到影响1 6 1 。j u s t - u i 提出了一种面向分析的模型,用于 描述显示集合及其过滤和排序,并定义了导航和动作。但j u s t - u i 是为表格 性质的界面设计的,不支持对一般的用户界面的描述和生成【8 l 。 另外,陈述模型不是直接可以执行的,因此陈述模型不但要适应现存的 软件体系结构和标准,还应有有效的方法转换为可执行程序】。目前的方法 是依据陈述模型生成当前存在的一些操作环境代码,这方面的研究有 t e a l l a c h 1 2 ,13 1 等。但t e a l l a c h 是基于j a v a 编程语言设计的,它过早 的涉及了具体交互对象的属性。依赖于具体环境的特性使它在其它方面的应 用受到限制。 2 1 几个简单的用于交互的概念模型 概念模型是通过一系列代理或者对象对系统的 各部分进行抽象。在进行深入讨论之前,先对几个 比较简单但有影响的概念模型进行一下描述。 功能内核 im 0i e l fi ly i w c o n t r o l l e rj 爪l 输出 输入 1 1 1m v c 模型1 1 4 j 用户 图2 1 为m v c 模型,该模型从用户角度将系统 21m v c图模犁 山东大学硕士学位论文 i i _ _ _ i _ _ _ _ - l - - _ l l - i _ _ - _ _ _ - - _ - _ _ l _ - _ - i _ l _ _ i _ - _ _ _ _ _ _ l - _ - - _ _ - - _ _ _ 一 分为三个部分:模型( m o d e l ) 、视图( v i e w ) $ t l 控制( c o n t r o l l e r ) 。用户通过控 制器进行输入,输入的数据交给模型,模型与功能内核进行交互完成运算, 然后由视图进行输出。 2 1 1p a c 模型f ”l 图2 2 为p a c 模型,该模型从系统角度将系统分 为三个部分:抽象层( a b s t r a c t i o n ) 、控制层( c o n t r 0 1 ) $ 1 :i 表达层( p r e s e n t a t i o n ) 。抽象层负责与功能内核的交互; 控制层负责接收外部的控制,并将控制传递给外部, 他与抽象层直接交互;表达层负责与用户直接交互, 包括输入和输出,表达层与控制层可以直接交互。该 模型的表达层通过控制层与抽象层进行通信。 2 1 。2l i s b o a 模型1 1 6 i l i s b o a 模型将系统分为应用概 念界面和功能内核两个大的部分。 应用概念界面又根据各自实现的功 能分为三个对象:传输对象、监控 对象和交互对象。 2 2 实现模型 功能内棱 用户 图2 2p a c 模犁 图2 3l i s b o a 挺利 在上个世纪8 0 年代末9 0 年代初,出现了实现模型( i m p l e m e n t a t i o nm o d e l s ) 的方法。与概念模型不同,实现模型将交互系统组织成一系列的软件部件, 目标是实现软件工程所要求的代码可重用性、可维护性和软件的实现性能。 2 2 1s e e h e i m 模型i 】 s e e h e i m 模型提出了用一个简单的三层模 型来表达一个交互系统,这三层分别为应用层 ( a p p l i c a t i o n ) 、会话层( d i a l o g u e ) 和表达层 f p r e s e n t a t i o n ) 。应用部件对域描述进行建模;会 话部件定义用户和应用之间会话的结构;表达部 曰罂 二。 亡卜一一j 幽2 4s e e h e i m 模刑 山东大学硕士学位论文 件负责外部到内部的符号进行映射。 用s e e h e i m 模型描述交互系统被认为是有正确的和有用的。但是,它对 分布性、并发性、资源管理和性能的支持被认为是不充分的。 2 2 2a r c h 模型1 1 8 i a r c h 模型是对s e e h e i m 模型的扩展,它包括5 层,平衡的分布在会话部 件的两侧: 交互工具箱部件:执行与终 端用户的物理交互。 表达部件:提供一系列独立 于对象的工具箱。 会话部件:负责任务层的排 序,提供多视图并发,并负 责域描述与用户界面描述 之间形式化的映射。 域适配器部件:执行与任务需求相关联的,但在域描述部件没有实现的域 问题。 域描述部件:控制、操纵和得到域数据,并执行与其他域问题相关的功能。 在这个模型中,一方面用户和功能内核等同的驱动会话部件,因此从高 层的抽象看对交互的控制没有优先级:另一方面,域适配器部件和交互工具 箱部件都是作为为功能内核和用户服务的缓冲,因此,它们既相对独立又受 相邻部件变化的影响。 2 3 对象模型的扩展 2 3 1 原始的o o s e 方法1 1 l 在o o s e( o b j e c t - o r i e n t e d s o f t w a r e e n g i n e e r i n g ) ,j - 法中,j a c o b s o n 等提出了用例的 概念并定义了实体、界面和控制的分祈框架。这 个分析框架将信息空间分为三元: 信息元:描述系统中短期的和长期的信 5 山东大学硕士学位论文 息,表明系统的状态。 行为元:描述系统将要采取的行为,表明系统的状态何对改变,如何 改变。 界面元:描述向外界表达系统的细节。 将系统分为信息、行为和状态的原因是提出一种适应变化的结构,如果 系统变化了,则只能影响其中的一个对象。 2 3 2u m l 中的类图和对象图j 1 9 , 2 0 , 2 1 1 前面的方法中,对对象的表示都是粗略的。在u m l 中,详细定义了类 及类之间关系的概念,并给出了详细的表示方法。 对象和类的表示 图2 7 给出了u m l 中类图的表示方法。类在u m l 中用一个矩形表示, 该矩形分为三栏:第一栏为类名;第二栏为属性列表, 每个属性表示为“可视性属性名:数据类型”的形式, 其中可视性分别用“+ ”、“”和“群”表示公有、私有 和保护;第三栏为操作列表。每个操作表示为“操作 名( 参数列表) ”的形式。 图2 7u m l 中的类 当一个对象从一个类派生出来时,它获得了几乎与该类完全一样的结构。 自然地,u m l 使用相同的符号表示对象和类。只是,对象和类的主要区别在 于:对象没有类属性和类操作。对象名一般写成 “对象名:所派生的类”的形式。 继承关系 图2 8 表示了继承关系,用一个三角符号表 示继承,三角的箭头指向父类。其中的约束包括: 互斥( 与重叠相反) :适用于具有两个以上 分组的,并能够清晰区分的事物。图2 8 继承关系 不完全分类( 与完全分类相反) :这个组可能存在一些成员,它们不属于 任何建模的子组。 动态分类( 与静态分类相反) :指事物随时间的变化从属于不同的子组。 山东大学硕士学位论文 关联关系 在u m l 中,关联表示类的实例 间连接的各种数量关系。关联关系 。 用直线表示,直线上注明关系名称。 如果该关系有导航,可以加上箭头。 在直线的两端则注明数量关系,图 2 9 是一个例子。 组成关系 组成关系的特征是:如果没有成 分对象,组成对象也不存在;在任何 时候,每个给定的成分对象只能是组 成对象的组成部分;组成是典型的异 构。 关联线没有名字,这是组成和聚 集的一个约定,因为整体,部分的意义 已经通过符号指出了,增加组成关联 的名字没有任何意义。 图2 9 关联关系 图2 1 0 组成关系 聚集关系 聚集关系的特征是:构成对象不存在,聚集对象 还可以存在;任何时候,每个对象都可以是多个聚集 的构成;聚集往往是同构的。 如几个命令行组成一个命令就是聚集关系( 图 2 1 1 ) 。 图2 1 1 聚集荧系 2 3 3 扩展对象模型 由于u m l 没有考虑用户界面,因此它的对象模型是不支持用户界面生 成的。因为类模板除了提供属性的名字和数据类型外,不能提供其他任何的 关于界面信息。要在这个基础上生成界面,只能依靠设计人员的想象力来完 成。 7 山东大学硕士学位论文 要想支持用户界面的生成,可以对u m l 的对象模型进行扩充。f m p 模 型中的扩展对象模型就是通过对u m l 的对象模型进行扩充达到提供界面信 息的目的。在扩展对象模型中,对象增加了很多与界面有关的信息,包括基 本数据类型的扩充、属性分组概念、属性的u i 类型、属性导出关系、属性的 取值范围或值来源、属性的单位等概念。 2 4 对交互任务的描述 对交互任务的描述对界面生成的作用是,可以为界面间的导航提供信息。 下面介绍几种系统中对交互任务的描述。 2 4 1 u m l 中的对象交互图1 2 0 1 u m l 中,使用对象交互图来描述系统的交互任务,也就是消息。对象交 互图分为两种:切,同图( c o l l a b o r a t i o nd i a g r a m ) 和时序图( s e q u e n c ed i a g r a m ) 。 协同图 在协同图中,每个对象都写成这样的形式o b j e c t n a m e :c l a s s n a m e ,这里 用下划线表示我们处理的是实例而不是类。 用一个从发送对象指向目标对象的箭头来表示同步消息。消息箭头上指 明了目标对象要执行的操作的名字,后面还带着该操作的输入和输出参数( 图 2 1 2 ) 。在协同图左边方框的左边有一个操作l a n d ,这样做有两个好处:是 表明整个协同图的 开始有一个清楚的 1 起点;二是可以清楚 这样个事实,一个 特定的消息是从一 个特定的操作发出 的,而不会模糊的认 为是从整个对象发 出的。 s e t l i 暑l o n d () 五要孽i 五d 蕊j 。1 e m h a i r e r , i t ,1 e f t f l 蛐 址! 唑垃 圈2 1 2 消息l e f t f l a d s e t a n t , l e 的协同国 l 。u r ,d 。:k t 。 - 一e - 一 l 。1 _ 0 一、 :f l , o l v f a ) i 班盘l 业 l 酗2 1 3 重复的消息 如果要表达异 步消息,也就是一个操作发送完消息后继续执行,而不是等待发送的消息执 山东大学硕士学位论文 h _ - _ _ l - i i i i i i i i i i i i _ _ _ - _ _ _ _ _ - - _ - _ l - i _ _ - _ _ _ - - _ - - 行完后再执行,则使用半个箭头表示。 图2 1 3 则表示了个重复的消息,即向一个聚集对象的每个组成部分发 出同样的消息。我们这个例子是先在桌面上显示一揩图标,然后通过发送消 息s c a l e 来扩大或者缩小这些图标。可以看出,重复消息前用一个+ 表示发送 到多个目标;集合的名字放置在通常的位置,但每个单独的目标对象没有名 字;目标对象的符号是双重的,表示多样性。 时序图 时序图是一种对象交互图,它着重强调时间序列,而不是静态对象之间 的关系。当在一组对象中需要传递很多“闲话”时,更倾向于使用时序图而 不是协同图。可以通过时序图很清楚的知道“谁在什么时间对谁说了什么”。 另外,特别是在程序上或时间上的问题变复杂时,更应该用时序图,因为没 有别的什么图可以很好的表示时间问题了。 图2 1 4 是一个银行转账的例子,时间沿纵轴向下延长,接受消息的对象 排列在横轴上方,为清楚起见,可在对象上列出它们的类名。图的主题部分 表示了正在活动的操作和它们持续时间的长短:活动操作的符号是按照个 粗略的比例估算操作活动时间长度的纵向线段。和协同图类似,两个操作之 间的箭头表示消息。 :t r 。m 。j 峰掣警磬墨 陪篁磐兰j 降掣磐;! 哔i 弹一x n c t , l l。土 ln e t :y o e g i x 、 ij o w n e r v o w n e r ij = t n a l n g j r o l l b a c k lj 小h d r w f u d = ( 锄t ,目“_ it h d r a w o x p e r m i t t e 硼i虚d t n c t j d e p o s it f u n a s ( t ,o i l l d e p o s it o i o i 、 r o l l b e k :p e o m m i t y r o l l b i e k _ 图2 1 4 传输资金的时序幽 山东大学硕士学位论文 大多数时序图很直观,很容易懂,但它也有一些局限性。如图2 1 4 中, 它不能显示r o l l b a c k 和c o m m i t 是互斥的,它们不能一起发送。 那么如何体现算法的细微差别呢? 比较正式的做法是,把它们归结于一 个或多个方法的伪代码。非正式的做法是,可以象粘贴文本那样附加一些描 述方框在时序图上。 2 4 2 基于u m l 的系统模型一一w i s d o m l 2 2 , 2 3 1 n u n oj a r d i mn u n e s 和j o a of a l c a o ec u n h a 对u m l 在任务交互方面进行 了扩充,进而提出了w i s d o m 模型。 w i s d o m 与o o s e 方法相比增加了两元: 会话元和表达元。这两 元是和任务相关的。因 此,w i s d o m 中增加了 交互模型来容纳这两 元。 为与u m l 兼容, 分析模型中的界蕊元 图2 ,15w i s d o m 仍然保留这个名称,但不负责与人的交互。与用户的交互通过会话元和表达 元来完成。 w i s d o m 中考虑了交互任务中各种可能的任务类型,提出了并发任务树的 概念,并给出了一整套的符号表示。它考虑的任务类型包括:独立的并发、 选择、可选、有信息传递的并发、复原、激活、循环、有限循环等( 图2 16 ) 。 此外,w i s d o m 还增加了表达模板的内容,包括导航、包容、输入元素、 输出元素和活动。 可以说,w i s d o m 对交互任务和用户界面的描述是相当细致的,它丰富了 对用户界面和交互任务的描述。他对交互任务的描述在代码生成中有一定的 借鉴作用,可以为界面间的导航和消息传递提供一定的支持a l o 9 1 l 泠一 山东大学硕士学位论文 _ _ _ _ i _ _ _ _ _ l _ l _ _ _ _ _ _ _ _ - _ _ - _ - _ - 一- 但是,w i s d o m 体系结构依靠的是分析人员和设计人员对系统任务的分 析,它是不支持界面生成的,因为w i s d o m 同样没有为界面生成提供足够的 数据。它主要依靠分析和设计人员的经验,在进行界面设计时,可能要不断 回到分析时的过程才能完成。 图2 16 并发任务树符号 2 4 3 j u s t u i 中对任务的描述l s l 一般的u i 模式都是面向设计的, j u s t u i 是为“蘧向分析”的目标而提 出的。 j u s t u i 将对界面描述的对象分 为简单模式和复杂模式两种。简单模( - ) i n t t t h r n 氆) p o p u i a d i o n p a r e r n 式包括5 个部分,其中过滤器、排序 标准和显示集合定义了一个要交互的 集合数据的各个属性;导航可以使用 户从一个数据进入到其他关联的数( c ) m a 曲e r d e t a i l p a t t e r n ( d ) s e r v - i 。p a r 。r 据;动作的定义可以使用户对一个数图2 17j u s t u i 复杂模式凹元 据进行搡纵。 j u s t u l 由简单模式进一步构成复杂模式,并定义了复杂模式的图例( 图 萎需藿罱 山东大学硕士学位论文 2 17 ) 。各复杂模式的功能如下: 服务表达模式( s e r v i c e ) :负责对一个会话建模,以处理一个服务。用户 必须启动这个服务。 实例表达模式( i n s t a n c e ) :其任务是对一个实例的数据表达建模,并支 持与它的交互。对于用户来说,实例表达模式改变对象的状态,并导 航到其他相关的对象。在表达上实例表达模式由三个简单模式构成: 显示集合、动作和导航。 人机表达模式( p o p u l a t i o n ) :用于显示类的实例集合。它由5 个简单模 式构成:过滤器、排序标准、显示集合、导航和动作。 主从表达模式( m a s t e r d e t a i l ) :用于处理有主从表达的交互。 使用j u s t u 1 分析的过程就是创建导航图的过程。导航图中节点用复杂表 达模式表示,弧用模式间的导航表示。每个中间节点作为包含标签的容器, 每个叶节点包含一个标签并关联一个交互单元。 j u s t u i 能从导航图生成各种平台的u i 代码。 j u s t ,u i 从分析的角度定义了各种界面描述元素,并能够支持代码的生 成。但是,它解决的阅题是一个很简单的、单纯与数据集合交互的阃题。如 果将问题扩大到一般性的交互问题,则j u s t u i 是没有能力处理的。 2 5 界面表达 2 5 1 用于交互应用的统一建模语言u m l i l 2 4 ,2 5 l u m l i 是对u m l 在界面方面的扩展,u m l i 的目标是用一个u m l 的子集 来建立陈述界面模型。u m l i 提出了一 套表达用户界面的符号( 图2 18 ) ,它包 括: 自由容器( f r e e c o n t a i n e r s ) :被表 示为虚线的立方体,它是最顶层 一一一7 f 一一一i ,: l i i i i j l 一一一j 7 自由容器 j il il 、一一,j 0 ) 容器 圆柱体,用来容纳不属于自由容图2 18u m l i 表达用户界面的符号 1 2 一一v 一 不 哟 对容 帆 豆包 山东大学硕士学位论文 器的交互对象。 输入器( i n p u t e r s ) :用倒三角表示,他们负责从用户接收信息。 显示器( d i s p l a y e r s ) :用正三角表示,负责将可视信息显示给用户。 编辑器( e d i t o r s ) :用菱形表示,他们是既作为输入器又作为显示器的交 互对象。 使用u m l i 的这些符号,可以从u m l 抽象的表达建立起u m l i 的具体的表达。 u m l i 建模通过用户需求建模 交互对象抽玻 候选交互活动标示,交互活 动建模 交互活动细化- 用户界面建模一 具体表示建模 具体表示细化的步 骤来实现。 u m l i 提出了用于表达界面的模型,是u m l 的后继和扩充。u m l i 中提 出了对界面任务进行表达的模型,将有助于对界面的刻画,并可以在界面生 成中起到过渡作用( 作为抽象表达模型) 。 但是,u m l i 在对用户界面建模时,设计人员为获得足够的信息,还是 要返回分析时的状态,以确定具体的交互对象。 2 5 2 用户界面对象模型i 2 6 , 2 7 , 2 8 1 在文献 2 5 ,2 6 中,提出了一种用户界面对象模 型。该模型将u i o 视为对话控制、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如皋市高一年级下学期教学质量调研(一)历史试题
- 中医肿瘤护理个案-肺癌患者护理实例
- 2025年磐石市总工会公开招聘工会社会工作者(8人)历年真题汇编附答案解析
- 浙江国企招聘-2025温州市交通发展集团有限公司招聘工作人员8人历年真题汇编附答案解析
- 2026广东“百万英才汇南粤”-广州市从化区教育局第一次招聘事业单位编制教师229人笔试模拟试卷带答案解析
- 2026年质量员之土建质量基础知识考试题库附参考答案(预热题)
- 2026年设备监理师之设备工程监理基础及相关知识考试题库200道及参考答案【培优a卷】
- 2026年设备监理师之质量投资进度控制考试题库200道附参考答案(培优b卷)
- 2025福建三明永安市人民政府燕南街道办事处招聘编外聘用驾驶员1人备考题库附答案解析
- 2025年中国科学技术大学火灾安全全国重点实验室劳务派遣岗位招聘2人备考公基题库带答案解析
- 应急供货方案及措施
- 内部评标管理办法
- 第二章河北历史沿革10课件
- 情景教学初中数学课件
- 2025年中医经典考试题库及答案
- 2025年上海书法考试题目及答案
- 《中职美术类绘画专业人培方案(试行)》
- 2025至2030中国高级会所行业市场占有率及投资前景评估规划报告
- 物业签订业委会合同范本
- 全屋定制培训课件
- 教科版六年级科学上册第三单元测试卷附答案
评论
0/150
提交评论