(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf_第1页
(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf_第2页
(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf_第3页
(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf_第4页
(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机软件与理论专业论文)基于模型的用户界面展示和布局方法研究.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 用户界面是计算机应用系统的重要组成部分,作为用户和系统交互的基础, 是人机交互的核心。在现在的软件开发过程中,用户界面开发的效率和质量已 经成为影响整个软件产品质量的一个重要因素。人们对用户界面的要求越来越 高,用户很难接受一个具有粗糙用户界面的应用程序。然而,开发出良好的用 户界面却是一项艰苦的工作。研究表明约有一半的程序代码和运行时间是为用 户界面服务的。因此,用户界面的建模及其自动生成逐渐成为业界研究的热点。 近年来,基于模型的界面开发方法备受关注,模型驱动、界面设计模式、 界面布局等思想逐渐渗入到界面开发过程中。基于模型的界面开发是一个创建 和重定义用户界面模型的过程,用户界面设计的所有元素都用定义的模型来表 示,能够帮助设计者集中于概念方面以获取用户需求,避免过早的进行细节的 设计,同时使得一个界面的不同部分同它们所扮演的角色之间的关系更加清晰。 但是大多数模型都是从需求出发通过交互式任务的分解得到所需界面,却较少 涉及从模型分析到界面元素的自动生成之间的映射关系以及具体界面的布局实 现,缺乏界面布局的处理信息,难以满足用户界面复杂性和多样性的需求。 本文在对界面模型和界面布局进行了深入研究的基础上,对f 砌 ( f u l l c t i o n m o d e l p r e s e n t a t i o n ) 模型进行了改进,加入了界面布局模型,将界面 布局和界面展示分开建模。界面描述模型包括抽象模型( 功能模型、对象模型、 交互模型) 和具体模型( 展示模型和布局模型) ,分别描述了用户界面不同层次 的信息。在此基础上,本文建立了从界面抽象模型到具体模型的映射关系,指 导用户界面原型的开发。 本文重点阐述界面展示和布局模型的建立,详细设计了用户可视对象的结 构。同时,根据模型映射机制设计实现了可视对象的生成,采用多种布局策略 实现了可视对象的自动布局,有效的完成了平台无关的用户界面开发。 同时,为了提高用户在界面开发过程中的参与度和界面知识的重用性,使 用了界面设计模式的思想,本文给出了参数化界面设计模式的定义,对已有的 山东大学硕士学位论文 展示风格进行了分类和参数设计。针对不同的展示风格,设计生成相应的可视 对象集合并进行布局,有效的将界面设计模式融入到建模过程中。 与传统的界面开发不同,本文结合了基于模型的界面开发方法和界面设计 模式的思想,充分考虑用户对界面布局的需求,设计并实现了平台无关的界面 原型,体现了用户的高度定制,并为界面的自动生成提供支持。 关键词:界面布局;界面设计模式;可视对象:布局策略 i i 山东大学硕士学位论文 a b s t r a c t u s e ri n t e r f a c e( u i )i s t h em o s ti m p o r t a n tc o m p o n e n to ft h e c o m p u t e r 印p l i c a t i o n 黟s t e m ;i ti st h eb a s eo ft h eu s e r 柚ds y s t e mi n t e r a c t i o n ,a i l dt h ec o r eo f h c i i nt o d a y ss o f 时a r ed e v e l o p m e n tp r o c e s s ,t h ee f ! e i c i e n c ya n dq u a l i 够o ft h eu s e r i n t e r f a c ed e v e l o p m e n th a sb e c o m e 觚i m p o n a i l tf a c t o rt h a ta f r e c t st h ee n t i r eq u a l i 锣 o ft l l es o r w a r ep r o d u c t s a sp e o p l e si n c r e 嬲i n g l yh i g hd e m 锄d so nt h e ,u s e r s f i n di td i f ! e i c u l tt oa c c e p tp o o r a p p l i c a t i o n s h o w e v e r ,t h ed e v e l o p m e n to fag o o d u ii sah a r dw o r k r e s e a r c hs h o w st l l a ta b o u th a l fo ft h ec o d ea n dr u n t i m es e r v i c e s f o rt h eu i t h e r e f o r e ,t h em o d e l i n ga n da u t o m a t i cg e n e r a t i o no ft h e g r a d u a l l y b e c o m e sah o tr e s e a r c h r e c e n t l y ,t h em o d e l - b 髂e di n t e r f 如ed e v e l o p m e n ta p p r o a c hc a l l sp u r s u e r s a t t e n t i o n m o d e i d r i v , i n t e a c ed e s i g l lp a t t e m 锄di n t e a c el a y o u tm i n k i n g g r a d u a l l yi n 丘l t r a t e di n t 0t h ei n t e r f a c ed e v e l o p m e n tp r o c e s s 1 1 1 am o d e l b a s e d a p p r o a c h ,t h eu id e s i g ni s t i l ep r o c e s so fc r e a t i n g 趾dr e f i n i n gt h eu s e ri n t e r f a c e m o d e l s ,a 1 1a s p e c t so fau id e s i g n 盯er e p r e s e n t e du s i n gd e c l a r a t i v em o d e l s i tc 孤 h e l pd e s i g n e r sf 0 c u s o nt l l e c o n c e p ti no r d e rt oa c c e s s u s e rn e e d s ,a v o i d i n g p r e m a t u r ef o rd e t a i l so f 廿l ed e s i g n a tt 1 1 es a m e 矗m e ,“m a k e st h er e l a t i o n s h i p b e t w e e nt h ed i f f e r e n tp a f t so fa l li n t e a c ea 1 1 dt h er 0 1 e st h e yp l a y e db e c o m ec l e a r e r b u t ,m o s tm o d e l so b t a i nt h en e c e s s a 巧i n t e a c em r o u g ht h ed e c o m p o s i t i o no ft h e i n t e r a c t ! i v et 嬲k s ,s t a n i n gf o r mr e q u i r e m e n t t h e yr a r e l yi n v o l v et h em a p p i n gf b m t l l en 1 0 d e l 趴a l y s i st 0t h ea u t o m a t i cg e n e r a t i o no fm ei n t e r f a c ee l e m e n t s ,锄dl a c ko f t l l ep r o c e s s i n gi n f o r m a t i o no ft h ei n t e r f a c el a y o u t ,s oi ti sd i f 五c u l tt om e e tt h e c o i n p l e ) 【i 锣锄dd i v e r s i 够o ft h eu i t h i sa n i c l ei sb a s eo nt l l ei n d e p t l ls t l l d yo ft h ei n t e r f a c em o d e la n dl a y o u t ,i t p r o p o s ei n t e r f a c el a y o u tm o d e l ,m u si m p r o v i n gt h ef m pm o d e l t h ei n t e m 比e d e s c r i p t i o nm o d e li n c l u d ea b s t r a c tm o d e l( f u n c t i o n a lm o d e l , o b je c ti i l o d e l , i i i 山东大学硕士学位论文 i n t e r a c t i v em o d e l ) a n ds p e c i f i cm o d e l ( p r e s e n tm o d e l ,l a y o u tm o d e l ) ,i td e s c r i b e d i f f e r e n t l e v e l so fi n f o m a t i o no ft h eu 0 1 1t h eb a s i s ,t h ep a p e re s t a b l i s h e st h e m a p p i n gf r o mi n t e r f a c ea b s t r a c tm o d e lt 0s p e c i f i cm o d e l ,g u i d i n gt h ed e v e l o p m e n t o ft h ep r o t o 够p eu s e ri n t e r f a c e t h i sa r t i c l ef o c u s e so nt l l em o d e l i n go ft 1 1 ep r e s e n tm o d e l 趾dl a y o u tm o d e l , a n dd e s i g n st h es t m c t u r eo ft h ev i s u a lo b je c t si nd e t a i l a tt l l es 锄et i m e ,i t a c c o m p l i s hm eg e n e r a t i o no ft h ev i s u a lo b je c t sa c c o r d i n gt 0t 1 1 em o d e lm a p p i n g m e c h a l l i s m ,a c h i e v et h ea u t o m a t i cl a y o u to ft h ev i s u a lo b je c t se i i l p l o y i n gav a r i e 锣 o fl a y o u ts t r a t e g y , c o m p l e t et h ed e v e l o p m e n to ft h ep l 暑l 仃0 n ! i l - i n d e p e n d e n ti j i e f f e c t i v e l y i no r d e rt 0e n h 锄c et h ep a n i c i p a t i o no fu s e r si nu id e v e l o p m e n ta i l dr e u s eo f i n t e r f a c ek n o w l e d g e ,m ep a p e ru s e st h em e t h o do fu s e ri n t e r f a c ed e s i g np a t t e m i t d e f i n e st h ep a r 锄e t e r i z e di n t e r f a c ed e s i g np a t t e m ,c l a s s i 矽a i l dd e s i g nt h ee x i s t i n g p r e s e n ts 锣l e f o rt h ed i f f e r e n tp r e s e n ts 锣l e ,w ed e s i g nt h ec o r r e s p o n d i n gv i s u a l o b j e c t sc o l l e c t i o n 锄dl a y o u tt h e m d i f f e r i n g f r o m t r a d i t i o n a lud e v e l o p m e n t ,t 1 1 e p a p e r c o m b i n e st h e m o d e l _ b a s e di j id e v e l o p m e n ta p p r o a c h 埘t ht h eud e s i 驴p 甜e m g i v i n gf u n c o n s i d e r a t i o nt ot h en e e d so fu s e r sa b o u ti j i ,i t d e s i g n a i l di m p l e m e n ta p l a t f i o r m i n d e p e n d e n t i n t e r f a c e p r o t o t y p e ,r e n e c t i n g ah i g h d e g r e eo fu s e r c u s t o m i z a t i o n ,a n ds u p p o r t i n gt h ea u t o m a t i cg e n e r a t i o no fi n t e r f a c e k e yw o r d s :i n t e r f a c el a y o u t ;i n t e r f a c ed e s i g np a t t e r n ;v i s u a lo b j e c t ;l a y o u t s t r a t e g y 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:蛰坠羞日期:丝堕:坐互 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:蛰笾导师签名抛b 山东大学硕士学位论文 1 1 课题背景及意义 第一章引言 用户界面是人机交互的核心部分,围绕它的设计及自动生成已经引起了人 们越来越多的重视。在现在的软件开发过程中,界面开发的质量和效率已经成 为影响整个软件产品质量的一个重要因素。目前软件产品几乎全部采用交互式 的图形用户界面,并且,在快速原型方法中,用户主要是通过对原型界面进行 操作实验来进行评估并提出改进意见。因此,在软件开发的早期阶段,快速的 生成用户界面是进行需求分析的有效途径。用户界面的建模及其自动生成工具 已成为业界研究的热点。 到目前为止,人们已提出了多种界面的自动生成思想,有基于形式化语法 和规范语言的用户界面自动生成【1 1 、基于数据结构的用户界面自动生成2 1 和基 于模型的界面自动生成【3 1 。这其中以基于模型的界面自动生成因其易于理解而 得到广泛关注【4 】。基于模型的用户界面自动生成系统支持用户界面的表示、设 计、实现、原型、执行、评估和维护,缩短了开发时间、降低了成本、提高了 质量【5 1 。能够帮助设计者集中于概念方面以获取用户需求,避免过早的进行细 节的设计,同时使得一个界面的不同部分同它们所扮演的角色之间的关系更加 清晰【6 】。 但是大多数基于模型的界面生成方法对可视对象( 界面上具有一定显示形 式的对象) 的自动生成缺乏描述,没有深入阐述抽象模型到可视对象的映射机 制;在布局过程中缺乏以人为本的指导思想,对界面的自动布局使用的策略往 往只考虑某一个方面,应用范围不广。面向人机交互的布局设计实际上就是一 个约束条件不断满足的过程,以往的布局设计模型很少考虑到人机交互工程的 约束【7 】。界面对象的各种外观属性( 如字体,风格,颜色等) 是一种反映其外 观形状的信息,由用户以“所见即所得”的方式直接定制这些特征,效果最好, 效率也最高引。 本文的研究意义在于,在f 模型【9 】的基础上引入了界面的独立布局,通 山东大学硕士学位论文 过各种模型从不同的抽象和具体层次对用户界面进行了描述。探讨界面的展示 和布局,满足用户界面复杂多变的需求。为用户提供界面的定制环境和选择参 数,针对不同的展示样式完成界面布局的自动生成。 1 2 本文的创新点 本文的创新之处为: 1 对f 模型进行了改进,加入了用户界面布局模型,将布局和展示分 开处理。 2 定义参数化界面设计模式,提高了基于模型的界面开发的重用性。 3 建立了抽象模型到可视对象的映射机制。 4 实现并完善了界面元素的自动布局,生成平台无关的界面原型,为下一 步的界面自动生成提供信息。 1 3 本文的组织结构 本文主要阐述了基于f 模型的界面开发方法中界面的展示和布局的设 计及其实现。 本文分为七个部分:第一部分引言,介绍课题研究背景以及课题的研究意 义;第二部分对课题研究背景以及国内外研究现状进行说明;第三部分主要介 绍了改进之后的f 模型,给出本课题用于描述用户界面的各种模型及其映射 关系;第四部分介绍了界面展示和布局采用的思想和方法,提出了参数化界面 设计模式,描述用户界面的具体信息;第五部分阐述了抽象模型到具体模型的 映射关系,介绍了平台无关的可视对象的生成;第六部分详细介绍了界面布局 的算法实现;第七部分总结,对已经完成的工作做了总结,并提出了下一步需 要完善的工作。 2 山东大学硕士学位论文 2 1 用户界面开发 第二章相关研究 用户界面( ) 的开发工具在软件开发中发挥的作用是不可忽视的。开发 人员使用这种工具可以设计和实现用户界面。现在几乎所有的应用开发都要使 用用户界面开发工具。界面开发工具能减少开发人员在开发界面时的工作量, 同时能够加速界面的开发。从而可以加速系统原型的开发,促使开发人员不断 改进设计,获得高质量的用户界面。另一个好处就是使得所开发出的软件具有 相似的界面,让用户不必花费过多的力气去学习使用新系统。 到现在为止,人们已经开发出很多用户界面开发工具。使用这些界面开发 工具人们可以方便快捷地创建出用户界面。根据所查阅的大量资料,它们大致 可以分为以下几种【l o 】: ( 1 ) 简易工具( e a s y t o - u s et 0 0 l s ) 大多数工具需要几个星期的学习时间,并且不能够移植到不同的平台。而 简易工具则与之不同,简单易学,而且可移植。例如s u t ( m es i m p l eu s e r i i l t e r f a c et 0 0 l k i t ) 是一个简单的用户界面工具包,它具有简易性和可移植性, 利用这种工具,程序员可以快速构建用户图形界面。s t 是一种p a s c a l 的用 户界面工具包。 ( 2 ) 示范工具( d e m o n s t r a t i o n a lt o o l s ) 这种工具基本上是使用示范技术( t h et e c h n i q u eo fd e m o n s t r a t i o n ) 来记录动 作或者创建宏,例如e m a c s 、s m a l l s t a r 等,或者使用示范技术而不需要编程来 创建特定应用的图形对象,如l a p i d 哪。而现在人们又开始尝试使用示范技术 来开发完全的用户界面。 ( 3 ) 基于模型的工具( m o d e l b a s e dt 0 0 1 s ) 【1 2 】 具有代表性的基于模型的工具有u d e ( t h eu s e 卜i n t e r f a c ed e s i g i l e n v i r o n m e n t ) 【1 3 1 、m m a n o i d 【l4 1 、1 a c t i c s 和m a s t e l m 】呵d 【1 6 1 。它们通 过创建模型来分别从不同的角度描述用户界面。 3 山东大学硕士学位论文 ( 4 ) 智能工具( i n t e l l i g e n tt o o l s ) 智能工具【1 7 。2 0 】利用应用模型的些表达方式生成界面,而不需要设计者特 意去定义界面的确切分布。这些工具有的是利用应用命令中的规约创建表达方 式和对话框,例如u o f a 和m i c k e y ,还有就是使用e r ( e n t i t yr e l 撕o n s h i p ) 数 据模型创建与界面标准一致的界面,它使用基于知识的规则描述界面的属性, 如g e m u s 。智能工具的缺点在于缺乏其他工具的灵活性。 ( 5 ) 面向对象工具( o b i e c t o r i e n t e dt o o l s ) 【2 1 l 对象可以很好地表示界面上的元素,并支持它们的直接操作。对象提供了 一个很好的抽象机制,包含了状态和操作。实验表明使用面向对象语言编写的 用户界面更加易于开发和维护。对象以互操作的对象和抽象对象的形式,可以 将应用代码和用户界面分离。互操作对象实现用户界面,而抽象对象实现界面 之下的数据。 2 2 基于模型的用户界面开发 2 2 1 用户界面模型 一个用户模型就是用户界面一些独立连接部分的陈述说明,通过将精力集 中到一个用户界面的独立的方面上,一个模型可以通过专业标示来表示。界面 模型分为概念模型和陈述模型【2 3 1 两类。 概念模型是模型的一种,简单说就是抽象程度极高的一种模型。软件工程 概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工程有 一个完整把握。 用户界面的概念模型采用三种基本的模型支持界面的自动生成,即,应用 模型( 印p l i c a t i o nm 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 n m o d e l ) 。该类模型的典型代表有s e e h e i m 【2 4 1 、m v c 和p a c 模型。s e e h e i m 模型 是一种基于语言的模型,它处理的对话交互逻辑是线性的,但它为其它模型奠 定了理论基础。m v c 和p a c 模型属于面向对象的多代理模型,其突出特点是 4 山东大学硕士学位论文 模块化、并行和分布式处理,已经成为界面控制和实现的概念基础。 概念模型着重描述了界面构成以及界面元素间的逻辑概念关系,为抽象界 面模型到实际界面的转换提供了良好的基础和结构概念。但这种模型以概念为 主,缺乏面向设计的工程实施表达,其应用依赖于设计者的认识和运用。 陈述模型从软件工程的过程出发,利用各种模型表达和把握界面的需求和 构成。构建用户界面时不同的设计方法使用了不同的陈述模型。陈述模型依据 用户如何指定页面的布局和动态行为可分为两类。第一类是基于语言的,非常 容易支持用户界面控制的范围,但问题是开发者必须指定布局、位置和每个界 面对象的格式;第二类是图形交互工具,可以很自然的创建用户界面而且可以 让非程序员使用,缺点是必须使用程序语言来添加对话框控制规范。 基于模型的用户界面开发环境( m bu d e s m o d e l b a s e du s e ri n t e r f a c e d e v e l o p m e n te n v i r o n m e n t s ) 2 5 】一般包括任务、域、表示、对话、用户模型等和 一个由这些模型组成的并且能够操纵的环境。 t a s km o d e l ( 任务模型) :任务模型描述了最终用户计划使用交互系统执行 的任务。它是基于存在的任务模型的设计步骤的一个结果。 d o m a j nm o d e l ( 域模型) :域模型描述了一般意义上的应用程序以及包括用 户界面的详细信息包括:在于应用程序中对象的类层次:对象的属性;能作用 于对象的行为;行为所需要的信息单元( 参数) ;行为的前状态和后状态。 p r e s e n t a t i o nm o d e l ( 表示模型) :一个表达模型描述了应用程序的展示结构, 这些结构可以出现在最终用户的面前,显示它们的布局特点以及它们之间的可 视依赖。 u s e r m o d e l ( 用户模型) :一个用户模型描述了要开发的交互系统的预期最终 用户或最终用户集团的属性。它的主要目的是支持个人用户界面的创建。 d i a l o gm o d e l ( 对话模型) :一个对话模型用来描述人机对话。 a p p l i c a t i o nm o d e l ( 应用模型) :描述一个应用程序可以提供的服务。 b e h a v i o rm o d e l ( 行为模型) :描述用户的输入行为。 p l a 仃o mm o d e l ( 平台模型) :描述系统的平台特性,比如输入设备、输出 5 山东大学硕士学位论文 设备等。 2 2 2 基于模型的w e b 开发 在w 曲应用的开始阶段,w e b 仅作为信息中介和信息发布的平台( 简单的 网站) ,因此,所提供的工具只是集中于网页的创建和编辑,如微软的f r o n t p a g e 等。他们都限于被动的超文本表示、网页布局和部分的导航模型,缺乏系统的、 结构化的方法以及抽象、重用的支持。随着w 曲应用的规模和复杂度日益增加, w 乩已经成为各种应用的主要平台。和传统的w 曲站点相比,w 曲应用程序不但 支持导航和浏览,而且其操作还会影响内容和导航状态。这使得、耽b 应用的开 发更加复杂。目前w 曲应用的工程化系统化方法已经成为w 曲应用开发研究的 主体【2 6 1 。 目前w 曲应用的开发建模方法主要有以下几种:o o 助m 、i 入舾、w 曲s a 【2 7 1 以及皿m 、w m m 等等。w 曲应用开发方法的共同点在于一般将w e b 系统模型 分为领域模型、导航模型和展示模型,经过概念建模、逻辑建模、物理建模和 实现四个过程完成w e b 系统开发。其中领域、导航、展示模型分别描述系统的 不同侧面,可以看成是w e b 模型的不同视图。领域模型描述w 曲应用中的领域 对象及其关系,是导航模型的基础;展示模型描述w 曲页面的展示形式,是对 导航对象和导航行为的最终体现;而导航模型是w 曲模型区别于传统系统模型 的重要部分,描述了w 曲应用的导航特性,起着衔接领域模型和展示模型的作 用。 目前现有的w 曲应用开发方法将传统的软件工程技术和w 曲应用程序的 超媒体特性较好的结合起来,取得了一定的成功。然而这些开发方法更多的是 从规范化设计的角度,而没有从工程化应用的角度出发,也具有一些不可忽视 的缺陷,主要表现在: ( 1 ) 不能对复杂功能建模。 ( 2 ) 模式支持和利用不够。 ( 3 ) 模型之间缺少清楚和自动的映射。 6 山东大学硕士学位论文 ( 4 ) 领域层、导航层和展示层三个层次之间的关系不密切,模型间容易出 现不统一。 ( 5 ) 界面设计大多比较简略。 ( 6 ) 缺少开发工具的支持。 ( 7 ) 缺少对非功能需求的支持,对软件体系结构重视不够。 这些缺陷妨碍了上述开发方法在复杂的w 曲应用程序开发中的广泛应用。 2 3 模型驱动体系结构 模型驱动架构( m d a ) 2 8 1 是一个软件开发框架,它是由o m g 定义的。a 的关键之处是,模型在软件开发过程之中扮演了非常重要的角色。在a 中, 软件开发过程是由对软件系统的建模行为驱动的。m d a 是一种基于i m ,以 及其他工业标准的框架。和i m ,相比,a 能够创建出机器可读和高度抽象 的模型,这些模型以独立于实现的技术开发,以标准化方式存储。因此这些模 型可以被重复访问,并被自动转化为纲要,代码框架,测试工具,集成化代码 以及各种平台的部署描述。 a 把建模语言用作一种编程语言而不仅仅是设计语言。a 以一种全 新的方式将i t 技术的一系列新的趋势性技术整合到一起。这些技术包括基于组 件的开发,设计模式,中间件,说明性规约,抽象,多层系统,企业应用整合 以及契约式设计。m d a 的出现,为提高软件开发效率,增强软件的可移植性, 协同工作能力和可维护性,以及文档编制的便利性指明了解决之道。 ( 1 ) 模型驱动开发的基本框架 传统上,从模型到模型 的转换,或者从模型到代码 的变换,主要是手工完成的。 许多工具可以直接从模型生 成一部分代码,但是往往只 图2 1 模型驱动开发主要步骤 是生成一些模板代码,大部 7 山东大学硕士学位论文 分工作还是需要手工完成。模型驱动开发的主要步骤如图2 1 所示,包含了三 个模型,两个变换工具之间的协作关系。变换工具以p i m 为输入,并把它变换 成p s m 。另一个变换工具再把p s m 变换成代码。 从图2 1 中看出,模型驱动开发实现的两个关键转换是由工具支持自动完成 的。目前有不少工具,可以将p s m 转化成代码,因为p s m 与代码已经相当接 近。模型驱动开发的难点是实现p i m 到p s m 转化的自动化。现有的工具还没 有完全将p i m 成功转换为p s m ,在许多情况下仍需要用户干预或强化p s m 描 述。但是总可以从p i m 生成一个基本可运行的应用程序。 模型总是以某种语言表述的。可以是i m ,也可以是自然语言,或者某种 编程语言。为了支持模型的自动转换,需要对模型或模型描述施加一定的限制 或约束。 ( 2 ) o m g 的四个建模层次 a 技术的相关概念均是o m g 的一系列标准:统一建模语言眦( u n i f i e d m o d e l i n gl 锄g u a g e ) 【2 9 1 、元对象设施m o f 刚( m e t ao b j e c tf a c i l i 锣) 、x m l 元数 据交换x 【3 1 1 ( x 池m e t a d a t ai n t e r c h a l l g e ) 、公共数据仓库元模型c w m 【3 2 1 ( c o m m o nw a r e h o u s em e t 锄o d e l ) 。a 的核心标准组成了创建模式驱动的一 致性系统纲要的基础,这个系统纲要完成授权、发布和管理模型的功能。 其中m o f 为m d a 的核心,它包含四个模型层次:m o ,m l ,m 2 ,m 3 ,m o f 可 以被用来描述关系数据模型的建模结构,也被用来描述i m ,类模型的建模结 构:它还被用来描述其他种类的建模所用到的结构。m o f 是通用的、抽象的, 用于定义元模型的语言,它可以被称为m e t 锄o d e l 或者定义元模型的模型。 m o 层:实例。运行的系统位于m o 层,这是实例( i n s t a l l c e ) 所存在的层次。 m 1 层:系统的模型。m l 层包含模型,比如软件系统的i m ,模型。m o 层和m l 层之间有确定的关系。m l 层的概念都是m o 层实例的归类,换句话说, m o 层的元素都是m 1 层的元素的实例。 m 2 层:模型的模型。位于m 2 层的模型。位于m 1 层的元素( 类、属性以及其余 模型元素) 本身就是m 2 层的实例,m 2 层的元素规定了m l 层的元素。 8 山东大学硕士学位论文 m 3 层:m 2 的模型。m 2 层元素可以看成是更高层一m 3 层( 元一元层) 的元素。 ( 3 ) m d a 工具对模型变换的支持 工具对a 的支持是多种多样的,很多年前就有工具能支持从模型生成 简单的代码,这也包含在加a 的范畴中。但是,在理想的情况下,m d a 对模 型和模型变换提出了很高的要求。工具对模型变换所提供的支持主要表现在以 下几方面: p i m 到p s m 的变换:这类工具把高层次p i m 变换成一个或多个p s m 。目 前这类工具还很少见,虽然有一些,但是只提供了这方面的基本功能。 p s m 到代码的变换:这些工具有内置的变换定义,把符合某种预定义类型 的模型作为输入,并输出符合另一种预定义类型的模型。源模型是p s m ,目标 模型则是代码模型。事实上,传统c a s e 工具就是按照这个模式生成代码的。 p i m 到代码变换:同时支持从p i m 到p s m 和从p s m 到代码的变换。有时 候,用户看到的只是从p i m 到代码的直接变换,p s m 则是隐含的。这种类型的 工具把源语言、目标语言以及变换定义都内置其中了,它们的行为就像黑盒一 样。本文所实现的代码生成就是这一类型。 2 4 用户界面设计模式 2 4 1 用户界面设计模式的提出 基于模型的方法通过多个模型的创建和组合来展示开发人员关注的领域。 基于模型的界面开发是一个创建和重定义用户界面模型的过程,用户界面设计 的所有元素都用定义的模型来表示。这种方法有诸多优点:用模型作为用户界 面开发的一部分能够帮助设计者在更高的语义层次做出设计决策,避免过早的 进行细节的设计;系统的可重复的开发方法更易于过程的重建,从而有助于后 期维护中全面的理解系统;质量高、错误少、支持多设备【3 3 】等等。但是这种界 面开发由于缺乏有效的重用机制而不能广泛应用。 设计模式为软件设计提供了可复用的知识,而界面设计模式p ( u s e r 9 山东大学硕士学位论文 i n t e m c ep a t t e m s ) 是设计模式在人机交互领域的一种应用,它成为解决日渐复杂 的和多样性的界面设计的一种新的技术,它是设计模式在界面设计方面的应用 和发展。它试图构建标准可复用的解决方案,来帮助解决常见、难度较大、带 有普遍性的界面设计问题。它代表了对界面设计的新方法和新方向。它获取一 个重复出现的界面设计问题的本质信息,给出一个成功的方案并描写此方案的 上下文。随着知识的重用成为大家关注的焦点,模式成为描述软件工程和用户 界面开发领域中重复出现问题的一种有效方式。h c i 模式是设计模式在界面设 计方面的应用和发展,模式驱动的基于模型用户界面开发框架在基于模型的界 面开发中发中使用h c i 模式作为构建块来创建模型。 2 4 2 用户界面设计模式研究现状 模式在软件工程中已经显示出它的成效,软件设计,应用程序体系结构或 者w e b 环境都受益于模式。用户界面领域也非常热衷于此。用户界面模式是一 种传递用户界面设计相关的h c i 领域中重复出现问题的经验的有效方式。一个 模式是一个命名的、针对特定使用环境中重复出现问题的可重用的解决方案。 设计模式为软件设计提供了可复用的知识,而界面设计模式u p ( u s e r i n t e r f a c e p a n e m s l 是设计模式在人机交互领域的一种应用,它成为解决日渐复杂的和多 样性的界面设计的一种新的技术。当前存在许多i j i 模式集合,例如w b l i e 、t i d w e n 和j u s t 。j i j s t _ 提出了一个基于概念模式的抽象用户界面描述模型。此模 型集中了展示和导航两方面的问题。引入了一个图形符号,使描述任务更加方 便。此符号能够使非分析人员理解和参与到规范过程中来。分析“如何查找”、 “如何排序”、“观察到什么”以及“做什么”等问题,以一种抽象的描述方法 来回答上述问题就允许表达需求,而不必面向任何的目标环境。此时,不必关 注设计方面以保持描述独立于任何细节提取适用于此类产品的概念模式,获取 基本i j i 需求。 1 0 山东大学硕士学位论文 2 4 3 基于任务模型的界面设计 任务模型常用于描述应用系统完成功能时执行的操作序列,任务模型可以 帮助理解应用系统,支持有效的设计,帮助进行易用性评价,并且可以重用任 务设计模型。对任务模型工程化的要求如下: ( 1 ) 要有灵活、表达能力强、语义精确的符号系统; ( 2 ) 要有系统化的方法指导怎样去使用模型中的信息; ( 3 ) 模型中的信息能被自动化软件工具读取。这些要求对代码的生成发挥 很重要的作用。 考虑到以上提到的对任务模型工程化的要求,c o n c u r 讹k t r e e s 是较为典型 的满足工程化要求的一个任务模型。该模型是由意大利的f a b i op a t e m o 最早在 1 9 9 8 年提出的,发展至今,已经有c t t e 工具支持。c o n c u r n s k t r e e s 有如下 特点:1 ) 关注活动;2 ) 具有层次结构;3 ) 使用图形化的语法表达;4 ) 有 丰富的操作表达符号;5 ) 任务配置机制灵活,并且可以分为4 种任务,即用户 任务、应用任务、交互任务、抽象任务;6 ) 用属性描述任务和对象的特征,提 供必要信息。 基于模型的界面开发方法把界面的设计分解为对不同构造的模型。一个模 型是对用户界面的某个方面的详细描述。通过把注意力集中在界面的某个方面, 模型可以用高度专业化的标记来表达。这种特点使得通过基于模型的方法比其 它方法开发的界面更容易创建和维护。目前的基于模型的界面开发主要集中在 以下方面: 任务模型方法可以根据设备的不同生成相应界面,强调建立任务模型来描 写达到用户目的通过不同平台完成的活动,还可以应用到迁移界面的研究。任 务模型提出一个基于三层抽象的应用方案,允许设计者集中关注逻辑方面,定 义了许多能够从抽象到用户界面获取的转换。既考虑了可用平台和它们的交互 形态又保持可用性。这个转换由工具t e r e s a 【3 4 1 支持,它能够为选择最合适的 交互技术和方法提供建议并来组合它们。 山东大学硕士学位论文 但任务模型方法主要强调任务的分析,粒度较大,对于复杂界面的结构和 各部分之间的交互缺乏足够的支持,影响了模型的描述能力。 2 5 用户界面布局生成 布局是决定可视对象( 界面上具有一定显示形式的对象) 大小、位置的过 程。由于二维布局设计问题是具有n p 难度,因而人们在处理这个问题的过程 中,降低目标,不再坚持去寻找最优解,而是试图在允许的时间内找到一个相 对好的最优解或满意解。 一个好的布局应该是首先能够很好的提供正确恰当的交互信息,这包括: 能够提供重要信息的可视对象应该显示在布局中显眼的位置,可视对象之间的 位置关系应该体现出正确的操作关系,应该能够可视化地引导用户正确地理解 界面中对象之间的关系并且快速正确地完成任务,例如:间距最小的可视对象 很有可能是依次操作的。一个好的布局除了能够表达正确的信息之外,还应具 有简洁美观的特点。在整个界面中应有一致的信息密度【3 5 1 。 在目前为止,绝大多数用户界面布局是由用户界面工具包构成的,例如像 s u l lj f c s 、i n g 【36 1 ,m i c r o s o f tf o 吼d a t i o nc l a u s s e s 【3 7 1 和它们的原型例如x t k 【3 8 1 或 t k 【39 1 。这些用户界面工具包提供基本的功能,例如创建按钮和文本框等。用户 界面工具包包括布局管理器去帮助用户界面设计者设计界面布局。布局管理器 允许程序员表述;添加按钮、添加按钮到窗体的某一部分,也可以附加说明数 量限制。但是这些都不是基于工程模型设计的,仍然使开发人员需要耗费大量 的时间和精力进行界面设计,而这些界面有很大一部分却是相似的,重用性和 自动化程度都不高。 在界面布局中分为手动布局和自动布局两种。在界面的自动生成中离不开 界面的自动布局。自动布局是利用计算机程序来自动实现布局过程。现在这个 研究领域处于人工智能和人机交互的交叉领域。在利用人工智能的方法,界面 自动布局一般采用基于规则的专家系统,采用专家系统可以很大程度地提高图 形的美观性,但它漫长的处理时间却往往令人难以忍受。在界面的布局方面除 1 2 山东大学硕士学位论文 了采用人工智能的方法这种途径外还可以采用基于形式化算法的方法。这种方 法通过设置参数属性以算法来解决相应的问题,使得效率大大提高。在基于模 型的界面自动生成中的界面模型或表示模型并没有涉及界面的布局算法和可视 对象的布局次序等细节问题,因此这就需要在表示模型或界面模型中合理采用 布局策略来满足用户的需要。当前的布局策略有: 1 u i d e 【4 0 】中的一栏策略 这个放置策略主要依靠以下几个主要的可视化设计原则: ( 1 ) 可视对象一个接着一个地垂直放置 ( 2 ) 标签对齐 ( 3 ) 可视对象左对齐 ( 4 ) 标准按钮中心对齐 从设计者的观点出发,布局策略是直接的,界面的生成是非常直接和快速 的。但是当可视对象的数量增加时,则会出现屏幕空间利用不充分。 2 g e n i u s 中的平衡两栏策略 平衡两栏策略的工作原理类似于i j i d e 中的一栏策略。平衡双栏策略是把 所有可视对象压入到一个垂直栈中,递归计算可视对象的尺寸,得到独立可视 对象高

温馨提示

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

评论

0/150

提交评论