(计算机软件与理论专业论文)支持web用户界面自动生成的三种界面设计模式.pdf_第1页
(计算机软件与理论专业论文)支持web用户界面自动生成的三种界面设计模式.pdf_第2页
(计算机软件与理论专业论文)支持web用户界面自动生成的三种界面设计模式.pdf_第3页
(计算机软件与理论专业论文)支持web用户界面自动生成的三种界面设计模式.pdf_第4页
(计算机软件与理论专业论文)支持web用户界面自动生成的三种界面设计模式.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学硕士学位论文 摘要 近十年来,界面设计和系统功能设计相分离成为界面设计的主流思想,界面 代码根据界面描述模型来自动生成已成为开发人员的目标。为提高图形用户界面 的开发效率和质量,许多界面模型被提了出来。 这些模型分为概念模型和陈述模型两类。这两类模型各有其优缺点:概念模 型的优点在于直接针对界面、描述简洁,缺点在于无法支持全过程开发;陈述模 型的优点在于支持全过程开发、支持自动生成、描述能力强,缺点在于模型设计 过于复杂,模型整合比较困难。 介绍了一种支持用户界面自动生成的界面模型f m p ,它借鉴了概念模型和陈 述模型的优点,以实现图形交互系统自动生成、支持系统体系结构设计为目标, 包括功能模型、内在模型和基于界面模板的表示模型三个部分。其中基于界面模 板的表示模型突破了现有的表示模型缺乏对交户对象之间的关系考虑的局限性, 并且吸收和借鉴用户界面设计模式的思想。 本课题的核心在于,从整体上对基于n 伊模型的w 曲用户界面设计模式进行 阐述,详细介绍了三种具体的用户界面设计模式;自由格式设计模式、表格格式 设计模式和图形格式设计模式。其中,自由格式设计模式是三种设计模式介绍的 重点,提出自由格式设计模式的需求和设计实现结构,探讨自由格式设计模式的 形式化规范,完善用户对界面模板自由格式布局的灵活控制。给出自由格式设计 模式、图形格式设计模式以及表格格式设计模式从a u i 模型到a s p n e t 页面之间的 代码自动生成,它们是基于f m p 模型的w 曲用户界面设计模式的重要组成部分。 最后,文章以自由格式展示模式给出具体的测试实例,进一步验证正确地实 现了从界面模板自由格式展示到a s p n e t 页面之间的映射:验证了生成代码逻辑上 的正确性和使用上的健壮性;验证了基于f m p 模型的w 曲用户界面设计模式加快 了w 曲页面的开发速度。 关键字:f m p ;模型驱动;界面设计模式:代码生成 山东大学硕士学位论文 a b s t r a c t h l t l l e l a s t t y e a r s ,i t h 雒b e c o m e a 仃e n d t os e p a r a t e t l l e i t l 悟r f 缸e d 郎i g n f b m t l l e s y s t e md 嚣i g n t h ei l l t e r f a c e sd e v e i o p e 硌n o wa f ea i l i l i n ga tg e r a 土em ei n t e r f a c e d e a u t o m a t i c a i i yb yt i l ei n t e r f 缸ed e s c f i 埘o nm o d e l m a n yi i l 坝f 妇sd e v e i o p m e n tm o d e i s c o m eo u tt os p e e dl | p l l ed “e l o p m e n te f f i c i 髓c ) r 趾di n c r e 酗et l l ed e v e l o p m 朗tq u a l 匆 鲫dq l l 枷饥 t h e s em o d e l sb e l o n gt oe i t l l e rc o n c e p n 】a lm o d e lo fd e c l 跏i v em o d e l e i t l l e r c o n c 印tm o d e lo rd e d 枷v em o d e lh a sm e m s 觚ds h o n c o i i l i n g s t h ec o 啦c 印删m o d d d i r e c t l yd e s c r i b 船t h ec o m p o s i h o no fu i s ,b u ti tc a i l ts u p p o r t 血ew h o l ep r o c e 鹳o fu d e v e l o p m 仁w h i l ed e c l 锄d v e 砌硪e l sd os l l p p o r tt l l ew h o l ep r o c e s s ,b l i tt l l em o d e l i i l g i st 0 0c o n 驴l e x 锄dt l l e i ri n c o r p o r 撕o ni sv e 叫d i 伍c l d t w 毫i n 订o d u c eaf m pm ) d e l 谢d c hs u p p o r t sm ea u t o l l l a 五cg e n e r a i i o no fu s e r i n t e 瞧毗髂l i sf m pu im o d ds m d i e di no 啊r 鹊e a f c hc o m b i n 嚣也em e i i t so ft h e c o n c e p t l i a lm o d e l 釉dt l l ed e d a r 撕v em o d e l t h el d e ia i m s 砒m ei m p l e m e n t 撕o l lo f 掣a p i l i c a lu i 夥s t 咖s 锄dt l l e i r 卸幻m a t i cc o d eg e n 硎0 1 1 i ts i ,p p o r t st l l e 砌i t e c t l l r e d e s i 印o fa p p l i c a l i o n s t h en l o d e l i sc o m p 0 do ff u n c t i o nm o d e l ,i i 船f l l a lm o d e l ,锄d m et e n l p l a t e b 鹧e dp r 洲协6 0 nm o d e l t h ep r 嚣t a _ d o nm o d e lb r e a k s1 h er e s 仃i c t i o no f t l l e 旬d 蚰gp r e s 伽m o d e l s1 h a ti a c kt l l ec o n s i d e r 砒i o no fr e l a l i o n 出i p so fi n t e d 沁e o b j e c t1 h l 】s ,血ec o n c e p to f d e s 哂p 砒锄so f ui sp r e s 眦d t h e r ei d e 船o ft 1 1 i sr 髓e a f c ha 糟t l l 缸,“m a k 豁i m e g r a ie l a b o r 撕sa b o t l tt 量l e 风口m o d e lb 髂e dw 曲u s e r i n t 酬溉器d e s i 辨p a t t e m s ,缸dt l i e ni n t r o d u c e s 既a c t l yt l l i s p e c i f i cu s e ri i l t e r f a c e sd e s i g np a r t e m s :行一s 桫1 ed e s i g np 时t e m s 鲥d s 妒l ed 髂i 印 p a 胁s 粕dc h a m s t y l ed 器i 印p a t t e m s ,i i l 州c ht h e 舶e - s l y i ed e s i 驴p a 舵m si s e n l p h 嬲i z e dn 画v e st h e 似皿r e l n e n t 锄dd e s i 弘s 虮l c n 鹏o ft 1 1 e 丘钟- 咿l ed e s i 驴 p a m s ,p r o b em t o1 l l ef o m a i i z a 五o ns t a r i d a r d ,p 盯触t 1 1 ef l e ) 【i b l ec o n t r o lo ni n t e r f 如 t e m p l a l e nd 器c r i b et 量l e 锄m a t i cc o d eg e n 啪d o nf b m 血ea u i n o d e it dl 量l ea s p n e t i l l t e f f 如o f 自e 娜l ed 船i g np a n e m s ,鲥d s l y l ed e s i g np a t t e m s 锄dc h a n - s 够l ed e s i g n 山东大学硕士学位论文 p 8 t t e m s ,w h i c h 锄1 l l ei i n p o n a i i tp a r to ft 1 1 ef m p 啪d e lb a s e dw 曲吣盯i n l e f f 犯器 d 髂i g np a t e r 畸 a f t e rt l l 懿ei n 血o d u c t i o n s l l l i sp a p e rh 舔p r e s e l l t e da n c r e t et e s tm l l s t f 撕i i lm e f o mo f 丘| e e s i y l ep r 嚣e n t a t i 吼p a t t 锄s ,枷c hf o n 砌t e s t 柚dv e r i 母1 h e 订a n s f o r n l a t i o n 丘d mi i l t 耐k 部t e m p l a t e 幻a s p n e tp a g ei sd o n ec o 玎e c t l y ;t l l eg e n 酬e d d ei sl o 画c a l l yv a l i d 锄ds 咖l g ;1 l l es p do fw e bp a g ed e v e l o p m ti ss p d e di l pb y 1 h ef m 畔m o d db 勰e dw 曲i l s e fi n t e 商a c 豁d 器i g np 甜e m & k e y w o r d s :f m p :d e 卜d riv e n : in t e r f a c e sd e sig np a t t e r n s :c o d ep n e r a t io n 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:日期: 型2 :生f 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:鳢导师签 山东大学硕士学位论文 第1 章引言 1 1 论文的研究背景及意义 界面设计模式是设计模式在界面设计方面的应用和发展。它试图构建标准 可复用的解决方案,来帮助解决常见、难度较大、带有普遍性的界面设计问题。 它是目前解决日渐复杂的和多样性的界面设计的常用技术,代表了对界面设计 的新方法和新方向。界面设计模式已经成为当前界面设计研究中的重要研究领 域,但是如何将其更好的应用到日益复杂的界面设计,提高界面生成的工程化 和自动化,仍然是一个重要的课题。 近十年来,界面设计和系统功能设计的分离成为界面设计的主流思想,界 面代码根据界面描述模型来自动生成已成为开发人员的目标。为提高图形用户 界面的开发效率和质量,许多界面模型被提了出来。这些模型分为概念模型和 陈述模型两类。概念模型主要有p :a c 模型、m v c 【1 1 模型等,直接针对界面、描 述简洁,但是无法支持全过程性开发。陈述模型服务于基于模型的工具,种类 较多,支持全过程开发,支持界面自动化生成,描述能力强大,但是模型设计 过程过于复杂,模型整合比较困难。 f m p 【2 j 界面模型借鉴综合了概念模型和陈述模型的优点。基于f m p 界面模 型的体系结构化的用户界面自动生成工具支持交互系统从体系结构设计到代码 自动生成的全过程开发,采用图形化方式进行界面模型的设计。它利用功能模 型( f ) 和对象模型( m ) 捕捉与界面相关的功能和数据信息,用交互模型( 岬表达这 些信息和控制关系。然后依据交互模型的描述,利用表示模型( p ) 建立内部对象 和外部显示元素的对应关系,规划界面布局,从而指导和实现用户界面的自动 生成l “。 n 佃模型在用于生成a s p n e t 应用方面已做出尝试,但仍然存在界面模板 布局不灵活的缺点,并且没有给出各种设计模式的需求和设计实现结构及其形 式化规范,生成w 曲页面的质量距离用户的需求还有一定的差距。 山东大学硕士学位论文 本文的研究意义在于,丰富和扩展界面设计模式的概念和应用,使界面设 计模式在界面自动生成中起核心指导作用,进一步完善基于f m p 模型的w 曲 用户界面自动生成。考虑不同用户对界面展示的需求,更好地实现用户对界面 元素及界面布局的定制和灵活控制,从而为自动化、工程化和参数化的w 曲用 户界面自动生成提供支持。 1 2 本文的创新点 本课题的主要创新点在于,提出自由格式设计模式的需求和设计实现结构, 探讨自由格式设计模式的形式化规范,完善用户对界面模板自由格式布局的灵 活控制;完成自由格式设计模式、图形格式设计模式以及表格格式设计模式从 a u i 模型的界面模板到a s p n e t 页面之间的代码映射。 1 3 本文的组织结构 本文共分八个部分,第一、二部分引入课题并对课题的研究背景、意义以 及国内外相关研究进行了综述。第三部分给出并简单说明f m p 界面模型的组 成。第四部分简单介绍了代码自动生成系统a u i 。第五、六部分是本文的核心, 对w e b 用户界面设计模式给出了详细的介绍,着重说明了自由格式设计模式并 给出了表格格式设计模式、自由格式设计模式以及图形格式设计模式相应的需 求描述和设计实现方法。第七部分给出了实例测试,阐明设计模式在代码自动 生成系统中的应用。第八部分为文章的结束语,总结了本文所做的工作和下一 步需要完善的工作。 山东大学硕士学位论文 第2 章国内外相关研究 2 1 用户界面自动化生成 2 1 1 交互界面构造工具 目前,为了提高图形用户界面的开发效率和质量,出现了三种类型的用户 交互界面构造工具1 4 】: 1 1 界面设计工具( h n e r f 缸eb u i l d e r ) 界面设计工具跚6 1 对用户界面的显示元素的位置、属性和类型给以低层次 的界面描述,并提供工具箱编辑环境。具有容易使用,操作简单的优点。缺点 在于仅仅描述界面静态组成,不支持交互操作描述;无法支持复杂的界面设计 分析评价工具;描述使用特定程序语言描述,移植性差。 2 ) 用户界面管理系统( u s e r i n t e r f k e m 趾a g 哪e n ts y s t e m s ) 用户界面管理系统是构建界面交互对话部件,使用专门语言描述对话过程 的系统。有些用户界面管理系统也描述界面表示,但是描述语言非常简单和低 级。用户界面管理系统具有支持对话代码生成:语言移植性好的优点。其缺点 主要是设计人员需要学习专门的描述语言,通用性差:描述层次较低级,描述 比较复杂。 3 ) 基于模型的工具( m o d e l b 鹅e dt o o l s ) 基于模型的界面开发方法7 l 【8 】是一种崭新的界面开发方法。在基于模型的 开发方法中,用户界面依据陈述描述模型自动生成。陈述模型描述了用户需要 执行的任务;界面显示的内容,结构和布局;界面显示元素在用户任务执行中 所起的作用。基于模型的工具有如下优点:提供功能强大的设计和运行工具; 模型支持一致性和复用性:支持早期概念设计;支持迭代式全过程开发过程。 但是存在着缺乏灵活性;运行性能较差;难于使用的缺点。现在主要的基于模 型的工具有u i d e 、f u s e i 们、m a s t e r 加n d l l 们t a :d e u s 【1 1 1 、t e “l a c h 【12 1 、 山东大学硕士学位论文 m o b i d 、i n 、切札i 等。 2 1 2 基于模型的工具 基于模型的工具以其强大的功能成为最有前途的交互界面开发工具,成为 交互界面构造研究的最新热点。在基于模型的系统中,陈述模型的类型和描述 能力对界面自动化生成至关重要。模型过于简单,其界面表达能力会不足,难 以表达复杂的交互界面;模型过于复杂,描述会很复杂,生成交互界面的代价 过高。 以模型为中心的方法对一个用户界面设计的所有方面都用陈述模型来描 述。m b d e s 必须包括关于交互系统的一个高水平、抽象并且明确描述的模型 来进行开发。m b m e s 必须开发一个清晰的和计算机支持的联系,这个联系是 从( 1 ) 中的模型到一个理想的、可运行的用户界面。这就意味着,应有某种自 动转变类似于基于知识的生成或简单的编译来执行可运行的用户界面。 基于模型的方法具有如下优点; 1 1 以用户为中心的开发周期 2 ) 集中的用户界面描述 3 】支持交互和自动开发的综合设计时工具 4 ) 用户界面设计的复用 5 ) 明确陈述设计知识的应用 一般的体系结构每个m b e 的中心组件是界面模型,它包括不同的陈 述模型。m b e s 包括对交互开发和自动开发支持的工具。自动生成工具处理 在不同陈述模型和一个可执行的理想用户界面表示的转换。设计评论、设计顾 问和自动生成工具需要的附加知识在知识库中陈述。 用户界面的开发者用建模工具来创建和使用陈述模型。陈述模型中主要包 括:任务模型、域模型、用户模型、对话模型、表达模型。 1 ) 任务模型:任务的描述包括一个目标、一个行为或其他对于完成目标必 山东大学硕士学位论文 须的任务的集合、一个关于怎样选择行为或任务的计划和一个受任务 影响的加工品的模型。 2 ) 域模型;描述了一般意义上的应用程序以及包括用户界面的详细信息。 例如,u i d e 域模型包括:存在于应用程序中的对象的类层次、对象 的属性、能作用于对象的行为、行为所需要的信息单元( 参数) 、行为 的前状态和后状态。 3 ) 用户模型:描述了要开发的交互系统的预期最终用户或最终用户集团的 属性。它的主要目的是支持个人用户界面的创建。一个用户界面的个 性化可以在设计时或运行时被创建。而且,用户模型包括从一个用户 属性到一个用户界面设计的推理规则。 4 ) 对话模型:用来描述人机对话。对话模型描述了输入符号序列、输出符 号序列以及它们的交互。它描述了人机交互的造句法结构。 5 1 表示模型:描述了结构,这些结构可以出现在最终用户的显示、它们 的布局特点以及它们之间的可视依赖。很多应用程序的显示包括一个 静态的部分和一个动态的部分。 至今存在的基于模型的用户界面软件工具可以分成两代: 第一代:使用一个全局模型作为界面模型,像唧1 1 3 】,a 【14 】, m e c a n 0 【1 引,j a n u s 【1 6 】17 1 。 第二代:它们的界面模型被分解为多个不同模型。第二代用户模型支持一 种逐步增加的界面设计方式。像m a s t e 砌m n d ,m o b i d 1 1 8 1 【1 9 】【2 们,f u s e , t a d e u s 【2 l 】。印a n o i d 【2 2 】【2 3 【2 4 1 等。 2 2w e b 应用用户界面特点 w u i ( w 曲i 砖e ri n t e r f 缸e ) 和传统桌面软件g u i ( g r a p h i cu s e ri m e r f 如e ) 有很 多不同之处,主要体现在以下7 个方面。 1 ) w u i 中的导航比g _ u i 更灵活。用户可以从任何网页跳转到某个网页, 每一个w 曲页都可以作为应用系统的入口;w u i 中导航的表现形式是多种多 山东大学硕士学位论文 样的,如按扭、图片链接、文字链接,以及其他事件引发的导航,有些w u i 甚至完全由不同类型的导航链接组成:此外,w u i 比g u i 更多的采用了超媒体 技术,如声音、浮动动画、视频。而g = u i 中窗体之间的导航一般只有固定的很 少的入口点,导航形式多为菜单、按钮。 2 ) w 有一个界面包含其它界面的情况。用几个现有界面组成新的界面可 以提高界面设计的复用性,g u i 是做不到这一点的。某些开发工具如v b ,若 两个界面有部分雷同,只能用重复设计的方法。 3 ) w 曲应用具有特定的体系结构,通常是两层或多层体系结构。与传统的 c s 结构相比,它大都是基于浏览器的瘦客户,更多的是负责信息的显示和布 局,应用逻辑和数据都放在服务器端。这种特定的体系结构要求描述模型应该 具有不同的层次【2 ”。 4 ) w u i 和g u i 在界面布局方面也不同。g u i 通常以任务为中心,围绕一 个或多个明确的操作任务来布局,界面的元素设置、布局、快捷键设置都是以 使任务更高效的完成为目标,如典型的仓库管理系统、银行前台系统等m i s 系 统,g u i 的界面布局一般都事先进行精确的设置。w u i 在很大程度上是以信息 展示为中心的,即便有要求输入的信息,也很少;有关数据处理的任务大多放 在了服务器端,返回的仅是处理结果;w u i 有方便的信息陈列形式。因此,网 页的大小布局是即时决定的。 5 ) w 曲界面的开发通常具有明确的技术分工,如美工负责信息的布局和显 示,技术人员负责网页的组装和导航,这要求界面描述模型应该显示地分割为 不同的层次“”。 6 ) w u i 比g = u i 面临更多的变化。在开发完成之后,g u i 很少再改变,即 使有变动,也是有限的。而w u i 面临着很多变化,展览信息的网页每时每刻都 在改变,对一个综合性的网站来说,网页改版是经常的事,而且对开发时间要 求很紧,这就要求有一个很好的快速原型开发工具。 7 ) w u i 的用户群组成更复杂。w u i 很难预测会面临什么样的用户,而g u i 的用户通常是可以预先定义的。w u i 考虑到一般用户的操作习惯,有更直观的 山东大学硕士学位论文 导航操作指示和简单的操作布局,并考虑界面色彩、动画方面的吸引力。 综合以上特点,目前有关w 曲应用用户界面的交互形式可归纳为以下5 种: 1 ) 菜单型界面选择,形式与g u i 中的菜单相同,不同的是,当用户点击一 个菜单项后,会出现相应界面,此界面是从服务器端调用来的,其出现位置可 能是本页的某个区域,也可能是一个新界面。 2 ) 用户发出信息处理命令,如点击按钮,提交的信息将被发送到服务器端 相应的处理界面,如果需要,将向用户返回结果界面。 3 ) 用户点击各种形式的导航链接,可以在界面中、界面间导航,或引出动 画、文件等各种导航目标。 4 ) 用户通过下拉列表、单选框等形式进行参数选择。 5 ) 用户录入文字、图片等信息。 总结界面类型( 行为、版式) ,典型的网络应用系统有电子商务如物流管理、 银行、政务等,此外,还有聊天室、信息发布等应用。对、 ,e b 界面可以作如下 分类。按功能分类,有导航链接型,其界面基本由链接组成,首页多采用此种 版式;简单信息录入型;信息展示型,主体是文字信息;按布局分类,主要有 无规则区域划分型和边框加中心主体型( 或称部分刷新型) 两类。 2 3 界面设计模式 2 3 1 用户界面设计模式的概况 用户界面设计模式是在用户界面设计领域中采用设计模式的技术。人机交 互晃面( h c i ) 模式的目标是构建系列化的解决方案以帮助用户界面设计人员 解决用户界面开发过程中常见的、较大难度的、具有普遍性的设计问题【2 n 。 软件工程应用模式推动软件复用。组件复用幽1 的早期尝试经常失败的原因 在于组件的颗粒度太小,组件之间无法很好地组织在一起。软件模式的应用允 许较大粒度的共享,并且详细定义了组件的交互方式。同样他们比用于体系结 构的模式更能说明问题。 山东大学硕士学位论文 用户界面的设计者同样注意到特定的用户界面设计问题也是反复出现。虽 然有些问题一般都有已知的优秀的解决方案,但是在设计人员之间却存在相互 交流和沟通的问题。指导原则虽然代表着一种可行的解决方法,但是指导原则 过于抽象,难于理解并且需要额外的努力去寻找合适的材料。因此用于归纳用 户界面设计解决方案的用户界面设计模式越来越受到计算机研究人员的重视。 1 1 d w e l l f 2 9 1 把模式描述为“针对在一个特定的环境中带有普遍性的设计 问题的可能的好的解决方案,通过描述这些解决方案中不变的属性。”模式能够 以一致的易于阅读和理解的方式提供强有力的一般的设计指导,是关于优秀设 计知识的表达。 许多有经验的u i 设计人员下意识的使用成熟的问题解决方案,但是设计人 员很少对解决方案进行形式化的描述和归纳。于是,不精确的设计模式和形式 化的设计模式同时并存了。形式化的模式能够作为收集并形式化用户界面设计 知识的手段。使用h c i 模式来捕捉并归档设计知识的原因主要有【3 0 1 : 1 1 h c i 模式提供了能够被所有人阅读和理解的通用语言,而不管他们的背 景如何。 2 ) 现存的归纳u i 设计知识的形式化的方法功能太弱。h c i 模式提供了一种 很好的捕捉和转换这种知识的方法。他们以固定的格式来表达,非常容易理解, 并且提供了背景的推理。这种形式提供了关于即将解决的问题,上下文,解决 方案以及这种解决方案的原理等。 3 1 h c i 模式促进了复用性 4 ) h c i 模式是极具价值的信息资源,对于新系统的分析、当前形式以及设 计等都提供有力支持。 然而,我们相信h c i 模式不能作为设计知识的单一的资源。它们必须由传 统的信息资源作为补充。但是,它们表达了合理的信息和对于类似的项目来讲 好的设计。既然这种描述形式提供了论证和和动机,h c i 模式对于当前项目的 适用性能够被测试和验证。 h c i 模式必须作为相互联系的模式的语言的一部分,能够互相参与和支持, 山东大学硕士学位论文 为了能够真正的有用。模式语言工作在不同的规模,并且促进了设计的迭代式 的优化。 模式不同于设计指导原则p “。然而,指导原则的重点大多放在窗口小窗口 等事情上,而忽视了对于适当的u i 设计所需要的知识。实际上,影响设计的主 要的因素:用户、上下文、任务,这些因素指导原则都忽略了。设计原理也忽 略了。设计模式捕捉并归纳了所有重要的知识,它们是经得起时间考验的。 h c i 模式和其他的模式也是不同的。然而,u 设计者认为那些模式太严格, 太详细了。u i 设计者除了关心功能还关心其美学和社会效应。他们也想自由的 革新和表达自己。这些愿望和这样的一个事实在一起:h c i 是一个年轻的学科, 许多内容都是未知的,设计出一个纯工程的方法是不合适的。于是h c i 模式更 接近体系结构模式。 2 3 2 基于用户目标的界面模式 基于对用户的使用目标的模仿,采用目标驱动的开发方法归纳模式实现良 好的设计。归纳出的模式集并没有概括迄今为止我们所知道的良好设计的所有 特征,却是对设计知识的适当描述。文中没有应用a l e x a l l d e r 提出的设计模式 格式,通过强调每个模式的最吸引入的方面进行表达。提出了动态查询模式 s e a r c h ,动态数据显示模式d a t a v i e w s ,动态查询结果储存模式s t o 】a g e ,自由 选择和操纵对象模式s e l e c t i n g 扰dm a n i p u l a t i n go b j e c 协,日期和时间显示模式 t i m e 缸ds c h e d u l e ,层次和集合显示模式h e i r a r c h i e s ,保存和取消模式s a v e 锄d u n d o 。 在用户界面的设计开发中,分析阶段对用户界面信息提取和抽象,归纳概 念模式应用于工程化的开发环境,支持界面代码的自动生成3 “。从分析阶段审 视模式,经过一系列开发和细化,支持分析、设计、实现整个软件生命周期的 全过程开发。提出了 i i r a r c h i c a la c t i o nt r e e 模式,利用树状结构提供用户选择 的动作,叶子节点表示最终的动作,中间节点表示动作的不同分类准则,当用 山东大学硕士学位论文 户可选的动作较多时提高效率。提出了m a s t e r s i a v e 模式,当用户需要处理相互 联系的不同的信息单元集合,主信息单元决定了从属的信息单元集合。 通过扩展o o m e t h o d 方法获取用户需求,在概念建模阶段描述与代码生成 有关的用户界面模型,最终目标是抽象描述需求,生成不同平台的用户界面。提 出了几个简单模式:f i l t e r 、o r d e r 、c r i t e r i o n 、d i s p l a ys e t 、n a “g a l i o n a c t i o n s 。 从用户的使用角度考虑设计问题【3 ”,提出了相关的用户使用性指标,从指 标出发归纳模式,每个模式至少改善一个目标,如表2 1 所示。 模式名称问题描述解决方案 w i z a l d用户在实现某个目标前需提供一个步骤,为用户的导航选 要做许多未知的选择择做出提示,方便的进行条件的 查看和选择 g r i d l 卵o u t 通过有限的区域展示便于通过有组织的表格方式清晰的展 用户快速理解的对象示对象,便于用户浏览和阅读 p i d g f e 锱 用户操作的执行进展情为用户正在进行的操作做出进展 况,成功失败情况提示,包括进度、剩余时间等 s h i e l d用户在操作中会出现不当在发生意想不到的后果前为用户 的操作做出提示,避免人为的损失 c o n t c x t l l a lm e n u 一个应用系统可能具有很以快捷菜单的方式为用户提供当 多功能,用户不易操作 前可能用到的操作,便于用户熟 练操作 f o c 同时呈现给用户多个可视通过为对象设置焦点,便于用户 对象,用户只对其中几个 选中或者编辑对象,精确的操作 感兴趣 u 蛆血b i g u o u s 在界面中输入具有固定格为用户所输入的数据设置相应的 f o f n l a t 式的数据,如:日期、时格式,对错误的数据做出提示 间、邮政编码等 表2 1 用户界面模式 山东大学硕士学位论文 p a g e d r i v 锄p a 廿e m 定义了页面的一系列协作和在典型的业务情景中的类, 并明确定义了其在不同上下文中可用的参数。描述页面或者页面元素间的相互 关系,比传统的描述更加具体,实现了设计与实现的统一。模式系统包含两部 分:扩展的u m l 元模型定义模式的模型,用作模型转换的源模型,抽象的潜在 的可执行的模式系统框架可以映射到针对不同的具体实现的运行时框架。模式 的框架g e n e r i cu n d e r l i n gf r 锄e w o r k 有三部分组成:i t e m s ,c o m m a i l d so f p a g e ,呦l s i t i o n sb e t w e e np a g e s 。其中i 钯m s 对应页面展示元素,如:b u t t o n i d i o b o x 等;c o 咖a n d s 表示映射到元素的动作;所有的实现由t f 彻s i t o n s 完成,负 责管理和查找动作对象,装配领域模型实现需求任务。体系结构类似于m v c 模式。 2 4 设计模式的形式化研究 设计模式是软件人员在面向对象软件设计中经多次验证的成功解的记录与 提炼,是在特定上下文情形下解决一般设计问题的类和相互通信对象的描述。 设计模式的形式化研究,对进行软件架构建立、基于构件的开发、设计模式发 现和自动验证、代码重构等问题有重要的推动意义。 有许多设计模式的形式化描述方法, e d e n 用谓词逻辑描述设计模式。他 提出了设计模式形式化规范语言l e p u s ( l 锄g u a g ef o rp 甜e m su n i f o r m s p e c 语c a t i o n ) 。l e p u s 是一个高层顺序逻辑的子集,它有一个符号的和一个图 形的语言。e d e n 指出如何把形式化的表示应用到推理中,例如验证模式之间的 细化关系。k r r 提出一种基于p r o l o g1 3 3 1 的更实用的方法。它用有一个p r o l o g 谓 词集合表示模式,并用基于一个p r o l o g 规则解决模式实例。使用p r o l o g 查询发现 模式实例。1 撕b i 提出了平衡的模式规范语言b p s l 【3 4 1 【3 卸( b a l 锄c e d p a 竹e m s p e c 嫡c a t i o n l 锄g u a g e ) ,它是p l l 和时序行为逻辑的组合,用p l l 表示结构方面, 用时序行为逻辑表示行为方面。它基于形式化逻辑语法。v u 提出用实时进程代 数r n a ( r e a i t i m ep r o c e s sa l g e b r a ) 规范设计模式。它从三个方面用r 皿) a 【3 6 1 形式化说明设计模式:体系结构、静态和动态的行为。用r t p a 形式化地和明确 山东大学硕士学位论文 地描述设计模式能够加强语义的可理解性,同时有利于支持工具的开发。 针对形式化模式规范语言可用性差的问题, m ,f r 肌c e ,r o b e r t 等人提 出用u 沮3 7 1 规范和表达模式。此技术用基于角色的元模型规范设计模式,为支 持严格的设计模式到聊咀。设计模型的应用工具的开发奠定了基础。但是它主要 强调支持对模型转换的应用,而对于界面具体的描述。 对于设计模式的形式化研究为界面设计模式的形式化提供了理论和实践基 础,界面设计模式的形式化规范有助于界面设计模式的发现以及界面代码的重 构及自动生成有重要的推动作用。 2 5 代码自动生成 2 5 1 代码自动生成的概况 代码自动生成的研究已经经历了一段时间。起初,这一思想提出的主要原 因是应用系统的规模越来越大,其中存在大量的重复性代码模块,使得编写与 维护的工作量很大。但是随着软件体系结构与设计模式的研究与发展,以及它 们在应用系统开发中所发挥的作用,在一定程度上减少了设计开发中重复代码 过多这一问题的影响。 随着软件工程的进一步发展,对软件开发提出了更高的要求。目前软件开 发平台多样,应用软件系统需求变化性强。因此,近年来出现了对模型驱动架 构( m d a ) 的研究,提出了模型化系统设计,以提高软件开发抽象层次以及代 码自动生成的工程实现。 传统意义上的代码生成,首先识别应用源代码中经常出现的重复性代码, 然后自动生成这些重复部分来代替手工编写的目标代码。所谓目标代码,是指 应用相关的一系列产品,例如文档,脚本,定义文件等。如果没有代码生成工 具,开发者将手工书写所有代码,虽然这样可以得到灵活性较高的产品,但是 使用代码自动生成可以更加降低成本,减少出错率,便可靠性更强。 代码自动生成过程主要包括以下三个部分,如图2 3 所示; 山东大学硕士学位论文 模板:特定系统代码片段,组成系统的相对稳定的部分,它可以被灵活组 织成不同的表现形式。 实例模型:系统中的模型实例信息,可以认为是系统模型的形式化描述。 生成文本;输出结果文件,可以包括系统的源代码、文档等。 图2 1 代码生成过程 2 5 2 代码自动生成的发展过程 随着代码自动生成思想的提出,相应的代码生成器也在其结构、构造方法 方面得到了不断改进和发展,其发展过程可以分为三个时期或三代。 第一代代码生成器( 9 1 c g ) 通常是由开发者构造,他们检查并抽出源代码 中重复的部分,并且借助代码生成器代替手工编码。主要有以下特点: ( 1 ) 它只产生一种类型的生成文本。 ( 2 ) 模板文本和代码生成器被硬编码在一起,通常使用”p r i n t ”指令。 第一代代码生成器的主要问题是修改模板代价高,生成的代码类型单一, 在大规模的系统开发中,对于每一个不同的需求都要产生相应的9 1 c g 。 第二代代码生成器( 9 2 c g ) ,设计者将模板转移到外部文件中。船c g 成为 这个文件的解析器。9 2 c g 主要有以下特性: ( 1 ) 仍然产生特定情况下的代码。 ( 2 ) 模板成为外部文件。 ( 3 ) 工具使用者可以修改模板。 山东大学硕士学位论文 由于模板便于修改,因此生成代码的质量相对较高。第二代生成方法的缺 点是每种代码生成器都要定义自己的模板语言。由于只有很少开发者擅长书写 解析器,因此特殊的模板语言对于工具使用者比较模糊,难以掌握。所以模板 的更改和维护成为问题。 第三代代码生成器( 9 3 c g ) ,代码生成器成为一个能够解释通用目的模板语 言的解析器。9 3 c g 有以下性质: ( 1 ) 它能够产生适合解决各种问题的代码。 ( 2 ) 模板看上去开始像一段程序或脚本。 在9 3 c g 中特定于问题的处理从代码生成器中转移到模板中,即模板中含有 负责解释实例模型的脚本。代码生成器被精简为快速、通用目的的引擎,完成 混合模板和实例数据的基本任务。 2 5 3 目前对代码自动生成的研究 针对代码自动生成研究的不断发展,目前在代码生成方面国内外研究者提 出了不少方法和思路。 文献【3 9 】中提出了一种基于模型的j a 、,a 代码自动生成方法。文献【4 0 】中提 出了一种基于咀。的半自动化的w e b 应用代码自动生成方法。文献【4 l 】中总 结了当前代码生成器并将其分为三类,指出目前主要是基于模板的代码生成器。 它使得模板与生成器分离,增加了代码生成的灵活性,同时设计模式也被考虑 加入到代码生成中。 文献【4 2 】提出了设计模式的建模及用于自动生成的描述方式,在一定程度 上增强了生成系统的可维护性,但是其组织模式的方法复杂,模式不易于维护。 文献【4 3 】中提出了一种基于模板与代码模式的w e b 应用自动生成方法。以上方 法,在一定程度上实现了部分代码的自动生成,但基本上不是针对整体应用系 统,并且缺乏目标系统框架的支持。 根据代码生成器的一般性定义可以看出,代码生成器工作的不可缺少的前 山东大学硕士学位论文 提之一是必须有目标系统的信息描述,即系统的形式化描述。改进对系统的描 述对于改进代码生成器的组织结构以及代码生成效率非常重要。同时映射规则 是代码生成的原则与标准。为此,本文对目标系统的平台相关描述、模型映射 规则的确立进行了研究。 2 6 本章小结 本章详细介绍了用户界面自动化生成、w 曲应用用户界面的特点、界面设 计模式、设计模式的形式化研究以及代码自动生成的国内外相关研究。 用户界面自动化生成主要从交互界面构造工具和基于模型的工具两个方面 进行了阐述。交互界面构造工具主要包括界面设计工具、用户界面管理系统和 基于模型的工具。在基于模型的工具中描述了基于模型方法的优点以及五种陈 述模型。 w e b 应用用户界面同传统桌面的不同主要体现在:导航更灵活、界面之间 可以嵌套、界面布局方式,界面开发流程、界面更新和界面的用户群组成等几 方面。 在界面设计模式中介绍了使用h c i 模式来捕捉并归档设计知识的原因。设 计模式的形式化研究,对进行软件架构建立、基于构件的开发、设计模式发现 和自动验证、代码重构等问题有重要的推动意义。 随着代码自动生成思想的提出,相应的代码生成器也在其结构、构造方法 方面得到了不断改进和发展,介绍了不同时期的三种代码生成器以及目前对代 码自动生成的研究情况。 山东大学硕士学位论文 第3 章f m p 界面模型 3 1 硎p 界面模型介绍 f m p 界面模型如下图所示,整体上f m p 模型由三部分组成:f ( f i m c t i o n ) 功能模型、m ( m o d e l ) 内部模型和p ( p r e s e i l t a t i o n ) 表示模型。 图3 1 f m p 模型 功能模型和对象模型捕捉与界面相关的功能和数据信息,用交互模型表达 这些信息和控制关系。然后依据交互模型的描述,利用表示模型建立内部对象 和外部显示元素的对应关系,在界面模板和参数化的支持下,规划界面构成和 布局,从而实现用户界面的自动生成。在这里主要是从代码自动生成的角度来 说明一下f m p 模型。 功能模型部分把界面看成一个相对独立的功能实体,主要从人机交互角度 来分析界面需要完成的功能,以及各个功能之间的关系,所以在对界面功能分 析的过程中就确定了各个界面的边界及其所包含的功能,提供了界面的划分方 案。 内部模型( 对象和交互模型) 是整个f m p 模型的内在核心,其中对象模型主 要描述的是用户界面中界面显示单元p u ( p r e s t a t i o nu n i t ) 所表达的对象,每个 对象可以由一个或多个p u 组来描述,而交互对象模型则描述的是用户界面中 描述对象的具体界面元素之间的关联和约束关系。内部模型的建模工作就要是 山东大学硕士学位论文 完成对系统中用到的所有的对象、类以及它们之间的关系进行抽象定义,并且 给出这些对象、类的准确无二义性的形式化语言描述。从可见性上来分,内部 模型的对象可分为两类,可见对象和不可见对象。可见对象主要指用户界面元 素所描述的对象,而不可见对象主要是指界面对象之间的各种关系、约束和操 作等。交互模型在肿模型中起着承上启下的作用。一方面,交互模型与功能 模型和对象模型衔接,把界面所需的功能和对象有机的结合在一起,形成界面 的抽象轮廓;另一方面,交互模型的分类又是表示模型中界面模板检索的依据, 即交互模型中对象与对象之间的交互关系决定了界面模板的类型,为用户选择 合适的界面提供了约束,保证了界面生成的正确性。 表示模型主要是创建一些界面框架和内部模型的结合体一界面模板。可以 重复利用的界面模板都放到界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论