(计算机软件与理论专业论文)支持复杂界面构成的界面设计模式研究.pdf_第1页
(计算机软件与理论专业论文)支持复杂界面构成的界面设计模式研究.pdf_第2页
(计算机软件与理论专业论文)支持复杂界面构成的界面设计模式研究.pdf_第3页
(计算机软件与理论专业论文)支持复杂界面构成的界面设计模式研究.pdf_第4页
(计算机软件与理论专业论文)支持复杂界面构成的界面设计模式研究.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

山东大学硕士学位论文 摘要 用户界面是软件系统与用户沟通交流的桥梁。好的用户界面提高用户的效率和 生产力,降低错误和培训时间,改进用户接受度。由于界面的复杂度,界面难以开 发和维护。研究表明6 0 的软件错误来源于可用性方面的错误,而只有1 5 的软 件错误与功能相关 1 1 。如何提高界面开发的效率和质量是业界研究的焦点之一。 对于界面的开发,目前已有很多种用户界面开发方法:如基于设计模式的用户 界面开发方法、基于任务模型的方法等。用于用户界面开发的工具也层出不穷, 如设计工具、示范工具等。这些方法和工具的提出都是为了解决某个存在的问题或 是为了提供某种新的功能。从一开始就局限于解决某个问题或是某类问题,很难对 界面设计开发的所有问题给出一个完美的方案。同时,新需求的不断涌现也使得当 前好的工具或方法很快变得过时。所以整个界面开发过程是一个不断超越不断完善 的过程。 目前,界面设计模式是一个研究热点,人们从不同角度,针对不同方面,提出 了很多设计模式。但这些模式还很基础,难以实现界面的复杂性。 为了使界面设计更快捷和工程化人们提出了界面代码自动生成。如基于形式化 语法和规范语言的用户界面自动生成方法、基于模型的界面自动生成方法等。这些 方法只是界面基本代码的生成,自动化程度不高,且没有达到界面设计的要求,不 能实现复杂的界面结构。 针对以上问题,本文从增强当前界面设计模式表达复杂界面结构的能力和界面 设计模式的广泛性,使界面代码自动生成更加成熟的角度,在现有的界面设计模式 的基础上从新的角度提出了四种界面设计模式:导航模式、组件模式、重叠组合模 式和框架模式。 对于导航模式,将导航用例所在的页面作为导航源发页;用页面对象指定导航 目标页;通过导航的关联关系指定导航源发页和导航目标页之间的导航关系。导航 的详细属性在导航关联关系中设置,这里包含了导航的主要内容;通过设置页面的 山东大学硕士学位论文 属性参数来指定导航中要传递的数据。这样就可抽象出界面之间的互相跳转和数据 传递关系; 对于组件模式,通过引用关系来引入外部组件,并设置组件的相关属性;在模 型中通过组件对象表示外部组件,与其它对象的交互关系在交互模型中指定,组件 的展示属性在界面模板中设置,这样就解决了调用外部现成组件,实现代码重用, 简化软件设计的问题; 对于重叠组合模式,用组合关系来将多个对象进行组合,它们组合形成组合对 象。除了每个被组合对象有自身的属性外,组合对象包含了组合的相关属性。在交 互模型中设置交互关系,在界面模板中设置展示形式。这样可解决当前界面设计模 式难以表达复杂界面结构,不能满足诸如在同一有限区域展示多项内容或具层次结 构内容的问题; 对于框架模式,在界面节点中添加框架的相关属性,在界面模型内部添加框架 属性的约束机制,在代码生成过程中添加处理框架的模块,从而用框架解决界面局 部刷新或替换、界面同步和主从界面等问题。 对于界面设计模式在代码自动生成中的应用,本文分别介绍了这四种界面设计 设计模式的代码生成。最后,文章介绍了四种模式实际应用的例子。实验验证了模 式的实用性、复杂性,及其对界面代码自动生成的支持。 关键字:用户界面设计模式;导航模式;组件模式;重叠组合模式;框架模式;代 码自动生成 i i 山东大学硕士学位论文 a b s t r a c t u s e ri n t e r f a c e ( u ) i su s e df o rc o m m u n i c a t i n gb e t w e e nu s e ra n ds o f t w a r es y s t e m s g o o du s e ri n t e r f a c ew i l le n h a n c et h ee f f i c i e n c ya n dp r o d u c t i v i t yo fu s e r s ,d e c r e a s ee r r o r s a n dt r a i n i n gt i m e ,a n di m p r o v eu s e ra c c e p t a n c e d e v e l o p m e n ta n dm a i n t e n a n c eo fu ii s d i f f i c u l ttb e c a u s eo ft h eu ic o m p l e x i t y t h el a t e s tr e s e a r c hs u g g e s t st h a t6 0p e r c e n t e r r o r sa r ea b o u tu s a b i l i t ya n do n l y15p e r c e n ta r ea b o u tf u n c t i o n a l i t y 1 1 h o wt oi m p r o v e t h ee f f i c i e n c ya n dq u a l i t yo fu id e v e l o p m e n th a sb e c o m et h ek e yf i l e do fi ti n d u s t r y f o rt h eu s e ri n t e r f a c ed e v e l o p m e n t ,t h e r ea r em a n yd i f f e r e n ta p p r o a c h e ss u c ha s a p p r o a c h e sb a s e do nd e s i g np a t t e r na n da p p r o a c h e sb a s e d o nt a s km o d e l t h e r ea r ea l s o m a n yt o o l su s e df o rd e v e l o p i n gu s e ri n t e r f a c es u c ha ss i m p l ed e s i g nt o o la n d d e m o n s t r a t i o n a lt 0 0 1 a l lt h e s ea p p r o a c h e sa n dt o o l sa r ef i r s t l yp r o p o s e df o rs o l v i n g s o m ep r o b l e m so rp r o v i d i n gs o m en e w f u n c t i o n s t h e ya r el i m i t e di ns o m es p e c i a la r e 旧t s , s on l e yc 锄tg i v eac o m p l e t e ds c h e m ef o rs o l v i n ga l lt h ep r o b l e m so fu s e ri n t e r f a c e d e v e l o p m e n t m o r e o v e r , t h en e wr e q u i r e m e n t sw i l lm a k et h em e t h o d so rt o o l sb e c o m e o b s o l e t ef a s t s ou s e ri n t e r f a c ed e v e l o p m e n ti sa e x c e e d i n ga n di m p r o v i n gp r o c e s s c u r r e n t l y ,u s e ri n t e r f a c ep a t t e r ni san e wa n dh o tr e s e a r c ho n e c t r e s e a r c h e r sh a v e s u m m a r i z e dm a n yp a t t e m sf r o md i f f e r e n tp o i n to fv i e w s b u tt h e s ep a t t e m sa r eb a s i ca n d i tc a n ti m p l e m e n tt h ec o m p l e x i t yo fu i i no r d e rt om a k ei n t e r f a c ed e s i g nm o r ee a s i l ya n df a s t ,p e o p l er e s o r tt ot h ew a yo f c o d ea u t o m a t i cg e n e r a t i o n n o wt h er e l e v a n tr e s e a r c hi sw a y sb a s e do nf o r m a lg r a m m a r , w a y sb a s e d0 1 1m o d e la n ds oo n t h e s ea p p r o a c h e sj u s tc a ng e n e r a t es i m p l ec o d e s ;t h e a u t o m a t i cl e v e li ss t i l ll o w a n dm 盯c a n ti m p l e m e n tt h ec o m p l e xu ic o n s t r u c t i o n i no r d e rt oi m p r o v et h ee x p r e s s i v ea b i l i t yo fu id e s i g np a t t e m sa n dp e r f e c tt h e a b s t r a c te x p r e s s i o na n dv i s u a ld i s p l a yo fu i ,t h i sp a p e rp r o p o s e sf o u rd e s i g np a t t e r n s : n a v i g a t i o np a t t e r n , c o m p o n e n tp a t t e r n ,o v e r l a p p e dc o m n n ep a t t e r na n df r a m ep a t t e m n a v i g a t i o np a t t e md e f i n et h ep a g ei n c l u d i n gt h en a v i g a t i o nu s ec a s ea st h eo r i g i n a l p a g e ,u s ep a g eo b j e c tr e p r e s e n tt h et e r m i n a lp a g e t h en a v i g a t i o nr e l a t i o nb e t w e e n o r i g i n a | p a g ea n dt e r m i n a lp a g ec r e a t e sn a v i g a t i o n t h i sr e l a t i o n sa t t r i b u t e sd e f i n et h e m a i na t t r i b u t e so fn a v i g a t i o n t h et r a n s f e r r e dp a r a m e t e r sa r ed e f i n e di nt h ea t t r i b u t e so f i i i 山东大学硕士学位论文 p a g e b yt h i sw a yt h i sp a t t e ma b s t r a c tt h er e q u i r e m e n to fn a v i g a t i n ga n dd a t at r a n s f e m n g b e t w e e ni n t e r f a c e s ; c o m p o n e n tp a t t e r ni m p o r t sa ne x t e m a lc o m p o n e n tb yr e f e r e n c ei nt h es t r u c t u r e m o d e l 1 1 1 ea t t r i b u t e so fc o m p o n e n ta r ed e f i n e di nt h i sr e f e r e n c e c o m p o n e n to b j e c ti s u s e df o rr e p r e s e n t i n gt h ee x t e m a lc o m p o n e n t 1 1 1 ei n t e r a c t i o nr e l a t i o ni sd e f i n e di n i n t e r a c t i o nm o d e l t h ep r e s e n t a t i o na t t r i b u t e sc a nb es e ti nu it e m p l a t e b yt h i sw a yt h i s p a t t e r na b s t r a c tt h er e q u i r e m e n t so fc o m p o n e n tr e f e r e n c ea n dc o d er e u s i n g ; o v e r l a p p e dc o m b i n ep a t t e r nu s e sc o m b i n er e l a t i o nt oc o m b i n em u l t i p l eo b je c t s , t h e s eo b je c t sc o n s t r u c tac o m b i n eo b je c ta n d 廿1 叫a l lh a v et h e i ro w na t t r i b u t e s m o r e o v e r , t h ec o m b i n eo b je c th a st h ea t t r i b u t e so fc o m b i n a t i o n 1 1 1 ei n t e r a c t i o na n dp r e s e n m f i o n r e l a t i o n sc a nb es e ti ni n t e r a c t i o nm o d e la n d1 5 it e m p l a t e b yt h i sw a yt h i sp a t t e r na b s t r a c t t h er e q u i r e m e n t ss u c ha sd i s p l a y i n gs e v e r a lc o n t e n d s0 1 1o n ef i n i t ea r e ao rd i s p l a y i n g h i e r a r c h i c a lc o n t e n t s ; f r a m ep a t t e r na d d ss o m ea t t r i b u t e sa b o u tf r a m ei ne v e r yu in o d ea n da d d sa c o n s t r a i n ta b o u tf r a m ei nt h eu it e m p l a t e i nt h eg e n e r a t i n gp r o c e d u r et h i sp a t t e r na d d s s o m es p e c i a lm o d e l su s e df o rh a n d i n gf r a m e s ot h i sp a t t e r na b s t r a c t st h er e q u i r e m e n t s o fl o c a lr e f r e s h i n go rr e p l a c i n g ,i n t e r f a c es y n c h r o n i z i n g ,p r i n c i p a la n ds u b o r d i n a t e i n t e r f a c e s f o rt h ea p p l i c a t i o no fp a t t e r n si nc o d eg e n e r a t i o n ,t h i s p a p e ri n t r o d u c e st h e a l g o r i t h m so fc o d eg e n e r a t i o nf o rt h e s ef o u rp a t t e r n sr e s p e c t i v e l y a tt h ee n do ft h i sp a p e rt h e r ea r es o m es a m p l e s ,w h i c ht e s t i f y i n gt h eu s a b i l i t ya n d c o m p l e x i t yo ft h e s ef o u rp a t t e m s ,a n di t sc o n t r i b u t i o n so nu ic o d ea u t o m a t i cg e n e r a t i o n k e y w o r d s :u s e ri n t e r f a c ed e s i g np a t t e r n ,n a v i g a t i o np a t t e r n ,c o m p o n e n tp a t t e r n , o v e r l a p p e dc o m b i n ep a t t e r n ,f r a m ep a t t e r n ,c o d ea u t o m a t i cg e n e r a t i o n i v 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 哆、珍 论文作者签名:冱筮! 立二! 压日期:型堡:垒复一 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:酬导师签名:鲤日期:一 山东大学硕士学位论文 第一章引言 1 1 研究背景与意义 一般地,应用程序中完成各种具体任务的软件部分称为程序的计算部分或应用 语义,而处理用户与系统交互的软件称为用户界面【2 1 。用户界面是软件系统的重要 组成部分3 1 ,用户界面应设计良好,易于理解和使用 4 1 。终端用户往往依据用户界 面来判断一个软件的好坏。它负责接受用户的输入信息并显示输出系统运行的结果 【3 1 。早期人机交互使用的是简单而笨拙的文本输入输出方式,现在的图形用户界 面综合利用计算机强大的处理能力、新型输入输出设备以及先进的软件技术,使人 机交互手段丰富,极大提高了人机交互的方便性和有效性而被一般用户所接受。 人机交互能力的提高意味着设计和开发难度的增加,使得过去那种直接程序设 计的方式不再能保证界面的质量和满足维护的要求【2 1 。同时,随着软件系统规模的 扩大,开发用户界面所耗费的时间和成本也成倍增加,构造复杂交互式系统如c a d 系统的用户界面是非常费时费力的【3 1 。因此需要通过专门的工具来开发、管理软件 的用户界面,为设计者提供可视化、规范化的手段以实现从用户需求到实际界面的 映射。 界面开发工具可分为界面建造工具箱或用户界面管理系统( u i m s ) t 2 1 。界面开发 工具的一个主要特征是显式或隐式地利用了一个用户界面模型。界面模型不仅决定 了所产生界面的控制和通信方式网,而且也影响了工具本身的结构和对交互式软件 设计和开发的支持程度。 然而对界面却没有一个成熟的工程化的概念【5 】。该问题在u m l 和m d a 中同 样存在。所以,当前界面开发主要是使用各种界面开发环境进行的手工开发。即使 有了如u i m l ,u s i v 几和x i m l 等界面描述语言,这个情形依旧存在。因为它们 仅仅是用x m l 形式描述界面的架构,还是属于编程的范围。只是在不同的编程环 境之间起了一种桥梁的作用。我们需要一种理想的、完整的、描述性的界面开发方 法。这种方法应能处理快速界面原形、平台改变和用户定制,适应多设备和用户以 及满足普适计算的多种需求。 山东大学硕士学位论文 为提高用户界面的开发效率和质量,许多界面模型被提了出来。这些模型分为 概念模型和陈述模型两类。概念模型主要有p a c 模型、m v d 3 3 】模型等,直接针对 界面、描述简洁,但是无法支持全过程性开发。陈述模型服务于基于模型的工具, 种类较多,支持全过程开发,支持界面自动化生成,描述能力强大,但是模型设计 过程过于复杂,模型整合比较困难。 界面设计模式是设计模式在界面设计方面的应用和发展。它试图构建标准可复 用的解决方案,来帮助解决带有普遍性的界面设计问题。它是目前解决日渐复杂的 和多样性的界面设计的常用技术,代表了对界面设计的新方法和新方向。界面设计 模式已经成为当前界面设计的重要研究领域,但如何将其更好的应用到日益复杂的 界面设计,提高自动生成界面的复杂度,增强界面开发的工程化和自动化,还需进 一步研究。 同时,界面设计模式的运用,使得界面代码的自动生成变成了一种模型转换。 而对模型驱动架构( m d a ) 【7 1 的研究,为模型转换提供了解决方案。 本文的研究意义在于,挖掘新的界面设计模式,增强界面设计模式的复杂度, 丰富和扩展界面设计模式的概念和应用,使界面设计模式在界面自动生成中起核心 指导作用;进一步完善基于模型的w e b 用户界面自动生成,为自动化、工程化和 参数化的用户界面自动生成提供支持。 一 1 2 本文的创新点 本课题的主要创新点在于,针对界面构成的复杂性,在现有界面设计模式的基 础上,提出导航模式、组件模式、重叠组合模式和框架模式这四种界面设计模式; 分析了这四种模式的需求、构成和设计实现结构;完成各设计模式在代码自动生成 中的算法实现;实现了它们在基于模型的界面设计中的应用。 1 3 本文的组织结构 本文共分七部分。第一、二部分对课题的研究背景、意义以及国内外相关研究 进行了综述;第三部分介绍界面及其复杂度;第四五部分为本文的核心部分,第四 部分主要对本文归纳的四种模式进行详细的介绍;第五部分介绍各模式的在代码自 2 山东大学硕士学位论文 动生成的实现算法;第六部分为模式应用实例的介绍;第七部分为最后一章,对本 文作总结和展望。 3 山东大学硕士学位论文 第二章相关研究 2 1 用户界面开发 2 1 1 用户界面开发方法 2 1 1 1 基于设计模式的方法 用户界面设计模式首先在文献【8 】中提出并指出模式如何被移植到用户界面交互 设计中。文献9 1 指出模式关注于问题的上下文和设计方案,这个方案引导设计者应 用设计知识解决问题。文章探索了如何建立用户界面设计模式,以便使界面设计模 式成为设计者的有效的、可用的工具。提出了用户界面设计模式的组成结构,并给 出了具体的一个实例。w e l i e 将设计模式分类收集9 1 ,并给出具体设计模式,其侧 重于分类和简单描述,未挖掘内部原理,未涉及具体实现和使用。p d m b u i 将模 式与模型结合【1 0 】,克服基于模型界面开发的局限性,但只提供界面基本元素的设 计模式。 当前存在的界面设计模式主要从工作模式上考虑,针对某一个应用问题给出一 个设计模式,而不是从界面自动生成的角度去识别界面设计模式的结构及其关系, 从而不能很好的为工程化的界面设计服务。同时,目前给出的设计模式大部分没有 形式化的描述,不利于界面自动生成。 2 1 1 2 基于任务模型的方法 任务模型常用于描述应用系统为完成功能执行的操作序列。它把界面的设计分 解为不同的模型。一个模型是对用户界面的某个方面的详细描述。通过把注意力集 中在界面的某个方面,模型可用高度专业化的标记来表达。这使得基于模型的方法 比其它方法开发的界面更容易创建和维护。它可根据设备的不同生成相应界面,强 调建立任务模型来描写为达到用户目的而需通过不同平台完成的活动,可以应用到 迁移界面的研究【1 1 1 。 文献1 刁基于任务模型提出一个基于三层抽象的应用方案,允许设计者集中关 注逻辑方面,定义了许多能够从抽象到用户界面获取的转换。既考虑了可用平台和 4 山东大学硕士学位论文 它们的交互形态,又保持可用性。这个转换由工具t e r e s a 【1 3 1 支持,它能够为选 择最合适的交互技术和方法提供建议并组合它们。 任务模型方法可帮助理解应用系统,支持有效的设计,有助于进行易用性评 价,且可以重用。但它主要强调任务的分析,而且对对象结构和关系对于界面复杂 性的影响缺乏直观和全面的研究,影响了模型的描述能力。 2 1 1 3 基于界面模板的方法 界面模板是对用户界面的构成、布局和展示风格等属性的总体描述,其元素由 抽象表示单元a p u ( a b s t r a c tp r e s e n t a t i o nu n i t ) 组成。抽象表示单元是实际界面元 素的抽象。界面模板由普通a p u 和组合a p u 组成。普通a p u 是组成界面模板的 最小单元,包含界面的基本属性。组合a p u 是由普通a p u 经过简单组合或重叠组 合而来。界面模板作为参数化设计方法是界面设计模式的直观表现形式,它以参数 化的控制方式对界面进行裁剪、组合和复用。 文献【1 4 1 提出一种面向软件工程和支持用户界面自动生成的用户界面模型。该 模型由体系结构模型、数据对象模型、交互模型、界面模板构成,实现了针对不同 目标平台的用户界面代码的自动生成。其中,界面模板是参数化的,既支持普通功 能也支持某些特定的功能。 文献【1 5 】实现了一个基于模板的数据层到表现层的映射引擎d i m e ( 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 代码。该方法不能实现具体的参数控制,模 板类型可扩充性太差。 文献 1 6 , 1 7 为满足普适计算的要求,提出用s m a r tt e m p l a t e 实现远程应用设备界 面的自动生成。此模板用参数化来控制何时为用户自动生成常用的界面,易适应不 同平台上的应用模型和界面生成,因此能够将模板应用到适当的界面设计习惯中。 但是此方法没有界面的抽象描述,平台相关性太强。 2 1 1 4 基于形式化方法的方法 形式化方法由于其特有的描述的精确性和无二义性而被许多研究人员用于界面 设计。形式化方法能够证明描述的可靠性和一个系统正确地被实现的特性,以及通 5 山东大学硕士学位论文 过证明系统的属性而不是运行时来决定它的形为。【2 1 1 没有形式化的描述不能体现 用户界面的正确性。针对具体界面需求的不同可采用不同的形式化方法。 文酬1 8 1 应用扩展的o b j e c t - z 语言,提出在具体界面开发前形式化描述支持功 能的抽象界面,避免了许多不成熟的设计的发生,并能对交互式系统提供可用性和 安全性分析。文献1 9 1 给出了一个用o b j e c t - z 设计用户界面的实例,并从任务有效 性、重用、人机通信、健壮性和灵活性这5 个方面对交互式系统的可用性进行了分 析,证明了如何将o b j e c t z 用于帮助界面的可用性分析。 文献冽提出一个产生用户界面原型的需求过程,并产生了一个以高层p e t r i 网 描写的形式化规范,用户界面的静态和动态信息都用p e t r i 网表示,依此规范产生 界面原型。其优点是通过开发的算法自动产生界面、能够对场景进行验证和用户面 向目标应用的进一步升级。 文献【儿】提出了一个交互式用户界面的通用模型,并利用形式化方法对其进行 定义与研究,讨论了如何使用形式化描述语言l o t o s ( l a n g u a g eo ft e m p o r a l o r d e r i n gs p e c i f i c a t i o n ) 和基于动作的时序逻辑a c t l ( a c t i o nb a s e dt e m p o r a ll o g i c a l ) 对系统进行描述与验证,这有利于人们对交互式用户界面的动态行为进行研究、评 估与定义。 形式化方法为界面信息的准确描述提供了技术基础,能够在设计的早期阶段发 现错误,有助于缩短开发周期,保证开发质量,支持形式化的验证机制。但是大都 没有对形式化的建模和支持的用户界面之间的相互关系进行研究,也没有从工程化 的角度设计界面。 2 115 基于u m li 的方法 u i v o l 用于建模,然而u m l 对于用户界面建模不能提供足够的支持。模型驱 动的界面开发环境( u i d e ) 可以系统的表达用户界面,但目前的m b u i d e 却大多不能很好的表达系统设计。文献 1 1 , 2 1 - 2 5 1 提出将u m l 与m b u i d e 集成实现 基于u m l i ( u m lf o ri n t e r a c t i v ea p p l i c a t i o n s ) 的界面设计。通过加入对交互任务的 表达,u m l i 在保留u m l 表达系统模型的基础上扩展了u m l ,加强了表达界面模 型的能力,降低了结构复杂性以及表达界面模型的难度,结合任务模型和活动图来 6 山东大学硕士学位论文 表达界面的交互活动,能较好的表达界面交互模型。由于采用了u m l 作为扩展建 模语言,因此易推广。 但u m l i 扩展了u m l 元模型,只能被为u m l i 符号设计的专有工具a r g o i 支 持。这与w i s d o m 方法正相反,它仅使用标准u m l 机制的元类型扩展u m l 符号 以确保一个范围更广的工具的支持。 2 1 2 用户界面开发工具 2 1 2 1 设计工具 设计工具【施2 刀对用户界面展示元素的位置等基本属性进行简单的描述,并提供 箱编辑环境。s u i t ( t h es i m p l eu s e ri n t e r f a c et o o l k i t ) 2 8 1 是一个简单的用户界面工 具包。这类工具容易使用,操作简单。但其仅描述界面静态组成,不支持交互操作 描述,无法支持复杂的界面设计分析评价工具,描述使用特定程序语言描述,移植 性差。 2 1 2 2 示范工具 这种工具使用示范技术来记录动作或者创建宏,例如e m a c s 、s m a l l s t a r 等, 或者使用示范技术而不需要编程来创建特定应用的图形对象,如l a p i d a r y 。现在, 人们又开始尝试使用示范技术来开发完全的用户界面。 2 1 2 3 智能工具 智能工具2 2 1 利用应用模型的一些表达方式生成界面,而不需设计者定义界面 的确切分布。这些工具有的是利用应用命令中的规约创建表达方式和对话框,例如 u o f a 和m i c k e y ;有的是使用e r ( e n t i t yr e l a t i o n s h i p ) 数据模型创建与界面标准一 致的界面,它使用基于知识的规则描述界面的属性,如g e n i u s 。智能工具的缺点 在于缺乏其它工具那样的灵活性。 2 1 2 4 面向对象工具 对象包含状态和操作,它提供了一个很好的抽象机制用于表达界面元素,并支 持它们的直接操作。互操作对象实现用户界面,而抽象对象实现界面内部的数据 3 3 1 。对象以互操作的对象和抽象对象的形式,可以将应用代码和用户界面分离。 实验表明,使用面向对象语言编写的用户界面更易于开发和维护。 7 山东大学硕士学位论文 2 1 2 5 用户界面管理系统 用户界面管理系统是构建界面交互部件,使用专门语言描述交互过程的系统。 有些用户界面管理系统也描述界面展示,但描述语言是简单和低层次的。用户界面 管理系统具有支持对话代码生成、语言移植性好的优点。其缺点主要是设计人员需 学习专门的描述语言、通用性差、描述层次较低级、描述较复杂等。 2 1 2 6 基于模型的工具 基于模型的界面开发方法【3 4 3 5 1 是一种较新的界面开发方法。在此方法中,陈述 模型描述了用户需要执行的任务、界面展示的内容、结构和布局和界面展示元素在 用户任务执行中所起的作用。用户界面依据陈述模型自动生成。 基于模型的工具有如下优点:提供功能强大的设计和运行工具;模型支持一 致性和复用性;支持早期概念设计;支持迭代式全过程开发。但存在着缺乏灵活 性、运行性能较差、难于使用等缺点。现在主要的基于模型的工具有u i d e 、 f u s e 3 6 1 、m a s t e r m i n d 【3 7 1 t a d e u s 3 8 1 、t e a l l a c h 【3 9 1 、m o b i d 、u m l 和 u m l i 等。 2 2 界面设计模式 模式可描述为m 1 “针对在一个特定的环境中带有普遍性的设计问题的可能的 好的解决方案。通过描述这些解决方案中不变的属性,模式能够以一致的易于阅读 和理解的方式提供强有力的一般的设计指导,是关于良好设计知识的表达。 模式不同于设计指导原则4 5 1 。指导原则的重点大多放在窗e l d , 窗口等事情 上,而忽视了对于适当的界面设计所需要的知识。实际上,影响设计的主要的因 素:用户、上下文、任务,这些因素在指导原则和设计原理中都被忽略了。设计模 式捕捉并归纳了所有重要的知识。 模式语言工作在不同的规模,并且促进了设计的迭代式的优化。 许多有经验的界面设计人员下意识的使用成熟的问题解决方案,但是设计人员 很少对解决方案进行形式化的描述和归纳。于是,不精确的设计模式和形式化的设 计模式同时并存。形式化的模式能够作为收集并形式化用户界面设计知识的手段。 山东大学硕士学位论文 用户界面设计模式表达了合理的信息和对于类似的项目来讲好的设计。然而, 它不能作为设计知识的单一的资源,必须由传统的信息资源作为补充,必须作为相 互联系的模式的语言的一部分,能够互相参与和支持。 j u s t - u i 4 1 。4 3 1 提出了一个基于概念模式的用户界面抽象描述模型,并应用到 界面自动生成中。它提出在概念层上收集关于界面特征的信息的方法,在用户界面 中识别模式并依据问题域抽象它们。此模型集中了展示和导航两方面的问题。同 时,引入了一个图形符号,使描述更方便。但是没有给出如何正确定规范与系统相 关的界面模式。 文献【删给出一个建立用户界面的方法,并将此方法集成到软件开发过程中。 在用户界面的设计开发中,分析阶段对用户界面信息提取和抽象,归纳概念 模式应用于工程化的开发环境,支持界面代码的自动生成【6 1 1 。从分析阶段审视模 式,经过一系列开发和细化,支持分析、设计、实现等整个软件生命周期的全过程 开发。提出了h i e r a r c h i c a la c t i o nt r e e 模式,利用树状结构提供用户选择的动作, 叶子节点表示最终的动作,中间节点表示动作的不同分类准则,当用户可选的动作 较多时提高效率。提出了m a s t e r s l a v e 模式,当用户需要处理相互联系的不同的信 息单元集合,主信息单元决定了从属的信息单元集合。 通过扩展0 0 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 v i g a t i o na c t i o n s 。从用户 的使用角度考虑设计问题【4 7 1 ,提出了相关的用户使用性指标,从指标出发归纳模 式,每个模式至少改善一个目标。 p a g e d r i v e np a t t e r n 定义了页面的一系列协作和在典型的业务情景中的类,并 明确定义了其在不同上下文中可用的参数。描述页面或者页面元素间的相互关系, 比传统的描述更加具体,实现了设计与实现的统一。模式系统包含两部分:扩展的 u m l 元模型定义模式的模型,用作模型转换的源模型。抽象的潜在的可执行的模 式系统框架可以映射到针对不同的具体实现的运行时框架。模式的框架由三部分组 成:i t e m s ,c o m m a n d so fp a g e ,t r a n s i t i o n sb e t w e e np a g e s 。其中i t e m s 对应页面展示 9 山东大学硕士学位论文 元素如:b u t t o nr a d i ob o x 等;c o m m a n d s 表示映射到元素的动作;所有的实现由 t r a n s i t i o n s 完成,负责管理和查找动作对象,装配领域模型实现需求任务。 用户界面模式和其它的模式也是不同的。界面设计者除了关心功能还关心其美 学和社会效应。目前,用户界面还是一个年轻的学科,许多内容都是未知的,设计 出一个纯工程的方法是不合适的,于是用户界面模式更接近体系结构模式。 2 3 用户界面自动化生成 代码自动生成的研究已有一段时间。起初提出这一思想的主要原因是应用系统 的规模越来越大,其中存在大量的重复性代码模块,使得编写与维护的工作量很 大。但是随着软件体系结构与设计模式的研究与发展,以及它们在应用系统开发中 所发挥的作用,在一定程度上减少了设计开发中重复代码过多这一问题的影响。 随着软件工程的进一步发展,对软件开发提出了更高的要求。目前软件开发平 台多样,应用软件系统需求变化性强。因此,近年来出现了对模型驱动架构 ( m d a ) 的研究,提出了模型化系统设计,以提高软件开发抽象层次以及代码自 动生成的工程实现。 传统意义上的代码生成,首先识别应用源代码中经常出现的重复性代码,然后 自动生成这些重复部分来代替手工编写的目标代码。所谓目标代码,是指应用相关 的一系列产品,例如文档,脚本,定义文件等。如果没有代码生成工具,开发者将 手工书写所有代码,虽然这样可以得到灵活性较高的产品,但是使用代码自动生成 可以更加降低成本,减少出错率,增强可靠性。 针对代码自动生成的研究不断发展,目前在代码生成方面国内外研究者提出了 不少方法和思路。 1 基于形式化语法和规范语言的用户界面自动生成 很早前m l s c o t t 和s k y a p 就在研究基于语法的方法来自动生成用户界面 4 8 1 。用户界面管理系统也是适用特殊的语言和形式化语法来定义用户界面的属 性。但是这种方法一般比较复杂和抽象,现阶段的人机界面的形式化方法仅仅是提 出了不成熟的技术和设想,还不能解决现存的一些问题; 2 基于模型的界面自动生成 1 0 山东大学硕士学位论文 使用模型来创建用户界面是一种普遍的方法【5 0 】,基于规范语言来定义界面的 一个问题在于开发者必须定义界面上部件放置、形式以及功能。而基于模型的方法 是一种高层次的规范,可解决这些问题。另外,这种方法还可用于界面的自动生 成,以及提供满足约束的所有设计,从而帮助用户选择所喜欢的界面。 基于模型的用户界面自动生成的有代表性的一种系统是m a s t e r m i n d 4 9 1 ,采 用三种模型来支持用户界面的自动生成:文献【5 1 1 提出了一种基于模型的j a v a 代 码自动生成方法;文献旧提出了一种基于x m l 的半自动化的w e b 应用代码自动 生成方法:文酬5 3 】总结了当前代码生成器并将其分为三类,指出目前主要是基于 模板的代码生成器,它使得模板与生成器分离,增加了代码生成的灵活性,同时设 计模式也被考虑加入到代码生成中;文酬5 4 】提出了设计模式的建模及用于代码自 动生成的描述方式,在一定程度上增强了生成系统的可维护性,但是其组织模式的 方法复杂,模式不易于维护;文献【4 6 1 中提出了一种基于模板与代码模式的w e b 应 用自动生成方法。 以上方法,在一定程度上实现了部分代码的自动生成,但基本上不是针对整体 应用系统,并且缺乏目标系统框架的支持。 3 基于数据结构的界面自动生成 j o h nak o n g l a t i o n t 5 5 】提出可从程序代码中的数据结构入手,选择用户界面的要 素,从而生成界面。另外作为辅助手段可使用程序模式来改进所生成的界面,比如 j a v a b e a n 中所使用的模式。这种思想是基于面向对象方法的【5 6 1 ,利用所定义类中 的数据结构来映射数据输入界面。 这类方法所定义的界面一般种类不多,只是简单的数据输入界面,使用范围不 广,有局限性。 2 4 本章小结 本章介绍了界面开发的相关研究。对于界面的开发,介绍了以下几种用户界 面开发方法;如基于设计模式的用户界面开发方法、基于任务模型的方法、基于界 面模版的方法、基于形式化方法的方法和基于l m l i 的方法等。 山东大学硕士学位论文 对于用户界面开发的工

温馨提示

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

评论

0/150

提交评论