(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf_第1页
(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf_第2页
(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf_第3页
(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf_第4页
(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机软件与理论专业论文)面向代码自动生成的两种界面设计模式的研究与应用.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 用户界面是计算机软件应用系统的重要部分。随着对用户界面的要求越来 越高,用户界面的开发几乎占用了一半的开发资源。而现有的软件工程方法对用 户界面的设计描述支持不够。为了提高用户界面的开发效率和质量,界面设计 和系统功能设计的分离成为一种趋势,界面代码根据界面描述模型来自动生成 已成为开发人员的目标,由此出现了多种界面模型以及相应的界面开发环境。 但是,它们对界面设计知识的归档和可重用性太差。 目前,针对用户界面设计,工业界学术界提出了一系列的相关设计方法。 基于形式化方法的界面设计通过精确无二义性的描述界面需求,能有效的进行 界面设计,是软件生产自动化的基础,但目前的相关研究缺少从工程化的角度 设计界面;基于界面设计模式的界面设计是设计模式在界面设计方面的应用与 发展,但目前的界面设计模式主要从工作模式上考虑,针对某一个应用问题给 出一个设计模式,而不是从界面自动生成的角度去识别界面设计模式的结构及 其关系,从而不能很好的为工程化的界面设计服务。同时,目前的设计模式大 都没有形式化的描述,从而不利于界面自动生成。 随着软件工程的进一步发展,大量重复的代码模块编写工作使得软件开发 变 ! 导复杂而繁重,对代码自动生成技术的相关研究应显得尤为重要。本研究中 的f m p 源模型就是利用功能模型( f ) 和对象模型( m ) 捕捉与界面相关的功能和 数据信息,用交互模型( m 1 表达这些信息和控制关系。然后依据交互模型的描 述,利用表示模型( p ) 建立内部对象和外部显示元素的对应关系,在界面模板和 参数化的支持下,规划界面构成和布局,从而实现用户代码的自动生成。 针对以上问题,本文提出了一种新型的面向代码自动生成的界面设计模式 的界面设计,它在传统的界面设计模式的基础上,从模型转换及代码自动生成 的角度出发,借助于形式化表达方法,在自动识别界面设计模式的结构及其关 系的基础上,提供精确的和无二义性的形式化描述。该设计一方面克服了传统 的界面设计模式对代码自动生成支持的不足,另一方面针对界面的复杂性和多 样性等特点构建了比较完整的界面设计模式集合,对常见、难度较大、带有普 山东大学硕士学位论文 遍性的界面设计问题提供了可复用的解决方案。 本文首先讨论课题的研究背景,对相关研究进行了分析,给出了用户界面 设计模式的概括性描述,进而对用户界面设计进行了归纳和总结。详尽介绍了 一套比较完整的界面设计模式集合,并对其进行了形式化规范描述,并在此基 础上提出了一种新的用户界面代码自动生成的方法。然后着重对数据图形及树 形设计模式作了详细的设计与说明。 本设计对界面开发效率有着显著的提高,同时对界面代码自动生成也提供 了相应的支持。其已在开发环境v c n e t 中得到了实现,并在相关w 曲应用平 台进行了验证。 关键字:f m p 模型;界面设计模式;形式化方法;代码自动生成 i i 山东大学硕士学位论文 a b s t r a c t u s e ri n t e r f h c ei s 锄i m p o n 锄tp a f to ft i l ec o m p u t e r f t w a f ea p p l i c a t i o ns y s t e m w i t ht h ed e v e l o p i n go fu s e ri n t e 由c e s ,a b o u th a l fo fd e v e l o p i n gr e s o u r c ei s 吣e df o r u s e ri n t e r f a c e s ,b u tt h et r a d i t i o n a ls o f h v a r ee n g i n e e m gm e m o d s 盯e ts u 仃i c i e n t f o rm er e q l l i r e m 即t so fl l s e ri n t e r f h c e s h lo r d e rt oi m p r o v et l l ed e v e l o p m 蜘t q u a l m e s 锄de m c i e n c y ,t h es e p a r a t i o nb e 俩e e nt h el l s e ri n t e a c ed e s i 驴锄ds y s t e m f h c t i o ni sm ei d e a lr e q u i r e m 髓tn ei n t e m i c ea u t o m a t i cg e n e r a t e da c c o r d i n gt o t h ei n t e d a c em o d e l si st l l et a r g e tf o rt l l ed e v e l o p e lb e c a m eo ft l l a t ,m 锄yo f i n t e f f a c em o d e l sa i l di n t e r f h ed e v e l o p m 锄te n v i r o n m ta r ei n t r o d u c e d ,b u ti ti sa b a dc u s 锄nf o rt i l ei n t e m i c ed e s i 弘肌d 印p i i c a t i o nr e 惦i n 吕 a tp r e s e n t ,p o i 而n gt ot l l eu s e rm e r f 缸ed e s i g n ;m 粕yi n d u s t r i a l 蛐da c a d e m i c d e s i g nm 砒o d sa r ea p p e a r e d b ya c c u r a t ew i t h o u td o u b l e - m e a n i n g 佗q u i r e m e n t d e s c r i p t i o n ,b 硒e do nf o m a l i z a t i o ni n t e r f 缸ed e s i g na p p r o a c hc 粕e 币c i e n t l yb e d e s i 驴e d t h i si s1 h eb 嬲eo fs o f h v a r ea u t o m a t i cd e v e l o p m e n t s b u tt l l e c u r r t ”s e a r c hc 强t g e tt l l ee n g i n e e r i n ge x p e r i e n c e ;t l l ed e s i g np a t t e ma b o u tl l s e r i n t e r f h c eb a s e do ni n t e r f a c ep a t t e mi sd e v e l o p i n gw i t h1 h ei n t e f f ed e s i g n b u t1 量i e c u r r e n ti n t e a c ed e s i g np a t t e mc o m e sf r o mw o r kp a n e m ,g e t t i n gt h ed e s i g np a _ c t e m c o r m n gt oa p p l i c a t i o n ,n o tf r o mt 1 1 ea u t o m a t i cp o i n t st or e c o g n i 髓t 1 1 es t m c t l l r e 锄dr e l a t i o n s h i p sb e t w e e ni n t e r f a c e s s oi ti sn o ts u m c i tf o re n g i n e e r i n 吕 h o w e v e r ,t h ec u r r e n td e s i g np a n e md o e sn o ts u p p o r tf o m a ld e s c r i p t i o n ,s oi ti sn o t e n o u g hf o ri n t e r f 缸ea u t o m a t i cg e n e r a t i o n w i t hm ed e v e l o p m e n t so fs o r w a r ee n g i n e e r i n g ,b l u n t so fr 印e a t e dc o d e m o d e l sh a v et l l es m w a r ed e v e l o p m e n tm o r ec o m p l e x ni si m p o r t 趾tf o rt h e r e s e a r c ha b o u tt h ea u t o m a t i cg e n e f a t i o n i i lm i sp a pe r t l l es o l l r c em o d e l s ,f m p m o d e l sc a p t l l r e1 h ei n t e r f a c ef h n c t i o na n dd a t ai n f o r m a t i o na c c o r d i n gt l l ef h n c t i o n m o d e la l l do b j e c tm o d e l ,g e tt h ei l i t e r a c t i o ni n f o r m a d o nf 如mi n t e r a c t i o nm o d e l s i i l o r d e rt oa c c o m p l i s ht h ea u t o m a t i cg e n e r a t i o n ,w eg i v et h el 巧o u ta c c o r d i n gt ot h e n l 山东大学硕士学位论文 i m e r a c t i o nm o d e la l l dp r e s e n t 撕0 nm o d e lt h a tg i v e st l l eo b j e c t 锄dp r e s 即t 吼i t sa 1 1 d 也ei n t e r f a c et e m p l a t e sa i l dp 盯a m e t e r s i l lm ep a p e r w eg i v e 也en e wd e s i 弘p a t t e mf o rl i s e ri n t e r f k ed e s i 印b y a u t o m t i cg e n e r a t i o n b 髂e do nt r a d i t i o n a li l s e ri n t e m 屺ed e s i 印,w eg e tt i l ep o i n t s f r o mm o d e l 仃a n s f b m a t i o na j l dc o d ea u t o m a t i cg e n e r a l i o n s ,u s i n gt i l ef b m a l m e t h o d s ,c o g n i 五n gt h ed e s i g np a t t e ms t m c t i l r ea n d 阳l a t i o n s h i p s 趾d 百v et l l e c u r r e n tf o 姗a ld e s c “p t i o n s t h en e wd e s i g nd e f e a 招t 1 1 et r a d i t i o n a li n t e r f a c e1 量l e f a u l t sf o rc o d ea u t o m a t i cg e n e 删o n s ,a n ds u p p o r tt h ec o m p l e t es e to fd e s i 印 p a n e m s t h i sd e s i g np r o v i d e s1 量l eg e n e r a l r e u s i n gs o l u t i o n s , t h ep 印e rp r o v i d e st h eb a c k g r o u n d sa 1 1 dg i v e st h ec o n l p l e t e 粕a l y s i sa b o u tt h e d o m a i n ,百v e sag e n e r a ld e s c r i p 石o no fu s e ri n t e r f a c ed e s i g np a t t e m s ,a n dt a k e st h e c o n c l u s i o na b o u ti l s e fi n t e a c ep a t t e m t h e r e f o r e ,w em a k eac o m p l e t es e to f d e s i 弘p 砒e m ,c o n c l u d e1 量l ef b 珊a ld e s c r i p t i o n s 肌dm a l 【ean e wm e t l l o da b o u tu s e r i n t e r f 她ec o d ea u t o m 撕cg e n e r a t i o n d a t a - c h a r t 粕dt r e e d e s i g np a t t e m 甜e d e s i 弘e da i i de x p l a i n e di nd e t a i l t h ed e s i 鲫i m p r o v e sm ed e v e l o p m e n te 衔c i e n c y 舭dg i v e sm o r es u p p o r tf o r a u t o m t i cg e r a t i o n w ed e v e l o po u ri d eu s i n gv c n e t 锄dv e r i 匆t h ec o d e s w e ba p p l i c 撕o n 1 ( e y w o r d s :f m pm o d e l ;i n t e r f a c ed e s i g np a t t e m ;f o r m a lm e t h o d ;c o d e a u t o m a t i o ng e n e r a t i o n 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研 究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本声明的法律责任由本人承担。 关于学位论文使用授权的声明 本人完全了解山东大学有关保留一使甩学位论文的规定,同意学校保留或 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅 本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文 ( 保密论文在解密后应遵守此规定) 。湖 山东大学硕士学位论文 1 1 论文的研究背景与意义 第1 章引言 用户界面设计是软件系统设计的重要组成部分。近十年来,界面设计和系 统功能设计的分离成为软件开发特别是w 曲应用程序开发的一种趋势,界面代 码根据界面描述模型来自动生成已成为开发人员的目标。 我们知道,代码自动生成技术可以概据用户的规格说明由代码产生器自动 生成可执行的代码。它可以减少软件开发中枯燥重复的编码工作,从而使得开 发人员将更多的时间花在系统架构研究上,提高系统健壮性、可扩展性以及可 维护性。目前代码自动生成方面的研究也取得一定的进展,提出了各种模型向 代码转换的方法。但是大部分方法是单纯以减少手工编写工作量为目的的,没 有从设计模式角度出发考虑问题,因此生成的目标是简单的,局部性代码片段, 可重用性差。 信息社会的快速发展导致软件系统复杂程度的急剧增大,而开发满足用户 需求的用户界面也就变得更加困难。设计模式为软件设计提供了可复用的知识, 而界面设计模式u i p ( u s e rk t e 出c ep a n e m s ) 是设计模式在人机交互领域的一种 应用,它成为解决日渐复杂的和多样性的界面设计的一种新的技术,它获取一 个重复出现的界面设计问题的本质信息,给出一个成功的方案和描写此方案的 上下文。当前存在许多u i 模式集合,例如w e l i e f ”、t i d w e l l 【2 1 和j u s t u i 【3 - 6 l 。但 是,文献【1 ,2 1 给出界面设计模式的框架表示,提出了多种界面设计中常用的表 现形式,给界面设计人员提供参考。但是它们仅仅关注设计问题,而没有结合 代码自动生成技术进行探讨,难以将界面模式引入软件开发自动化设计中。文 献【3 】基于概念模式获取用户对u 的需求,给出许多概念模式,同时也不能有效 的结合代码自动生成技术生成具体应用界面。 本文提出了一种新型的面向代码自动生成的界面设计模式的界面设计,它 在传统的界面设计模式的基础上,从模型转换及代码自动生成的角度出发,借 助于形式化表达方法,在自动识别界面设计模式的结构及其关系的基础上,提 供精确的和无二义性的形式化描述。该设计一方面克服了传统的界面设计模式 山东大学硕士学位论文 对代码自动生成支持的不足,另一方面针对界面的复杂性和多样性等特点构建 了比较完整的界面设计模式集合,对常见、难度较大、带有普遍性的界面设计 问题提供了可复用的解决方案。 1 2 本文的创新点 形式化方法为界面信息的准确地描述提供了技术基础。能够在设计的早期 阶段发现错误,有助于缩短开发周期,保证开发质量。能够支持形式化的验证机 制。但是大都没有对形式化的建模和支持的用户界面之间的相互关系进行研究, 也没有从工程化的角度设计界面。 界面设计模式是目前解决日渐复杂的和多样性的界面设计的常用技术。当 前存在一些u i 模式集合以及在此集合上的界面设计。这些界面设计模式主要 从工作模式上考虑,针对某一个应用问题给出一个设计模式,而不是从界面自 动生成的角度去识别界面设计模式的结构及其关系,从而不能很好的为工程化 的界面设计服务。同时,目前给出的设计模式大部分没有形式化的描述,从而 不利于界面自动生成。 本文的创新之处在于对用户界面设计模式建立一个整体的表述模型,用形 式化表达方法对用户界面设计共公属性方法建立整体描述。并在此基础上利用 形式化表达方法,描述一个比较系统的用户界面设计模式集合,说明了用户界 面设计模式在代码自动生成中对用户界面模板建立的指导性作用。该设计一方 面克服了传统的界面设计模式对代码自动生成支持的不足,另一方面针对界面 的复杂性和多样性等特点构建了比较完整的界面设计模式集合,对常见、难度 较大、带有普遍性的界面设计问题提供了可复用的解决方案。并在此基础上, 对图形设计模式和树形设计模式从问题的提出到设计说明及解决方案,都给出 了一整套详细的说明。 在该设计中,对图形及树形设计模式进行了更加深入的探讨和描述,并在 基于a u i 系统的设计实现中,从设计模式的形式化描述到界面模板参数设计实 现,及复杂汇集的图形及树形设计模式的展示给出了说明与实现。在数据图形 设计模式实现中,我们给出了1 9 种不同的的图展示形式,并实现其在j 2 e e 平 2 山东大学硕士学位论文 台下代码的自动生成;在树形设计模式中,我们就树形展示的汇集中对象的标 识父节点法和标识分组字段法等两种不同关系,给出了详细的说明与实现,并 实现了其中j 2 e e 平台下的代码自动生成。 1 3 本文的组织结构 本论文主要阐述了一套比较完整的面向代码自动生成的用户界面设计模 式,并用形式化表达方法对该设计模式集合进行了详细的描述。 本文在第二部分介绍了一些相关界面开发的研究现状,并简要介绍了代码 自动生成的研究现状。在第三部分首先说明了f 界面模型,然后说明了代码 自动生成a u i 系统。在第四部分,首先说明了用户界面设计模式的整体描述, 并对其统一形式给出了总的形式化表达,接着在介绍用户界面交互模型元素的 基础上,对用户界面设计模式进行了分类说明,并说明了界面设计模式在代码 自动生成系统中的指导性作用。在第五部分对图表展示模式和树形展示模式进 行了详细的说明,并提出了其在a u i 中相关的设计方案。在第六部分以一个教 职工信息维护管理系统的实例进行了说明验证。第七部分作为本文的总结部分 说明了本文所作的工作以及下一步需要做的工作。 山东大学硕士学位论文 第2 章课题的研究现状 2 1 基于形式化方法的界面设计 软件生产自动化的前提是软件的形式化。形式化方法由于其特有的描述的 精确性和无二义性而被许多研究人员用于界面设计。形式化方法能够证明描述 的可靠性和一个系统正确地被实现的特性,以及通过证明系统的属性而不是运 行时来决定它的形为。针对具体界面需求的不同采用不同的形式化方法。 文献【9 】提出一个产生用户界面原型的需求工程过程,并产生了一个以高层 p e 仃i 网描写的形式化规范,依据此规范产生界面原型。用户界面的静态和动态 信息都用p e t f i 网表示。其优点是通过开发的算法自动产生界面、能够对场景进 行验证和用户面向目标应用的进一步升级。 文献【1 0 】提出了一个交互式用户界面的通用模型,并利用形式化方法对其 进行定义与研究,讨论了如何使用形式化描述语言l o t o s 和基于动作的时序 逻辑a c t l ( a “o nb 嬲e dt e m p o r a ll o g i c a l ) 对系统进行描述与验证,这有利于人们 对交互式用户界面的动态行为进行研究、评估与定义。 文献【1 1 】应用扩展的o b j e c t z 语言,提出在具体界面开发前形式化描述支 持功能的抽象界面,避免了许多不成熟的设计的发生,并能够对交互式系统提 供可用性和安全性分析。文献【1 2 】给出了一个用o b j e c t - z 设计用户界面的实例, 并从任务有效性、重用、人机通信、健壮性和灵活性这5 个方面对交互式系统 的可用性进行了分析,证明了如何将0 b j e c t z 用于帮助界面的可用性分析。基 于形式化方法的界面设计能够在设计的早期阶段发现错误,有助于缩短开发周 期,保证开发质量。但是大都没有对形式化的建模和支持的用户界面之间的相互 关系进行研究。 文献【1 3 】提出一个具有形式语义和语法的一个面向对象描述语言h a d z e 。它 基于z 和z + + ,并应用在超媒体应用中。提出了超媒体应用的三个部分:概念框 架,指出底层数据特征的规范;结构框架,描写如何把内容组织成组合体; p e r s p e c t i v e 展望框架,它起着导航和展示的作用。h a d e z 特别适用于数据集中 的应用规范中。 4 山东大学硕士学位论文 形式化方法为界面信息的准确描述提供了技术基础。能够在设计的早期阶 段发现错误,有助于缩短开发周期,保证开发质量。能够支持形式化的验证机制。 但是大都没有对形式化的建模和支持的用户界面之间的相互关系进行研究,也 没有从工程化的角度设计界面。 此方法的优点: ( 1 ) 能够使设计者无二义性的描述界面需求并验证属性信息。 ( 2 ) 能够帮助设计者发现设计中的错误,而其他的方法只能在实现和测试时 才能发现。 ( 3 ) 由于系统的形式化规范为文档服务而且验证规范使得维护人员可以在 设计阶段修改变化带来的影响,因此提高了维护性能 2 2 基于界面设计模式的界面设计 界面设计模式u i p ( u s e ri i l t e r f a c ep a n e m s ) 是目前解决日渐复杂的和多样性 的界面设计的常用技术。它是设计模式在界面设计方面的应用和发展。它试图 构建标准可复用的解决方案,来帮助解决常见、难度较大、带有普遍性的界面 设计问题。它代表了对界面设计的新方法和新方向。当前存在一些u i 模式集 合以及在此集合上的界面设计。这些界面设计模式主要从工作模式上考虑,针 对某一个应用问题给出一个设计模式,而不是从界面自动生成的角度去识别界 面设计模式的结构及其关系,从而不能很好的为工程化的界面设计服务。同时, 目前给出的设计模式大部分没有形式化的描述,从而不利于界面自动生成。 用户界面设计模式首先在文献【1 4 】中提出,其中指出模式如何被移植到用 户交互设计中。文献【1 5 】指出设计可用的系统是困难的,设计者需要有效的工 具。而有效的工具应基于应用系统的成功的设计。对于新手和有经验的设计者 来说,获取关于成功的设计系统的知识一样重要。这些知识主要以指导策略的 形式描述。不管怎样,这些策略在许多方面存在问题,诸如选择、有效性和可 用性方面。模式已成为解决这些问题的一个可能的方法。模式关注与问题的上 下文和设计方案,这个方案引导设计者应用设计知识解决问题。体系结构或软 件工程模式在结构方面是不同的,用户界面设计模式也需要自己的模式结构, 山东大学硕士学位论文 并且关注可用性。探索了如何建立用户界面设计模式,以便使界面设计模式成 为设计者的有效的、可用的工具。提出了用户界面设计模式的组成结构,并给 出了具体的一个实例。 文献【1 6 】应用w e l i e 2 0 0 0 给出一个建立用户界面的方法,并将此方法集成到 软件开发过程中。 s t - u 【3 6 】提出了一个基于概念模式的抽象用户界面描述模型,并应用 到界面自动生成中。此模型集中了展示和导航两方面的问题。同时,引入了一 个图形符号,使描述更方便。j i j s t u i 在用户界面中识别模式并且依据问题域 抽象它们这个模型基于概念模型来获取基本的u 需求,传统的u m lc a s e 工 具不能明确的考虑u i s 的规范,但这些汇集集中讨论设计问题而不是分析问题。 通过对基于模型u i 模式汇集产生的界面开发环境m b d e 研究发现,在分析 阶段模式未能开发。提出在概念层上收集关于界面特征的信息的方法。在提出 o o 方法之后,主要关注如何在概念层上收集界面信息,此处应用基于概念界 面模式的识别技术。但是没有给出如何正确定规范与系统相关的界面模式。 2 3 其它相关界面设计 2 3 1 基于任务模型的界面设计 任务模型常用于描述应用系统完成功能时执行的操作序列,任务模型可以 帮助理解应用系统,支持有效的设计,帮助进行易用性评价,并且可以重用任 务设计模型。对任务模型工程化的要求,( 1 ) 要有灵活、表达能力强、语义精 确的符号系统;( 2 ) 要有系统化的方法指导怎样去使用模型中的信息:( 3 ) 模 型中的信息能被自动化软件工具读取。这些要求对代码的生成发挥很重要的作 用。 考虑到以上提到的对任务模型工程化的要求,c o n c u r t a s k t r e e s 是较为典型 的满足工程化要求的一个任务模型。该模型是由意大利的f 曲i op a t e m o 最早在 1 9 9 8 年提出的,发展至今,已经有c t t e 工具支持。c o n c u r l 缸k t f e e s 有如下特 6 山东大学硕士学位论文 点:1 ) 关注活动;2 ) 具有层次结构;3 ) 使用图形化的语法表达;4 ) 有丰 富的操作表达符号;5 ) 任务配置机制灵活,可以分为4 种任务,即用户任务、 应用任务、交互任务、抽象任务;6 ) 用属性描述任务和对象的特征,提供必要 信息。 基于模型的界面开发方法把界面的设计分解为对不同构造的模型。一个模 型是对用户界面的某个方面的详细描述。通过把注意力集中在界面的某个方面, 模型可以用高度专业化的标记来表达。这种特点使得通过基于模型的方法比其 它方法开发的界面更容易创建和维护。 基于任务的模型方法可以根据设备的不同生成相应界面,强调建立任务模 型来描写达到用户目的通过不同平台完成的活动,还可以应用到迁移界面的研 究【1 9 1 。文献【1 7 】基于任务模型提出一个基于三层抽象的应用方案,允许设计者 集中关注逻辑方面,定义了许多能够从抽象到用户界面获取的转换。既考虑了 可用平台和它们的交互形态又保持可用性。这个转换由工具t e r e s a l l 8 1 支持, 它能够为选择最合适的交互技术和方法提供建议并来组合它们。 但任务模型方法主要强调任务的分析,而且对象结构和关系对于界面复杂 性的影响缺乏直观和全面的研究,影响了模型的描述能力。 2 3 2 基于界面模版的界面设计 界面模板u t ( u s e ri n t e r f k 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 ( 用a p u 来表示) 是组 成界面模板u i t 的最小单元,其属性包括名称、1 0 ( 输入输出) 类型、风格、内 容类型、位置、大小等。 界面模板作为参数化设计方法称为界面设计模式的直观表现形式,它以参 数化的控制方式对界面进行裁剪、组合和复用。 文献【2 0 】用户界面的体系结构模型f m p ( f i l i l c t i o n ,m o d e l ,p r e s e n t 撕0 n ) 。 山东大学硕士学位论文 该模型从用户界面的功能需求和数据对象模型需求出发,建立起用户界面组成 和关系的界面交互图,形成以设计实现为目标的界面体系结构的描述;进而, 建立起基于该描述的界面布局模板,最终实现用户界面代码结构的自动生成。 界面模板是参数化的,允许这些模板既适用于器具的普通功能也适用于其特定 的功能。n 但模型是一种面向软件工程和支持用户界面自动生成的界面模型, 界面模版是其中的一个子模块。 文献【2 1 】实现了一个基于模板的数据层到表现层的映射引擎 d m 匝( d a t a - h n e r f a c e m 印p i n g e n 百n e ) 。d i m e 可以将数据层自动映射到表现层, 同时生成与表现层匹配的标准面向对象的p a s c a l 代码。将表现层上的界面元素 定义为9 种类型,对应地有9 种界面模板放在模板库中。但不能实现具体的参 数控制,因此模板类型可扩充性太差。 文献【2 2 ,2 3 】为了满足普适性计算的要求,提出用s m a nt e m p l a t e 模板设计 远程应用器具的界面自动生成。此模板应用参数化的方式控制何时为用户自动 生成常用的界面。此类模板容易适应存在的不同平台上的应用模型和界面生成, 因此能够将模板应用到适当的界面设计习惯中。但是此方法没有对界面的抽象 描述,平台相关性太强。 2 3 3 基于u 札i 的界面设计 为用户界面建模时自然会首先考虑i m 。然而,u 1 。对于用户界面建模 是不足的。模型驱动的界面开发环境( m b u i d e ) 可以系统的表达用户界面, 但目前的m b - u i d e 却大多不能很好的表达系统设计。文献【2 4 2 7 】提出将i , 与m b u d e 集成实现基于u m l i ( u n i f i e dm o d e l i n gl 锄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 ) 的界面设计。u 】帆i 的产生就是为了结合u m l 和m b - d e 两种 技术,实现两者的统一。通过加入对交互任务的表达,i 邛j 在保留i 表达 系统模型的基础上,可以较好的表达界面交互模型。 眦i 扩展了l m ,加强了表达界面模型的能力,降低了结构复杂性以及 表达界面模型的难度,结合任务模型和活动图来表达界面的交互活动。因为它 山东大学硕士学位论文 采用了i ,作为扩展建模语言,因此容易推广。它能同时表达系统行为和界 面行为。但是u m l i 扩展了i 腿,元模型,只能由为i m i 符号设计的专有工 具a r g o i 支持。这与、) i ,i s d o m 方法正相反,它仅使用标准i 乃m 机制的元类型扩 展l j ,符号以确保一个范围更广的工具的支持。 2 4 界面设计模式 设计模式主要描述面向对象的软件设计。一个设计模式由命名、抽象组成 并确定了一个通用设计结构,这些设计结构能被用来构造可复用的面向对象设 计。设计模式是目标是把共同问题中的不变部分和变化部分分离出来,不变的 部分就构成了设计模式,从这点讲这和框架有些相似。 概括的说来,设计模式是面向对象软件设计中一些经验的抽象总结,它对 于软件开发的整个领域都是适用的,并不针对某一类特定的开发。因此,这些 经验可以指导w e b 界面设计模式的设计。 用户界面设计模式是在用户界面领域中采用设计模式的技术。用户界面设 计模式的目标是构建一系列的解决方案来帮助用户界面设计者解决一些用户界 面开发中常见的、难度比较大的、带有普遍性的问题。 界面设计模式已经成为当前界面设计研究中的重要研究领域,目前已存在 多种u i 模式集合。w e l i e 的模式集合给出了界面设计模式的框架表示,提出 了多种界面设计中常用的表现形式,例如导航( w i z 盯d ) 、表格( g f i d l a y o u t ) 、进 度条( p r o g r e s s ) 、属性设置( s e 砸n ga t t 抽u t e s ) 等,给界面开发人员提供了一定的 参考,虽然该设计模式从用户及设计者双方都进行了思考,但其难以被引入到 复杂的界面设计中,更不能从代码自动生成的角度去解决问题。t i d w e l l 也给出 了一整套相应的模式集合,但其只从用户角度思考问题,在实际应用中很难实 现。j u s t u i 模式是一种基于概念模式获取用户对u i 的需求,给出了许多概念 模式,以一种抽象的描述方法来回答“如何查找”、“如何排序”、“如何浏览” 及“如何处理”等问题来表达需求,其设计虽不必关注于特定的细节,但它没 有从用户界面设计等相关方面给出描术,也无法实现代码的自动生成的需求。 9 山东大学硕士学位论文 第3 章f m p 模型与a u i 系统 3 1f m p 模型 n 佃在【2 0 】中有详细的描述。整体上f m p 模型有三部分组成:f ( 缸l c t i o n ) 功能模型、m ( m o d e l ) 内部模型和p ( p r e s e n t a t i o n ) 表示模型。它们之间的关系如图。 功能模型和对象模型捕捉与界面相关的功能和数据信息,用交互模型表达这些 信息和控制关系。然后依据交互模型的描述,利用表示模型建立内部对象和外 部显示元素的对应关系,在界面模板和参数化的支持下,规划界面构成和布局, 从而实现用户界面的自动生成。在这里主要是从代码自动生成的角度来说明一 下f m p 模型。 图3 1n i p 模型 功能模型部分把界面看成一个相对独立的功能实体,主要从人机交互角度 来分析界面需要完成的功能,以及各个功能之间的关系,所以在对界面功能分 析的过程中就确定了各个界面的边界及其所包含的功能,提供了界面的划分方 案。 内部模型( 对象和交互模型) 是整个f m p 模型的内在核心,其中对象模型主 要描述的是用户界面中界面显示单元p i j ( p f e s e n t a t i o nu h i t ) 所表达的对象,每个 对象可以由一个或多个p u 组来描述,而交互对象模型则描述的是用户界面中 描述对象的具体界面元素之间的关联和约束关系。内部模型的建模工作就要是 完成对系统中用到的所有的对象、类以及它们之间的关系进行抽象定义,并且 山东大学硕士学位论文 给出这些对象、类的准确无二义性的形式化语言描述。从可见性上来分,内部 模型的对象可分为两类,可见对象和不可见对象。可见对象主要指用户界面元 素所描述的对象,而不可见对象主要是指界面对象之间的各种关系、约束和操 作等。交互模型在n 但模型中起着承上启下的作用。一方面,交互模型与功能 模型和对象模型衔接,把界面所需的功能和对象有机的结合在一起,形成界面 的抽象轮廓;另一方面,交互模型的分类又是表示模型中界面模板检索的依据, 即交互模型中对象与对象之间的交互关系决定了界面模板的类型,为用户选择 合适的界面提供了约束,保证了界面生成的正确性。 表示模型主要是创建一些界面框架和内部模型的结合体一界面模板。可以 重复利用的界面模板都放到界面模板库中。最终用户可以从界面模板库中选择 自己的界面模板,也可以创建自己的界面模板作为将来要生成的用户界面的前 身。界面模板由一系列的p u 组成。组成界面模板的p u 与交互模型中的对象 属性或方法的描述相对应。一个界面模板中的p u 可以是描述一个或多个对象 的部分或全部p u 组。 3 2 a u i 系统 在f m p 界面模型的基础上,在现行软件结构和开发环境支持下,通过软件 的设计开发,建立起软件体系结构、对象模型、功能模型、交互模型、界面模 板等各类描述规范的可视化构造和维护环境,建立起该描述规范向目标语言实 现的应用程序的转换关系,最终实现应用软件从体系结构、需求分析和概念建 模出发的、可应用于软件工程开发的应用软件自动生成的技术和软件工具环境, 称之为a u i ( a u t o m a t i c u s e rh l t e r f a c e ) 代码自动生成系统。 在基于模型的代码自动生成过程中模型的合成问题田】一般是必不可少的。 若从单个具体的模型来生成源代码的话这是不用考虑的,但是如果从相互关联 的多级模型来生成代码就不同了,因为这首先要解决模型之间的协作问题。 山东大学硕士学位论文 雾羹崮 图3 2 系统结构图 a u i 系统是基于n 口模型的,它也是一个多级模型。在该模型中交互模型 的主要作用就是解决合成问题。通过它使不同类型的模型或者是同一类模型不 同的对象、类之间建立了相互关联的一个有机整体,具体的系统结构见图3 2 。 从图3 2 可以看出整个系统的主要组成部分就是针对n 伊模型的模型管理 器和代码生成器。复合模型管理器的主要作用就是对孙口模型的管理、修改和 存储等。代码生成器是用来完成代码生成的核心组件。它和系统结构的其它各 个组成部分:复合模型管理器、体系结构、部件库和知识库都有着密切的联系。 软件体系结构是关于软件的总体或上层组成和实现的描述。体系结构描述的是 软件的实际组成和各个组成部分之间的关系,是面向最终具体实现的。因此, a 代码自动生成系统设计和实现了软件项目的体系结构描述模型,它从上层 描述和构建软件的总体结构,并以此约束和指导下层结构的设计和实现。部件 库用来存放可以直接引用的界面部件,并且每种界面部件都与相应的源代码相 对应。当在应用程序中选择某种界面部件后,相应的代码也加入到程序体中。 知识库用来存放代码生成的语法规则代码映射规则等。 整个目标代码的存放结构可以分为三个层次:第一层也是最上层目标代码 的主目录一工程代码目录;第二层具体的每个部件工程的目录在这里为每个工 程创建了相应的目录,工程的名称就是目录的名称;第三层,也就是最后一层 就是工程目录下的目标代码文件的集合,它包括当前工程的所有目标代码文件 的集合。 山东大学硕士学位论文 第4 章基于设计模式的代码自动生成 4 1 用户界面设计模式描述 用户界面模型由动作及行为等要素组成,其是用户界面设计模式特定的组 成部分。在这里,我们将用户界面设计模式( m p b 模式) 划分为三个部分:即 模型( d a t a m o d e l ) 、展示( p r e s e n t a t i o n ) 和行为( b e h a v i o r s ) 。模型部分是指设计模 式的内在数据模型,它给出了设计模式的内在数据及其之间了联系,提供对用 户界面设计模式的数据支持。展示部分是设计模式的用户界面样式展示,对设 计模式的属性及其相关信息进行描述。行为部分是其与数据模型的行为操作, 提供对该模式的动作方法描述。图4 1 是一个描述用户界面的抽象解决方法, 根据该图我们将设计模式规定为一个四元组: u m p = 其中的p 舡锄e t e r s 是控制及展示的相关参数集合。 模式名称 罴国 展示部分 模型 一c 行为 控制及展示参数 图4 1u i 设计模式描述 针对每一种用户界面设计模式,我们形成了统一规范, d e s i g n p a t t e m n 锄e : p 1 一属性页:同区域展示属性,见表4 1 ( 下同) p 2 一位置页: p 3 一边距页: p 4 一外观页: p 5 一布局控制页: 山东大学硕士学位论文 p 6 一文本背景设置页: p 7 一文本标签设置页: p 8 一超级链接; p i 一用户界面设计模式类型:可选为各种用户界面设计模式 展示结点或区域的共公属性: 参数类型说明 p l 属性页 属性页 p 2 位置页 ml e f t 工n t 左边距 皿一t o p i n t 上边距 mw i d t h 工n t 宽度 m h e i g h t 工n t 高度 p 3 边距页 。n _ 1 e f 七m a r g i n i n t ( 默认3 )左边边距 n 【_ r i g h t m a r g i n i n t ( 默认3 )右边边距 l - t o p m a r g i n i n t ( 默认3 )上边边距 r l p o t t o 蛳a r g i ni n t ( 默认3 ) 下边边距 n _ l e f t m a r g i n e n u m 居左,居中,居右 水平边距 “l t o

温馨提示

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

评论

0/150

提交评论