(计算机软件与理论专业论文)设计模式支持的界面对象间的交互研究.pdf_第1页
(计算机软件与理论专业论文)设计模式支持的界面对象间的交互研究.pdf_第2页
(计算机软件与理论专业论文)设计模式支持的界面对象间的交互研究.pdf_第3页
(计算机软件与理论专业论文)设计模式支持的界面对象间的交互研究.pdf_第4页
(计算机软件与理论专业论文)设计模式支持的界面对象间的交互研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

山东大学硕士学位论文 摘要 用户界面是软件系统的重要组成部分,是用户和计算机之间沟通的桥梁。界 面开发的质量和效率,成为影响软件产品质量的一个重要因素。然而开发图形用 户界面g u i 的工作量和难度十分可观。与此同时,软件技术的飞速发展和用户对 界面需求的不断提升,更增加了用户界面设计和开发的难度,手工设计方法已经 越来越不能满足当前需要。 近年来,围绕用户界面的设计和自动生成,出现了很多界面开发方法和工具。 这些开发方法和工具,从一开始提出就是为了解决界面开发中存在的某类问题, 从而很难对设计开发中的所有问题提供一个完善的解决方案。然而在此过程中, 模型驱动架构、界面设计知识的复用以及界面与应用逻辑相分离等一些优秀思想 的提出,大大推进了界面工程化开发的进一步研究。 界面设计模式的提出是为了提供给设计者与界面设计相关的、标准可复用的 解决方案,来帮助解决常见的、带有普遍性的界面设计问题,由于缺乏形式化描 述和传统信息资源的补充,很难将其应用于工程化界面开发过程当中。基于模型 的界面开发方法把用户界面设计的所有元素都用模型来表示,能够帮助设计者集 中于概念方面以获取用户需求,避免过早的进行细节的设计,同时使得一个界面 的不同部分同它们所扮演的角色之间的关系更加清晰。但是基于模型的界面开发 由于缺乏有效的设计知识重用而不能被广泛应用。相关研究表明:当前没有一种 可以很好地集成到基于模型的界面开发的模式及其支持工具。 由此,本文从界面实际构成出发,抽象常用的界面展示区域,从内部模型、 展示风格和交互操作三个角度对其进行描述,建立了一种支持工程化开发的界面 设计模式框架以及基于内部模型的分类方法;为了使界面设计模式能够相互参与 和支持,更好地描述用户界面构成,引入了模式对象的概念,模式对象作为界面 设计模式的应用实例,不仅拥有界面设计模式的框架描述,而且具有了对象的特 性,能够相互协作来完成特定的界面交互行为;在此基础上,本文分析归纳了用 户界面中存在的四种复杂交互关系:关联关系、功能调用、消息传递和导航,并 且在交互模型中为其建立了模型描述:交互关系反映了界面对象之间的调用关系, 山东大学硕士学位论文 这种调用关系反映在内部模型中,可以通过模式对象之间的一系列交互操作来实 现;最后代码生成引擎从模式对象获取交互信息,最终实现关系代码的自动生成。 本文在最后介绍了四种交互关系代码生成的实例,验证了以上理论的正确性。 关键字:工程化开发;界面设计模式;模式对象;交互关系;代码自动生成 i i 山东大学硕士学位论文 a b s t r a c t u s e ri n t e r f a c e ( u di sa l li m p o r t a n tc o m p o n e n to fs o f t w a r es y s t e m , w h i c hs e r v e s a sab r i d g eb e t w e e nu s e ra n dc o m p u t e r t h eq u a l i t ya n de f f i c i e n c yo fu s e ri n t e r f a c e d e v e l o p m e n th a sb e c o m eak e yf a c t o rt h a ta f f e c t st h ee n t i r es o f t w a r ep r o d u c t h o w e v e r , t h ew o r k l o a da n dd i f f i c u l t yo fg r a p h i c su s e ri n t e r f a c e ( g t a ) d e v e l o p m e n ti sv e r y c o n s i d e r a b l e w i t ht h er a p i dd e v e l o p m e n to fs o f t w a r et e c h n o l o g ya n dc o n t i n u o u s u p g r a d eo fu s e rd e m a n df o ru s e ri n t e r f a c e ,t h ed i f f i c u l t yo fu s e ri n t e r f a c ed e s i g na n d d e v e l o p m e n th a si n c r e a s e dc o r r e s p o n d i n g l y ,a n d m a n u a ld e s i g nd o e sn o ts a t i s f y c u r r e n tn e e d sa n ym o r e i nr e c e n ty e a r s ,a r o u n dt h ed e s i g na n da u t o m a t i cg e n e r a t i o no fu s e ri n t e r f a c e , m a n ya p p r o a c h e sa n d t o o l sh a v ec x ) m eu p f r o mt h eb e g i n n i n g ,t h e s ea p p r o a c h e sa n d t o o l sa r ep r o p o s e df o rs o l v i n gg i v e np r o b l e m s ,s ot h e yc a nn o tp r o v i d eap e r f e c t s o l u t i o nt oa l lp r o b l e m si nd e s i g na n dd e v e l o p m e n t b u ti nt h i sp r o c e s s ,m a n ye x c e l l e n t i d e a s ,s u c h 船m o d e l - d r i v e na r c h i t e c t u r e 、r e u s eo fd e s i g nk n o w l e d g ea n ds e p a r a t i o n o fu s e ri n t e r f a c ea n dl o g i c ,h a v ec o m et ot h ef o r e ,w h i c ha d v a n c ef u r t h e rs t u d yo fu s e r i n t e r f a c ee n g i n e e r i n gd e v e l o p m e n tg r e a t l y u s e ri n t e r f a c ed e s i g np a t t e mi sp r o p o s e df o rp r o v i d i n gd e s i g n e r sw i t hr e u s a b l e a n ds t a n d a r ds o l u t i o n st h a ta r er e l a t e dt ou s e ri n t e r f a c ed e s i g n ,i no r d e rt oh e l ps o l v e c o m m o na n du n i v e r s a lp r o b l e m s d u et ol a c ko ff o r m a ld e s c r i p t i o na n dt r a d i t i o n a l i n f o r m a t i o nr e s o u r c e ,i ti sh a r dt ob ea p p l i e di nu s e ri n t e r f a c ee n g i n e e r i n gd e v e l o p m e n t m o d e l - b a s e dd e v e l o p m e n tm e t h o d sd e n o t ea l le l e m e n t si nu s e ri n t e r f a c ed e s i g na s m o d e l s t h e yc a nh e l pd e s i g n e r sf o c u so nc o n c e p t i o nt oc a p t u r eu s e rd e m a n da n d a v o i dd e s i g n i n gd e t a i l sp r e m a t u r e l y ,a n ds i m u l t a n e o u s l y ,t h e ym a k ec l e a rr e l a t i o n s b e t w e e nd i f f e r e n tp a r t sb e l o n g i n gt ot h es a m eu s e ri n t e r f a c ea n dt h er o l e st h e ya r e p l a y i n g b u tm o d e l b a s e dd e v e l o p m e n tc a nn o tb ew i d e l ya p p l i e db e c a u s ei t l a c k s e f f i c i e n tr e u s eo fd e s i g nk n o w l e d g e r e l a t e dr e s e a r c h e si n d i c a t et h a tt h e r ei sn o tau s e r i i i 山东大学硕士学位论文 i n t e r f a c ep a r t e ma n di t ss u p p o r tt o o lt h a tc a nb ew e l li n t e g r a t e di nu s e ri n t e r f a c e m o d e l - b a s e dd e v e l o p m e n t f i r s t l y ,t h i sp a p e r w i l l a n a l y z ec o m p o s i n go fu s e ri n t e r f a c e ,a b s t r a c t i t s p r e s e n t a t i o na r e a si nc o m m o nu s e ,a n dd e s c r i b et h e mf r o mt h r e ea s p e c t s :i n t e r i o r m o d e l 、p r e s e n t a t i o ns w l ea n di n t e r a c t i v eo p e r a t i o n ,t oe s t a b l i s had e s c r i p t i o no fu s e r i n t e r f a c ep a t t e r na n dac l a s s i f i c a t i o nm e t h o dt h a tc a l ls u p p o r te n g i n e e r i n gd e v e l o p m e n t ; t h e nw ei n t r o d u c ep a t t e r no b je c t ,i no r d e rt od e s c r i b eu s e ri n t e r f a c eb e t t e rb yp a t t e r n s t h a ta s s o c i a t eo n ea n o t h e r a si n s t a n c eo fu s e ri n t e r f a c ep a t t e r n ,p a t t e r no b j e c t sn o t o n l yc a nb ed e s c r i b e da st h es a m ea sp a t t e m s ,b u ta l s op o s s e s sc h a r a c t e r i s t i co fo b je c t s , w h i c hm a k e si tp o s s i b l et h a tt h e yc a na c c o m p l i s hg i v e ni n t e r a c t i o nb e h a v i o r st h r o u g h t h e i rc o o p e r a t i o n ;o nt h i sb a s i s ,t h i sp a p e rw i l ls u mu pf o u rc o m p l e xi n t e r a c t i o n r e l a t i o n se x i s t e n ti nu s e ri n t e r f a c e ,i n c l u d i n ga s s o c i a t i o n 、f u n c t i o nc a l l 、m e s s a g ea n d n a v i g a t i o n ,a n dt h e nd e s c r i b et h e mi nt h ei n t e r a c t i o nm o d e l ;i n t e r a c t i o nr e l a t i o n s r e f l e c tt h ec o n n e c t i o nb e t w e e nu s e ri n t e r f a c eo b je c t s ,w h i c hc a l lb ei m p l e m e n t e dv i aa s e r i e so fi n t e r a c t i v eo p e r a t i o n sb e t w e e np a t t e r no b je c t si ni n t e r i o rm o d e l ;f i n a l l y ,c o d e g e n e r a t i o ne n g i n eo b t a i n si n t e r a c t i o ni n f o r m a t i o nf r o mp a n e mo b j e c t s ,t oc o m p l e t e a u t o m a t i cg e n e r a t i o no fr e l a t i o nc o d e i nt h ee n d ,s o m es a m p l e sw i l lb eg i v e n ,w h i c ht e r n f yt h e o r i e sa b o v e k e y w o r d s :e n g i n e e r i n gd e v e l o p m e n t ;u s e ri n t e r f a c ep a t t e r n ;p a t t e r no b j e c t ; i n t e r a c t i o nr e l a t i o n s ;a u t o m a t i cc o d eg e n e r a t i o n i v 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名:主勿主! l 查 日 期:论文作者签名:巫勿至! l 查 日 期: 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:云雄叠师签名:论文作者签名:函堆噼师签名: 山东大学硕士学位论文 i i 研究背景与意义 第一章引言 用户界面是软件系统的重要组成部分】,用户界面应设计良好,易于理解和 使用【2 】。它负责接受用户的输入信息并显示输出系统运行的结果1 1 。早期人机交 互使用的是简单而笨拙的文本输入腧出方式,现在的图形用户界面综合利用计算 机强大的处理能力、新型输入输出设备以及先进的软件技术,使人机交互手段丰 富,极大提高了人机交互的方便性和有效性。人机交互能力的提高意味着设计和 开发难度的增加,使得过去那种直接程序设计的方式不再能保证界面的质量和满 足维护的要求p 】。同时,随着软件系统规模的扩大,开发用户界面所耗费的时间 和成本也成倍增加,构造复杂交互式系统如c a d 系统的用户界面是非常费时费 力的【1 1 。 围绕用户界面的设计和自动生成,已经越来越被人们所关注。界面开发的质 量和效率,成为影响软件产品质量的一个重要因素。因此,重用界面设计知识, 建立界面设计的可标准化方法,提高界面开发效率,成为界面工程化开发的必然 要求。这就需要通过专门的工具来开发、管理软件的用户界面,为设计者提供可视 化、规范化的手段以实现从用户需求到实际界面的映射。 然而目前对界面却没有一个成熟的工程化的概念 4 1 ,当前界面开发主要是使 用各种界面开发环境进行的手工开发。我们需要一种理想的、完整的、描述性的 界面开发方法。这种方法应能处理快速界面原形、平台改变和用户定制,适应多 设备和用户以及满足普适计算的多种需求。 为提高用户界面的开发效率和质量,许多界面模型被提了出来。这些模型分 为概念模型和陈述模型两类。概念模型主要有p a c 模型、m v c 模型d 】等,直接 针对界面、描述简洁,但是无法支持全过程性开发。陈述模型服务于基于模型的 工具,种类较多,支持全过程开发,支持界面自动化生成,描述能力强大,但是 模型设计过程过于复杂,模型整合比较困难。 山东大学硕士学位论文 界面设计模式是设计模式在界面设计方面的应用和发展。它试图构建标准可 复用的解决方案,来帮助解决带有普遍性的界面设计问题。它是目前解决日渐复 杂的和多样性的界面设计的常用技术,代表了对界面设计的新方法和新方向。界 面设计模式已经成为当前界面设计的重要研究领域,但如何将其更好的应用到日 益复杂的界面设计,提高自动生成界面的复杂度,增强界面开发的工程化和自动 化,还需进一步研究。同时,界面设计模式的运用,使得界面代码的自动生成变 成了一种模型转换。而对模型驱动架构( m d a ) 【6 】的研究,为模型转换提供了解 决方案。 各种界面模型、开发工具以及各种与界面设计相关的模式的研究为界面工程 化研究提供了理论和实践基础。但是如何建立标准化的界面设计知识、提供界面 设计的可定制性等问题,仍然严重制约界面的工程化开发。 本文的研究意义在于,规范界面设计模式的描述框架,丰富和扩展界面设计 模式的概念和应用,使界面设计模式在界面自动生成中起核心指导作用;挖掘界 面中存在的复杂交互关系,并且以指导代码自动生成为目的,在内部模型中加以 抽象和规范。 1 2 本文的主要工作和创新点 本文主要研究了采用界面设计模式描述的界面对象间的交互关系及其代码 自动生成。本文的主要工作在于从界面构成角度出发,研究了常用的界面展示单 元及其之间复杂的交互关系,规范了界面设计模式的描述框架,并且在此基础上, 实现了界面对象间交互关系的内部模型描述和代码自动生成。 1 3 本文的组织结构 本文共分为六章。第一、二章对课题的研究背景、意义以及国内外相关研究 进行了综述:第三章深入研究并阐述了界面设计模式的规范;第四部分主要分析 了用户界面中的四种交互关系,并给出了它们的逻辑描述和展示形式;第五章是 本文的核心部分,在三、四章的基础之上对四种交互关系建立部件化描述,以指 导最终的代码生成;第六章总结全文,并展望下一步的研究工作。 2 山东大学硕士学位论文 2 1 界面设计模式 第二章相关研究 模式可描述为“针对在一个特定的环境中带有普遍性的设计问题的可能的好 的解决方案。通过描述这些解决方案中不变的属性,模式能够以一致的易于阅读 和理解的方式提供强有力的一般的设计指导,是关于良好设计知识的表达” 7 1 。 模式不同于设计指导原则【引。指导原则的重点大多放在窗口小窗口等事情上,而 忽视了对于适当的界面设计所需要的知识。设计模式捕捉并归纳了所有重要的知 识。 许多有经验的界面设计人员下意识的使用成熟的问题解决方案,但是设计人 员很少对解决方案进行形式化的描述和归纳。于是,不精确的设计模式和形式化 的设计模式同时并存。形式化的模式能够作为收集并形式化用户界面设计知识的 手段。 用户界面设计模式首先在文献【9 】中提出,并指出模式如何被移植到用户界面 交互设计中。文献【l o 】指出模式关注于问题的上下文和设计方案,这个方案引导 设计者应用设计知识解决问题。文章探索了如何建立用户界面设计模式,以便使 界面设计模式成为设计者的有效的、可用的工具,提出了用户界面设计模式的组 成结构,并给出了具体的一个实例。w e l i e 将设计模式分类收集【1 0 1 ,并给出具体 设计模式,其侧重于分类和简单描述,未挖掘内部原理,未涉及具体实现和使用。 p d m b u i 将模式与模型结创1 1 】,克服基于模型界面开发的局限性,但只提供界 面基本元素的设计模式。 j u s t u i 1 2 - 1 4 提出了一个基于概念模式的用户界面抽象描述模型,并应用到 界面自动生成中。它提出在概念层上收集关于界面特征的信息的方法,在用户界 面中识别模式并依据问题域抽象它们。此模型集中了展示和导航两方面的问题。 同时,引入了一个图形符号,使描述更方便。但是没有给出如何正确地规范与系 统相关的界面模式。 文献【1 5 】给出一个建立用户界面的方法,并将此方法集成到软件开发过程中。 3 山东大学硕士学位论文 i i 在用户界面的设计开发中,分析阶段对用户界面信息提取和抽象,归纳概念 模式应用于工程化的开发环境,支持界面代码的自动生成【1 6 1 。从分析阶段审视模 式,经过一系列开发和细化,支持分析、设计、实现等整个软件生命周期的全过 程开发。提出了h 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 l 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 v i g a t i o na c t i o n s 。从用 户的使用角度考虑设计问题【1 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 对应 页面展示元素如: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 o n s 完成,负责管理和查找动作对象,装配领域模型实现需求任 务。 用户界面设计模式表达了合理的信息和对于类似的项目来讲好的设计。然而, 它不能作为设计知识的单一的资源,必须由传统的信息资源作为补充,必须作为 相互联系的模式的语言的一部分,能够互相参与和支持。用户界面模式和其他的 模式也是不同的。界面设计者除了关心功能还关心其美学和社会效应。目前,用 户界面还是一个年轻的学科,许多内容都是未知的,设计出一个纯工程的方法是 不合适的,于是用户界面模式更接近体系结构模式。当前存在的界面设计模式主 要从工作模式上考虑,针对某一个应用问题给出一个设计模式,而不是从界面自 4 山东大学硕士学位论文 动生成的角度去识别界面设计模式的结构及其关系,从而不能很好的为工程化的 界面设计服务。同时,目前给出的设计模式大部分没有形式化的描述,不利于界 面自动生成。 2 2 界面交互行为 2 2 1u m l 中的对象交互图 u m l 中使用对象交互图【1 8 】来描述系统的交互任务,对象交互图分为两种: 顺序图和协作图。顺序图强调时间顺序的概念,这种时间概念的精确性是的顺序 图在描述对象动态行为的时间特性方面具备了卓越的能力。当交互对象数量增多, 交互情况复杂时,顺序图就显得无能为力了。而协作图没有顺序图中要求对象水 平排成一行的限制,可以根据对象的多少和对象间的连接关系来灵活地进行对象 的布局,使得协作图的清晰性提高。顺序图和协作图虽然强调的方面不同,但它 们本质上是互为相通的。u m l 被认为是软件工业中占有统治地位的图形化建模语 言。然而,它对建立交互系统的支持仍然被认为很不完善【1 9 1 。 文献 2 0 2 5 提出将u m l 与m b u r 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 ) 的界面设计。通过加入对交互任务的 表达,眦i 在保留u m l 表达系统模型的基础上扩展了u m l ,加强了表达界面 模型的能力,降低了结构复杂性以及表达界面模型的难度,结合任务模型和活动 图来表达界面的交互活动,能较好的表达界面交互模型。由于采用了u m l 作为 扩展建模语言,因此易推广。但u m l i 扩展了u m l 元模型,只能被为切儿i 符 号设计的专有工具a r g o i 支持。这与w i s d o m 方法正相反,它仅使用标准u m l 机制的元类型扩展u m l 符号以确保一个范围更广的工具的支持。 另外,u m l 中的用例最初是作为发现系统功能的方法,也描述了抽象任务场 景。它为用户行为和系统响应建模,但它描述的任务只能是非常概括的。 山东大学硕士学位论文 2 2 2w i s d o m 方法中对交互行为的描述 w i s d o m 是基于u m l 一般符号和语义在界面方面扩展的一个最小集合。它建 立在u m l 的分析框架之上,但却包含两个额外的度:表示度和对话度。另外, 信息度被用户界面特定的度和应用内核特定的度所共享【1 9 】。其体系结构如图2 1 。 ( n o n - h u m a n ) a n a l y s i sm o d e l p r e s e n t a t i o n i n t e r a c t i o nm o d e l 图2 - 1w i s d o m 的体系结构 可以说,w i s d o m 对交互任务和用户界面的描述是相当细致的,它丰富了对 用户界面和交互任务的描述。他对交互任务的描述在代码生成中有一定的借鉴作 用,可以为界面间的导航和消息传递提供一定的支持。 但是,w i s d o m 体系结构依靠的是分析人员和设计人员对系统任务的分析, 它是不支持界面生成的,因为w i s d o m 同样没有为界面生成提供足够的数据。它 主要依靠分析和设计人员的经验,在进行界面设计时,可能要不断回到分析时的 过程才能完成。 2 2 3j u s t - u l 中对任务的描述 一般的i j i 模式都是面向设计的,j u s t u i 是为“面向分析”的目标而提出的。 j u s t u i t l 2 1 将界面描述的对象分为简单模式和复杂模式两种。简单模式包括5 个部分,其中过滤器、排序标准和显示集合定义了一个要交互的集合数据的各个 6 山东大学硕士学位论文 属性:导航可以使用户从一个数据进入到其它关联的数据:动作的定义可以使用 户对一个数据进行操纵。 j u s t 1 5 1 由简单模式进一步构成复杂模式,并定义了复杂模式的图例,如图2 - 2 所示。 。 ( a ) i n s t a n c ep a t t e r n( b ) p o p u l a t i o np a t t e m ( c ) m a s t e r d e t a i lp a t t e m( d ) s e r v i c ep a t t e r n 图2 - 2j u s t - u 复杂模式图元 各复杂模式的功能如下: 实例表达模式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 :用于处理有主从表达的交互。 _ 服务表达模式s e r v i c e :负责对一个会话建模,以处理一个服务。用户必 须启动这个服务。 使用j u s t 1 5 1 分析的过程就是创建导航图的过程。导航图中节点用复杂表达模 式表示,弧用模式间的导航表示。每个中间节点作为包含标签的容器,每个叶节 点包含一个标签并关联一个交互单元。j u s t 1 5 1 能从导航图生成各种平台的u i 代 码。 7 山东大学硕士学位论文 j u s t u i 从分析的角度定义了各种界面描述元素,并能够支持代码的生成。但 是,它解决的问题是一个很简单的、单纯与数据集合交互的问题。如果将问题扩 大到一般性的交互问题,则j u s t u i 是没有能力处理的。 从以上这些基于模型的界面开发环境中对交互行为的建模方式可以看出,一 般是使用任务模型对交互行为进行建模,任务以等级化的方式给出,任务又可以 分解成子任务,子任务间存在多种次序关系,子任务和表示模型中的组件有一种 映射关系。一个子任务往往被分配一个窗口小部件。虽然,d i a p e r 认为,任务分 析是生成交互系统需求描述的潜在的最有力的方法【2 6 1 ,而且也出现了很多任务分 析方法,象产生任务的一个概况等级的t a k d l 2 7 ,生成任务知识的结构并识别和 用这个知识进行建模的t k s t 2 8 2 9 j 、g o m s l 3 0 1 、c c t 3 1 1 等,但是我们却发现任务模 型在支持用户界面代码生成中存在很多局限。任务分析要求交互系统根据任务参 数的类型,确定交互动作的先后,用户只有严格按照任务所规定的交互动作的时 间执行,才能得到正确的结果。同时,用户只能以有限的资源以线性的方式,一 步步与系统进行交互。图形用户界面的对话过程通常是多线式的,这就使得任务 的描述和分解变得困难。并且任务模型和其它模型在系统行为的描述方面经常互 相交叠和依赖,这种依赖性的解决是很复杂的。 2 3 代码自动生成 代码自动生成的研究已有一段时间。起初提出这一思想的主要原因是应用系 统的规模越来越大,其中存在大量的重复性代码模块,使得编写与维护的工作量 很大。但是随着软件体系结构与设计模式的研究与发展,以及它们在应用系统开 发中所发挥的作用,在一定程度上减少了设计开发中重复代码过多这一问题的影 响。 随着软件工程的进一步发展,对软件开发提出了更高的要求。目前软件开发 平台多样,应用软件系统需求变化性强。因此,近年来出现了对模型驱动架构 ( m d a ) 的研究,提出了模型化系统设计,以提高软件开发抽象层次以及代码自 动生成的工程实现。 山东大学硕士学位论文 传统意义上的代码生成,首先识别应用源代码中经常出现的重复性代码,然 后自动生成这些重复部分来代替手工编写的目标代码。所谓目标代码,是指应用 相关的一系列产品,例如文档,脚本,定义文件等。如果没有代码生成工具,开 发者将手工书写所有代码,虽然这样可以得到灵活性较高的产品,但是使用代码 自动生成可以更加降低成本,减少出错率,增强可靠性。 针对代码自动生成的研究不断发展,目前在代码生成方面国内外研究者提出 了不少方法和思路。 ( 1 ) 基于形式化语法和规范语言的用户界面自动生成 很早前m l s c o t t 和s k y a p 就在研究基于语法的方法来自动生成用户界面 3 2 1 。用户界面管理系统也是适用特殊的语言和形式化语法来定义用户界面的属 性。但是这种方法一般比较复杂和抽象,现阶段的人机界面的形式化方法仅仅是 提出了不成熟的技术和设想,还不能解决现存的一些问题。 ( 2 ) 基于模型的界面自动生成 使用模型来创建用户界面是一种普遍的方法【3 3 1 ,基于规范语言来定义界面的 一个问题在于开发者必须定义界面上部件放置、形式以及功能。而基于模型的方 法是一种高层次的规范,可解决这些问题。另外,这种方法还可用于界面的自动 生成,以及提供满足约束的所有设计,从而帮助用户选择所喜欢的界面。 基于模型的用户界面自动生成的有代表性的一种系统是m a s t e r m i n d 3 4 1 , 采用三种模型来支持用户界面的自动生成;文献 3 5 1 提出了一种基于模型的j a v a 代码自动生成方法;文献 3 6 1 提出了一种基于x m l 的半自动化的w e b 应用代码 自动生成方法;文献 3 7 1 总结了当前代码生成器并将其分为三类,指出目前主要 是基于模板的代码生成器,它使得模板与生成器分离,增加了代码生成的灵活性, 同时设计模式也被考虑加入到代码生成中:文献 3 8 1 提出了设计模式的建模及用 于代码自动生成的描述方式,在一定程度上增强了生成系统的可维护性,但是其 组织模式的方法复杂,模式不易于维护;文献 3 9 1 中提出了一种基于模板与代码 模式的w e b 应用自动生成方法。 以上方法,在一定程度上实现了部分代码的自动生成,但基本上不是针对整 体应用系统,并且缺乏目标系统框架的支持。 9 山东大学硕士学位论文 ( 3 ) 基于数据结构的界面自动生成 j o h na k o n g l a t i o n t 删提出可从程序代码中的数据结构入手,选择用户界面的 要素,从而生成界面。另外作为辅助手段可使用程序模式来改进所生成的界面, 比如j a v a b e a n 中所使用的模式。这种思想是基于面向对象方法的l ,利用所定义 类中的数据结构来映射数据输入界面。 这类方法所定义的界面一般种类不多,只是简单的数据输入界面,使用范围 不广,有局限性。 综上,根据围绕代码生成的相关研究可以看出,代码生成工作的前提是必须 有目标系统的信息描述,即系统的形式化描述。改进对系统的描述对于改进代码 生成器的组织结构以及代码生成效率非常重要。同时映射规则是代码自动生成所 遵循的原则与标准。代码自动生成还是一个不成熟的技术,受到计算机科学技术 及有关科学发展的限制,自动化系统在用户界面、功能、功效方面都不能令人满 意,还需作进一步深入工作。 1 0 当查查兰翌圭兰堡丝兰 第三章界面设计模式规范 各软件工程方法对界面的设计缺少专用的有效描述手段,影响了用户界面的 工程设计效率和质量1 4 2 。同时,实现用户界面易于创建、修改和维护的目标的一 个明显的方式是让所有开发者一致的遵循实现模式,如m o d e lv i e w p r e s m t e r , o b s e e r 和开发窗式界面的模式语言等嗍。 用户界面设计模式是设计模式在界面设计方面的应用和发展。它试图构建标 准可复用的方案,来帮助解决常见的,难度较大的,带有普追性的界面设计问题。 参数化设计方法在机械和其他设计领域中获得广泛应用,它以参数化的方式控制 对设计模式的裁剪,组合和复用。 基于面向对象理论和m v c 框架,我们将从用户界面构成出发,抽象常用的 界面展示单元,从内部模型、交互行为和外部展示三个方面对界面设计模式来进 行描述。任何一个界面设计模式都是一个界面展示单元的全面规范。 3 1 界面展示单元 文献【2 3 】认为界面由静态结构和动态行为构成。在用户界面开发过程中,通 常将整个界面划分为多个区域,每个区域实现不同的交互任务,各个区域之间也 存在着一定的交互关系。这些被分割的区域称为界面展示单元。换言之,界面展 示单元就是由各种控件组合而成、为了实现某一交互任务的不可分割的原子区域。 菜单组 f l 拈h 图片命令组搜索区域 任务管下载文件列表 资源 理区域 信息 文件详细信息 用户信息 图3 1 界面展示区域的分割实例和区域邻接关系示意图 山东大学硕士学位论文 从本质上看,界面展示单元是为了完成用户与内部数据对象的某种交互而存 在的,所以内部数据对象是界面展示单元的内涵定义所在;从外观上看,界面展 示单元是多种控件的布局和排列,通过不同的组合方式和布局策略,构成多种展 示风格来展示内部数据对象的信息,所以展示风格是界面展示单元的外延表现; 从实现机制上看,界面展示单元是完成内部对象和用户之间交互的桥梁,各种交 互任务都是通过各种逻辑操作来完成的。 任何一个界面展示单元都可表示成为一个三元组 p r e s e n t a t i o nu n i t := 其中,i n t e r i o r o b j e e t s 代表所要展示的内部数据对象,b e h a v i o r s 代表所提供 的操作或服务,p r e s e n t a t i o ns t y l e 代表外在展示风格。 从设计者的角度来看,界面展示单元是一个可用的界面构件,因而可以作为 有效的界面设计知识来使用。与其它界面设计知识相比,界面展示单元在保持构 成成分语义可用性的基础上,缩小了界面构成成分的粒度,并依据界面区域的逻 辑构成来划分,因此粒度较为统一。界面展示单元涵盖了内部数据对象、操作行 为和展示风格的描述,而其它界面设计知识都缺乏这种符合m v c 框架的解释。 因此,本文以界面展示单元p u ( p r e s e n t a t i o nu n i t ) 作为可重用的界面设计知识研究 的重要切入点。 3 2 界面设计模式的定义 本文所讨论的界面设计模式,是从界面构成角度分析常用的界面展示单元,从 内部模型、交互行为和展示风格三个方面来描述的语法框架。任何一个界面设计 模式都是某一类界面展示单元的抽象描述和全面规范。 界面设计模式( u s e ri n t e r f a c ed e s i g np a t t e r n ) 是一个三元组,可形式化描述为: u i d p := 内部模型i m ( i n t e r i o rm o d e l ) ,是对需要展示的内部数据对象的需求规范,在定 制具体的界面展示单元时,可以选择要展示的内部对象及其属性字段; _ 操作集合o s ( o p e r a t i o ns e o ,是对用户在界面展示单元上所能进行的操作的需 求规范,包括来自内部模型和外部展示控件的各种操作以及所能提供的其它接 1 2 山东大学硕士学位论文 口和服务: 展示风格p s ( p r e s e n t a t i o ns t y l e ) ,是满足某种展示风格的、所有可定制的展示属 性的需求规范。如表格展示形式中各种与表格展示相关的属性控制。 3 2 1 内部模型i m 所谓内部模型,就是需要在界面展示单元上展示和操作的数据对象或者数据 对象集合,并且建立了各属性字段与抽象展示控件的映射关系。其中,对象由属 性集合来确定。属性是需要展示的基本数据,它由名称、数据类型、抽象展示控 件集合( 完成属性展示所需要的控件) 和控件的大小组成。 内部模型规范了一个或者多个能够用某一展示风格p s 展示的对象( 集合) 。对象 明确了需要展示的数据,它可以是来自数据库的对象,如普通对象;也可以是仅 仅需要展示而不需要对其操作的基本数据类型对象,如用例对象。当前常用的内 部模型由表3 1 给出。 表3 1 常用的数据模型 名称解释数据源 普通对象 需要展示的单个数据对象 数据库 汇集 需要展示的数据对象集合 数据库 控制参数对象提供数据处理的前置条件的特殊对象数据库或者非数据库 查询条件对象参与查询服务的特殊对象数据库 用例 提供外部服务的功能只有展示操作,非数据库 组合对象需要展示多个不同类型对象聚合而成的对象组合型 3 2 2 展示风格p s 展示风格,是对常用的界面展示形式的总结和规范,体现了静态界面知识的 复用。展示风格由多种原子控件按照不同的布局形式组合而成,不包含任何关于 交互行为的描述。 p r e s e n t a t i o ns t y l e := 其中,p s n a m e 表示展示风格名称,如g r i d ( 表格形式) 。 山东大学硕士学位论文 任何展示风格都包括对边足e ( m a r g i n ) 、外观( a p p e a r a n c e ) 、布局( 1 a y o u t ) 、超链接 ( h y p e r l i n k ) 等内容的控制,因此把这些属性称为

温馨提示

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

评论

0/150

提交评论