




已阅读5页,还剩49页未读, 继续免费阅读
(计算机软件与理论专业论文)支持web软件用户界面自动生成的交互模型.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 用户界面是计算机软件应用系统的重要部分。随着对用户界面 的要求越来越高,用户界面的开发几乎占用了一半的开发资源。传 统的软件工程方法对用户界面交互行为设计的支持较少。 近年来,出现了很多基于模型的界面开发环境,通过几种模型 整合针对应用系统的不同侧面进行建模,从而获得足够的信息支持 用户界面的自动生成,如m o b i d 、v e s u f 等。这些模型一般使用对 话模型或任务模型来描述人机交互,但这类模型对交互行为的描述 过于复杂,并且这类模型和系统中其它模型之间的映射问题也难于 处理 f m p 模型是一种面向软件工程和支持用户界面自动生成的界 面模型,它由功能模型( f u n c t i o nm o d e l ) 、对象模型( o b j e c tm o d e l ) 、 交互模型( i n t e r a c t i o n m o d e l ) 和界面模板( p r e s e n t a t i o n m o d e l ) 组 成,通过几种模型的配合实现界面的自动生成。f m p 模型在用于生 成v b 界面代码方面已经取得了成功。, 以上提及的界面模型,主要是基于传统桌面软件的,都没有太多 考虑w e b 环境对用户界面模型表达的特殊要求。而w e b 软件用户 界面自身的特点决定了对其建立界面模型时与一般桌面软件图形用 户界面相比有很多不同例如w e b 页面灵活的组合机制一般界面模 型就难以表达。 已经出现的用来生成w e b 应用系统的方法或工具,如m o d f m 、 a u t o w e b 、r a t i o n a lx d e 等,虽然可以在一定程度上实现部分代码 的自动生成,但对w e b 界面的模型化描述不够。 本文的创新之处在于,针对w e b 软件用户界面的交互特点,提 出了一个支持w e b 软件用户界面自动生成的交互模型,该模型在 f m p 基础上,做了一些扩展和改进,可以适应w e b 软件界面的模型 山东大学硕士学位论文 表达需求,并且支持界面代码的自动生成。本交互模型的设计编辑 环境已经用v c n e t 开发环境得到了实现。但界面代码生成还需要 其它模型的配合。 关键宇:软件界面模型w e b 软件 f m p代码自动生成 山东大学硕士学位论文 a bs t r a c t t h eu s e ri n t e r f a c ei sa n i m p o r t a n tp a r to fc o m p u t e rs o f t w a r e s y s t e m w i t ht h er e q u e s to ft h eu s e ri n t e r f a c e ,t h ed e v e l o p m e n to ft h e u s e ri n t e r f a c et o o k u pa l m o s th a l f o ft h er e s o u r c e s t r a d i t i o n a l s o f t w a r ee n g i n e e r i n gm e t h o d sh a v el e s ss u p p o r tt ot h ed e s i g no fu s e r i n t e r f a c ei n t e r a c t i v eb e h a v i o r i nr e c e n ty e a r s ,al o to fm o d e l - b a s e du s e ri n t e r f a c ed e v e l o p m e n t e n v i r o n m e n t sa p p e a r e d ,t h r o u g hs e v e r a lm o d e l si n t e g r a t ea s p e c t so f s y s t e m a c q u i r ee n o u g h i n f o r m a t i o nt o s u p p o r t t h ea u t o m a t i c g e n e r a t i o no fu s e ri n t e r f a c e s u c ha sm o b i da n dv e s u f i ng e n e r a l , t h e s em o d e l su s ed i a l o gm o d e lo rt a s km o d e lt od e s c r i b et h e i n t e r a c t i v eb e h a v i o rb e t w e e nu s e ra n dc o m p u t e r b u tt h e s em o d e l sa r e t o oc o m p l i c a t e d ,a n di t sd i f f i c u l tt oh a n d l em a n yp r o b l e m sb e t w e e n t h e s em o d e l sa n do t h e r s t h ef m pm o d e li sa s o f t w a r e - e n g i n e e r i n g o r i e n t e d i n t e r f a c e m o d e lt h a ts u p p o r t st h ea u t og e n e r a t i o no fu s e ri n t e r f a c e i ti sc o n s i s t o ff u n c t i o nm o d e l ,o b j e c tm o d e l ,i n t e r a c t i o nm o d e la n dp r e s e n t a t i o n m o d e l f m pm o d e lh a ss u c c e e d e di nt h ec o d e s g e n e r a t i o no fv b i n t e r f a c e t h em o d e l sm e n t i o n e da b o v ea r em a i n l yb a s e do nt r a d i t i o n a l s o f t w a r e ,a l lo ft h e md on o tt h i n ka b o u tt h es p e c i a lr e q u e s to ft h ew e b e n v i r o n m e n tf o ru s e ri n t e r f a c em o d e l f o r e x a m p l e ,t h eg e n e r a l i n t e r f a c em o d e li sd i f f i c u l tt oe x p r e s st h ec o m b i n a t i o no fw e bp a g e s m a n ym e t h o d so rt o o l s ,s u c ha sm o d f m 、a u t o w e ba n dr a t i o n a l x d e ,d o n ts u p p o r te n o u g hf o rt h ec o n s t r u c t i o no fw e bi n t e r f a c e m o d e l s t h ec r e a t i v e o ft h i sp a p e r ,d i s c u s s e st h ec h a r a c t e r i s t i c so fw e b m 山东大学硕士学位论文 s o f t w a r eu s e ri n t e r f a c e ,a n dp r e s e n t s au s e ri n t e r f a c ei n t e r a c t i v e m o d e lt h a tm e e t st h e s ec h a r a c t e r i s t i c s t h em o d e li so nt h ef o u n d a t i o n o ff m p ,d o i n gs o m ei m p r o v e s t h em o d e ld e s c r i b e si n t e r a c t i v et a s k s b e t w e e nu s e ra n ds o f t w a r eu s e ri n t e r f a c eb yg r a p h i c s ,a n dd e f i n e st h e r e l a t i o n sb e t w e e nt h e s et a s k sa n dr e l a t e dd o m a i no b j e c t s t h em o d e l s u p p o r t s t h ea u t o m a t i cc o d e sg e n e r a t i o n o fi n t e r f a c e t h ee d i t o r e n v i r o n m e n to ft h em o d e lh a sb e e ni m p l e m e n t e di n t h ev c n e t d e v e l o p m e n t e n v i r o n m e n t b u tt h e s u p p o r t s o fo t h e rm o d e l sa r e n e e d e df o rt h ei n t e r f a c ec o d eg e n e r a t i o n k e y w o r d s :s o f t w a r ei n t e r f a c em o d e l ;w e bs o f t w a r e ;f m p ;c o d e sa u t o m a t i c g e n e r a t i o n ; 山东大学硕士学位论文 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:壹! :迸日期:丝生:! : 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向 国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人 授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:堇 ! :疆导师签名: 山东大学硕士学位论文 1 引言 1 1 论文研究背景和意义 用户界面设计是软件系统设计的重要组成部分,当前基于模型驱动的软件开 发方法日渐得到企业界的承认,该方法也已经应用到界面开发中;近十年来,界 面设计和系统功能设计的分离成为一种趋势,界面代码根据界面描述模型来自动 生成已成为开发人员的目标。由此出现了多种界面模型以及相应的界面开发环境 ( u i d e ) ,如f u s e 、m a s t e r m i n d 、t a d e u s 、t e a u a c h 1 1 、m o b i d 、u m l l 2 1 、 u m l i 3 1 等;通过对不同抽象层次的陈述性模型的归纳、整合,上述界面模型都可 以为从交互任务分析到最终界面代码生成的全过程提供开发方法和支持技术,差 别在于各自采用模型的复杂程度和环境适应性,这也决定了其推广难度和使用场 合 以上提及的界面模型,主要是基于传统桌面软件的,都没有太多考虑w e b 环 境对用户界面模型表达的特殊要求。而w e b 软件用户界面( w u i ) 与一般桌面软 件图形用户界面( g u i ) 相比,是有很多不同的f 4 】,这主要是由w e b 软件界面自身 的特点所决定。 互联网分布式计算的普及对软件界面的开发提出了新的挑战吼因为w e b 软 件界面有很多不同于传统桌面软件的特点1 6 l ,所以多数界面模型不能直接用于w e b 软件界面的表达。因此需要一种新的界面模型,能适应w e b 软件界面的特点,对 其做出表达并支持界面代码的自动生成。 采用基于模型的方法开发软件用户界面,可以使用不同的工具来处理界面开 发周期不同阶段的问题,这些工具可以共享模型中的信息。而且,模型分为任务 模型、概念模型等,不同部分可以使界面系统更易被理解和扩展1 7 1 。w e b 软件界面 比传统桌面软件界面更灵活多变,同时运行平台多种多样,而且对开发周期要求 更紧促阐。若有一种界面模型对其在较高层次上做出表达,独立于具体代码和运行 第l 页 山东大学硕士学位论文 平台,必然会提高设计的重用性,保证设计开发的质量,大大加快开发周期,同 时对后期维护也有很大的帮助。这也正是本文提出w e b 软件界面交互模型的意义 所在。 1 。2 界面模型的研究现状 近几年,对于应用系统中用户界面的设计、开发技术以及方法的研究越来越 深入,尤其是基于模型驱动的开发方法受到了设计开发人员的特别关注。由此出 现了多种界面模型以及相应的界面开发环境。具有代表性的如v e s u f 5 1 ,整合了不 同抽象层次的陈述性模型如任务模型、域模型,采用了对模型的解释结构,在高 抽象层次上使用基于u 帆的标准描述方法和u i w l 标准符号,隔离了对低层运行平 台的描述。为从交互任务分析到最终界面代码生成的全过程提供了开发方法和支 持技术。 但是,已有的一些界面模型和界面开发环境主要是基于传统桌面软件基础上 的,并未考虑分布式计算的要求。当前,基于网络的软件系统开发已经成为一种 趋势,这对传统的界面开发环境提出了挑战1 5 】【9 】 w u i ( w e bu s e ri n t e r f a c e ) 和传统桌面软件g u i ( g r a p h i cu s e ri n t e r f a c e ) 有很 多不同之处,主要体现在以下7 个方面。 1 ) w u i 中的导航比g u i 更灵活。用户可以从任何网页跳转到某个网页,每一 个w e b 页都可以作为应用系统的入1 2 1 ;w u i 中导航的表现形式是多种多样的,如 按扭,图片链接、文字链接,以及其他事件引发的导航,有些w u i 甚至完全由不 同类型的导航链接组成;此外,w u i 比g u i 更多的采用了超媒体技术,如声音、 浮动动画、视频。而g u i 中窗体之间的导航一般只有固定的、很少的入口点,导 航形式多为菜单、按钮等。 2 ) w u i 具有页面包含的情况。用几个现有页面组成新的页面可以提高页面设 计的重用性,g u i 是做不到这一点的。某些开发工具如v b ,若两个界面有部分雷 同,只能用重复设计的方法。 3 ) w e b 应用具有特定的体系结构,通常是两层或多层体系结构。与传统的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 曲界面的开发通常具有明确的技术分工,如美工负责信息的布局和显示, 技术人员负责网页的组装和导航,这就对界面模型描述提出了不同于一般界面模 型描述的更高的要求,它不仅需要对界面组成元素、关系、行为等进行描述,还 应明确界面的抽象展示和层次关系【1 0 1 6 ) w u i 比g u i 面临更多的变化。在开发完成之后,g u i 很少再改变,即使有 变动,也是有限的。而w u i 面临着很多变化,展览信息的网页每时每刻都在改变, 对一个综合性的网站来说,网页改版是经常的事,而且对开发时间要求很紧,这 就要求有一个很好的快速原型开发工具。 7 ) 与g u i 相比w u i 的用户群组成更复杂。w u i 很难预测会面临什么样的用 户,而g u i 的用户通常是可以预先定义的。w u i 要考虑到一般用户的操作习惯, 有更直观的导航操作指示和简单的操作布局,同时还要考虑界面色彩,动画方面 的吸引力。 综合以上特点,目前有关w e b 软件用户界面的交互形式可归纳为以下5 种: 1 ) 菜单型页面选择,形式与g u i 中的菜单相似,与g u i 不同的是,当用户点 击一个菜单项后,会出现相应页面,此页面是从服务器端调用来的,其出现位置 可以是本页的某个区域,也可以是一个新的页面。 2 ) 用户发出信息处理命令,如点击按钮,提交的信息将被发送到服务器端相 应的处理页面,如果需要,将向用户返回结果页面。 第3 页 山东大学硕士学位论文 3 ) 用户点击各种形式的导航链接,可以在页面中、页面间导航,或引出动画、 文件等各种导航目标。 4 ) 用户通过下拉列表、单选框等形式进行参数选择。 5 ) 用户录入文字、图片等信息。 总结页面类型( 行为、版式) ,典型的网络应用系统有电子商务如物流管理、 银行、政务等,此外,还有聊天室、信息发布等应用。对w e b 界面可以作如下分 类。按功能分类,有导航链接型,其页面基本由链接组成,首页多采用此种版式; 简单信息录入型;信息展示型,主体是文字信息;按布局分类,主要有无规则区 域划分型和边框加中心主体型( 或称部分刷新型) 两类。 与一般桌面软件图形用户界面相比,w e b 软件界面有其自身的特点。虽然已有 一些针对基于网络的用户界面开发的思想方法,但基于模型的界面开发方法还很 不成熟。目前有关支持w e b 软件用户界面自动生成的工具还很少,而且对模型的 描述多采用形式化的概念描述方法。如a u t o w e b s l ,一个集成开发环境,用来生成 w e b 应用系统,它采用符号系统h d m - l i t e 对w e b 应用系统进行建模,定义结构、 导航和语义表达。它比较适合数据密集型系统的建模,它的不足是描述模型概念 层次较低,增大了使用难度。 m o d f m ( m o c k u p d r i v e nf a s t - p r o t o t y p i n gm e t h o d o l o g y ) 1 1 1 是一个方法概念 框架,可以快速支持w c b 应用系统开发过程中需求的改变。m o d f m 可以结合 j 2 e e 、x m l 、e j b 等现有技术,支持w 曲应用系统从需求到开发的过程。m o d f m 的优点是较好的定义了系统模型与运行平台之间的衔接,不足是对界面建模采用 形式化的概念方法,其符号体系不容易掌握和实现。 1 3 界面模型对界面设计和自动生成的支持 用来表达界面的模型如任务模型、域模型、表示模型等并不能直接运行,但 建造一个工具环境通过模型来生成界面执行代码是可行的。文献【1 3 】介绍了界面代 码生成的思想,通过将界面模型分为不同的组件更有利的实现代码生成。文献f 1 4 l 介绍了一个程序结构,从界面模型生成符合m v c 模式的j a v a 代码。 第4 页 山东大学硕士学位论文 事实上,已经有很多实例证明了自动生成界面代码是可行的,如v e s u f 、 u m l i l 阍、f m p l l 6 】等,因此,对w e b 界面建立一个模型和支持环境,达到对w e b 界面的自动生成也是可行的。 1 4 本文的创新点 软件用户界面的体系结构模型f m p l l 6 1 ( f u n c t i o n ,m o d e l ,p r e s e n t a t i o n ) 利 用功能模型( f u n c t i o n ) 和对象模型( o b j e c tm o d e l ) 捕捉与界面相关的功能和数 据信息,用交互模型( i n t e r a c t i o nm o d e l ) 表达这些信息和控制关系。交互模型将 描述的重点放在界面的逻辑构成上,表达了界面对象间的静态及动态控制关 系,是f m p 模型的重要组成部分交互模型在整个模型中具有重要的地位, 起着承上启下的作用。 虽然f m p 模型已经实现了v b 界面代码的自动生成,但是,f m p 模型仍然不 支持对w e b 界面的建模而且目前针对w e b 界面建摸的工具环境还很少。本文的 研究重点是w e b 界面的交互模型以及工程化的描述方法和实现机制。 本文针对w e b 软件用户界面的交互特点,提出了一个支持w e b 软件用户界面 自动生成的交互模型和工程化的描述方法,该模型与其它抽象层次的陈述模型一 起为界面代码的自动生成提供支持。该模型在f m p 基础上,做了一些扩展和改进, 可以适应w e b 软件界面的模型表达需求,并且支持界面代码的自动生成。该模型 独立于生成界面代码的编程语言,从而可以增强界面设计的可重用性,加快网络 应用系统的开发过程。 1 5 本文组织结构 本文共分七个部分,第一、二部分引入课题并对课题的研究背景、意义以及 国内外相关研究进行了综述。第三、四部分给出并说明w e b 界面交互模型的组成 和描述方法。第五部分重点阐明w e b 界面交互模型对界面代码自动生成的支持。 第六部分介绍模型的实现细节。第七部分为文章的结束语,总结了本文所做的工 第5 页 山东大学硕士学位论文 作和下一步需要完善的工作。 2 国内外相关研究 2 1 相关概念模型 s e e h e i m 模型”这是最早提出的用户界面模型。该模型将用户界面划分为3 个部分:表示部分涉及界面的外部表示,界面的其他部分不能与外部直接通信;对 话控制部分指定用户和系统之间的对话结构;应用界面模型部分建立与应用语义 之间的通信联系,描述界面可访问的数据结构和例程,并负责调用这些例程。在 逻辑上这3 个部分是相互独立的,它们之间通过发送单词来进行通信。 s e e h e i m 模型本身是基于语言的模型。3 个部分分别对应于词法、语法和语义 3 个层次。该模型的一个显著特征是强调对话控制部分的作用然而,在直接操作 对话中,用户是与个别应用语义对象的图形表示交互,而不是与整个应用系统对 话这意味着和个别对象相关的语法应当包含在各个图形表示对象之中,而不是 作为一个统一的独立部分,即语法应极小化。另外,语义反馈对增加用户的参与 感甚为重要。有时甚至认为是词法层次的操作也需要语义反馈,如拖动一个图形 对象是一个词法操作,但倘若反馈该操作潜在的语义效果,则用户的参与感会极 大地增加。这要求语义更加贴近于表示部分显然s e e h e i m 模型本身并不支持直 接操作语法与语义的要求m 。 m u l t r a g e n t 模型这 是一个面向对象的界面概 念模型,如图2 1 所示。 m u l t r a g e n t 的一个典型范 例是肌模型。m v c 的特点 是将输入和交互处理与输 出显示部分分离,以减少 p m a t h岍 细i b m o 帅醴m 。d d ln 口日巧岍 p i t mp “s a 嘲- d b 茸 抑l b t i _ o 灯dm o 酬 m 瑚 山东大学硕士学位论文 一方改变对另一方的影响。m v c 模型仅是一个概念模型,如何分离和通信有赖于实 现m 。近年来,对w i v c 模型作了新改进又出现了支持多界面的设计模式“”和增强的 i v i v c 模式“”。 人机对话模型“”这是陈慧南在1 9 9 9 年提出的一个人机对话模型,它给出 了从操作次序表达式集合到扩充的着色网对话模型,并产生可视编程环境的用户 界面原型方法。主要应用于事件驱动图形用户界面原型的自动生成。此方法形式 化程度较高,而且并未进行建模环境的实现。但它对驱动事件和用户任务的分析、 对界面的自动生成工作应该有所帮助。 其他还有h u m a n o i d “”,a r c h 模型,w i s d o m 等早期的概念模型和用户界面开 发环境,在此不作赘述。以上提及的概念模型,对软件界面的开发起了指导作用, 但是并没有一个很好的实现。 2 2 模型驱动的界面开发环境 近十几年来出现了很多用户界面开发环境,用几种模型的整合来描述界面, 并且支持界面代码的自动生成。具有代表性的是1 w d s e 、v c s u f 等。这些模型一般 使用对话模型或任务模型来描述人机交互,它们的区别主要在于建模方法和模型 之间映射规则的不同。此外,这些模型还不能支持对w e b 界面的生成。 2 2 1f u s e f u s e ( f o r m a lu s e ri n t e r f a c es p e c i f i c a t i o ne n v i r o n m e n t ) 嘲系统为图形 用户界面的自动生成提出了一个方法论和一组综合工具。f u s e 的界面模型被分解 为多种陈述模型,支持一种渐进的界面设计方式,在一个对话和布局的指导方针 的形式化规范基础之上,f u s e 允许用户界面在任务模型、问题域模型和用户模型 的规范中说明生成而且,f u s e 系统吸收了一个自动生成强大帮助的部件和用户 指导部件 第7 页 山东大学硕士学位论文 如图2 2 ,f u s e 系统由4 个部件构成:用户界面说明系统b o s s ( u s e ri n t e r f a c e s p e c i f i c a t i o ns y s t e m ) ,形式化的用户界面开发f l u i d ( f o r m a lu s e ri n t e r f a c e 茹;:蓦。- g 哟唑熙! 卿! 熙窟规0 删删鸭! 唧熙蚋慨 a n a l v , l s 埘麓嚣盘懈嚣耍蝌搿投 鱼龟唼。 d l g n 姥盘剧一圆 蝴 m r , , m l i 擞枝一蒸| | -( 鞠铽, “ o 嘲m z 气磊;i 一 一圆唾 虱 e 叫t l o | i i l 羰学肾选繇一一菇釜置釜l i 图2 2 兀i s e 体系结构 d e v e l o p m e n t ) ,用于智能导航的基于计划的用户引导p l u g - i n ( p l a n b a s e du s e r g u i d a n c ef o ri n t e l l i g e n tn a v i g a t i o n ) ,形式化的界面需求工程f i r e ( f o r m a l i n t e r f a c er e q u i r e m e n t se n g i n e e r i n g ) 。 f u s e 用户界面开发过程又分为g u i d e l i n ed e f i n i t i o nl a y e r ( g d l ) 和 g u i d e l i n e a p p l i c a t i o nl a y e r ( g a l ) 。前者在开发过程中的一些活动必须被执 行一次。这些活动主要是针对s o f t w a r e e r g o n o m i cg u i d e l i n e s 的定义。后者活 动在每一个用户界面开发过程中被执行,这些活动主要是由在g d l 中定义的指导 方针的应用组成的。 在f u s e 中,开发过程分为三个阶段:需求分析阶段、设计阶段和评价阶段。 在需求分析阶段中,一个应用程序分析者通过确立三种模型的形式说明来定义对 用户界面的需求。 任务模型:对任务模型的说明描述了交互应用程序的任务层次。 问题域模型:包括函数的代数说明和交互应用程序的函数核心属性的用户界 面的相关部分的数据结构。 第8 页 山东大学硕士学位论文 用户模型:是用户组和个人用户的静态和动态的属性的一种描述。 f u s e 的优点是较早的提出了一个高度综合和基于工具的开发环境,对整个用 户界面开发过程提供了支持。但是f u s e 仍然是不易使用的,因为它采用了不易 掌握和实现的形式化概念描述方法。 2 2 2 、k s u f 分布式计算对用户界面设计提出了新的要求,为了适应这些要求,l a r s p l m 删oi 5 图2 3y e s u f 组件结构 b r a u b a c h 等人提出了一个新的u i d e 框架以及界面开发模型v e s u f 嘲。 系统组件结构见图2 3 ,整个系统组件分设计层和运行层两层。在设计层, a p p l i c a t i o ni m p l e m e n t a t i o n 隔离界面模型与具体实现,u i s p e c i f i c a t i o n 使用 d e s i g n - t i m et o o l s 定义u i ( u s e ri n t e r f a c e ) 模型。在运行层,i n t e r p r e t e r 使 用a u t o m a t i o nt o o l s ,并结合s y s t e mf e a t u r e s ,生成可执行的界面。 系统结构见图2 4 ,明确分为m o d e le l e m e n t s 与i n s t a n c ee l e m e n t s 两部分。 模型层用来描述各种模型,实例层用来描述系统运行时的各事件。架构使用两个 第9 页 山东大学硕士学位论文 接口组件实现应用层与定义层之间的独立性。d o m a i n a d a p t o r 封装了任务模型与 领域实体的信息。d o m a i n - a d a p t o r 使用u 】i l l 表示d o m a i ne n t i t i e s 。u s e ri n t e r f a c e r e l a t e dm e t ai n f o r m a t i o n 表示为类。p r e s e n t a t i o n 层在抽象层次上表达了这些 嘶p e c 妇d j t 酬池p i o rd i a 嶂k咖轴i m i * 桃 g 咖p o e mc o l l l r 咄r l lq 帅p m 耐叫mq 自p 删 - _ - a n a r 一一+ b m l p p 一位- - _ 图2 4v e s u f 系统结构 信息。中间的对话层管理界面的所有状态。d o m a i n - a d a p t o rc o m p o n e n t 有多个模 型组合成,例如任务模型、域模型等。可使用用例图描述任务模型采用u m l 模 型。对话层包含一个对话模型,是用u m l 状态图建立的每一个应用视图用一个 状态图表示 系统用解释方式执行,系统提供了两种解释模块,主动解释器如g u i r u n n e r 和v e s u f a p p l e t 用于管理交互系统视图间的迁移被动解释器如 a p p 王i c a t i o n s e r v l e t 在u i 与核心功能模块间起一个中介作用,隔离u i 的变化。 每一个控制流是一个状态自动机,控制u i 的一部分,决定展现给用户的内容 状态是和域实体( 如任务或对象) 相连接的。使组件具有灵活的映射方法,从而 可建立领域组件与对话状态的联系。陈述模型在功能角色基础上,用扩展的u m l 表示。一个工具包组件负责展现形式,一个域组件管理执行层与用户之间的信息 流,一个陈述组件与前两者相联。 系统采用了类似于演进型( 或原型) 的开发过程,开始在高抽象层上定义一 个最小化的模型,随着开发的深入,进一步细化模型,提高界面的生成质量。 第l o 页 山东大学硕士学位论文 v e s u f 有以下特点: 1 ) 在高抽象层次上使用基于u m l 的标准描述方法和u i m l 标准符号。 2 ) 界面模型被分为5 部分,用p a t h s 机制实现各部分元素间动态的联系。 3 ) 系统架构以及d e l e g a t e 支持方便的扩展应用。 4 ) 约束和依赖机制增强了系统的弹性。 5 ) 模块独立、高适应性、解释结构使系统更好应对变化 y e s u f 在系统结构和模型层次上很好的适应了分布式计算的要求,对界面模型 和运行平台很好的做了分离,这一点对其它界面开发环境有很强的借鉴意义。但 是在对界面本身的模型描述上,仍然没有提及w e b 界面的一些特点。 2 2 3f m p 模型 f m p 概念模型见图2 5 ,由功能模型( f u n c t i o nm o d e l ) 、对象模型( o b j o c t m o d e l ) 、交互模型( i n t e r a c t i o nm o d e l ) 和界面模板( p r e s e n t a t i o nm o d e l ) 组 成f m p l q 利用功能模型和对象模型 捕捉与界面相关的功能和数据信息, 用交互模型表达这些信息和控制关 系。然后依据交互模型的描述,利用 表示模型建立内部对象和外部显示元 而实现用户界面的自动生成。交互模i 煳礅f 型在整个模型中具有重要的地位,它一 图2 5f 御模型 圆侣曼画 衔接了功能模型与对象模型的内容,垄兰竺! 擎 系统的表达了用户的交互需求,为软 燮j 望 数 医技送( 数i d 件设计人员提供了界面的抽象形式 交互模型采用符号见图2 6 。 围圃回 回 图2 6 交互模型的符号 第1 1 页 山东大学硕士学位论文 f m p 是一种面向软件工程的界面模型,它支持从需求分析、设计直至编码的各 个阶段。功能模型和对象模型属于需求分析阶段,交互模型则属于界面设计阶段, 它的内容比前面两个模型的表达要具体,是代码生成阶段的直接数据来源。 交互模型在f m p 模型中起着承上启下的作用,如图2 7 所示。一方面,交互 模型与功能模型和扩充的对象模型衔接,把界面所需的功能和对象有机的结合在 一起,形成界面的抽象轮廓; 另一方面,交互模型的分类又 是表示模型中界面模板检索的 依据( 交互模型的分类将在下 面介绍) ,即交互模型中对象与 对象之间的交互关系决定了界 面模板的类型,为用户选择合 适的界面提供了约束,保证了 图2 7 交互模型的作用示意图 界面生成的正确性。另外,交互模型的抽象程度比功能模型和对象模型都低,与 它们相比,交互模型更接近于界面。 虽然f m p 模型已经在实践中得到了验证,例如通过f m p 模型,对典型的m i s 管理信息系统( 图书馆管理、企业进销存管理) 进行描述,实现了v b 界面代码的 自动生成,而且必要的数据库连接、数据存取操作也完全可以自动生成。这有力 证明了f m p 模型的技术可行性但是,f m p 模型仍然不支持对w e b 界面的建模。 本文的研究工作也正是致力于此。 2 2 4 其它几种用户界面开发环境 国内早在1 9 9 7 年,王恩玺等人提出了一个用户界面工具环境的设计,称为 u i a g s ( u s e ri n t e r f a c ea t t r i b u t eg r a m m a rs y s t e m ) 【3 】,为解决界面与应用语义的适 当分离提供一种可行方案。该工具环境在o o 图形表示的基础上,利用属性文法 对u i 进行形式化描述。该工具环境包括一个c i g o t ( c o n s t r a i n t b a s e di n t e r a c t i v e g r a p k i co b j e c t st o o l k i t s ) ,基于限制的交互式图形对象工具箱系统。c i g o t 和 第1 2 页 山东大学硕士学位论文 u i a g s 为用户界面的表示技术与对话控制机制问题提供了一个有效的解决方案, u i a g s 可以支持用户界面的可视程序设计。它的不足在于使用属性文法对u i 进行 形式化描述,这使该工具环境的使用难度加大。 t a d e u s ( t a s ka n a l y s i s d e s i g n e n di i s e p 5s y s t e m s ) “”提出了结合工作流( 即任 务分析) 生成用户界面代码的思想。t a d e u s 整合了以下思想:模型驱动,基于任 务,以用户为中心,面向对象的生命周期。 t e a l l a c h l 2 2 】【2 3 】是一个用户界面开发环境,它的特点是可以开发与面向对象数据 库联系的界面。它包括3 个模型:域模型,任务模型和表达模型。 m o b i d ( m o d e l b a s e di n t e r f a c ed e s i g n e r ) i 刎是一个支持以用户为中心的用 户界面开发环境,使用基于模型的用户界面开发方法,包括用户模型、对话模型、 任务模型、表示模型和域模型。m o b i - d 与它以前的界面开发方法比,提出了界面 模型分层的思想,还提出了界面开发过程周期及方法。 以上提及的几个用户界面开发环境,各有自己的特点,大多采用几种模型来 表达用户界面,也取得了一定成效,但由于提出的时间比较早,都没有考虑w e b 界面的特殊要求。 2 3 界面模型表达方法 除了上一部分提到的用户界面开发环境外,还有几种与界面建模相关的建模 方法,这些方法对界面行为的表达很有借鉴意义。 2 j 1u m i j u n i f i e dm o d e l i n gl a n g u a g e ( u m l ) 是一个为面向对象系统建模的标准符号 体系,因此,为用户界面建模时自然会首先考虑u m l 。然而,u m l 对于用户界 面建模是不足的陋1 1 2 6 1 模型驱动的界面开发环境( u i d e ) 可以系统的表达用户界 面,但目前的u i d e 却大多不能很好的表达系统设计u n i f i e dm o d e l i n gl a n g u a g e f 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 札和u i d e 两种 第1 3 页 山东大学硕士学位论文 技术,实现两者的统一。通过加入对交互任务的表达,u m l i 在保留u m l 表达系 统模型的基础上,可以较好的表达界面交互模型。u m l i 的界面表达模型如图2 8 图2 8 用u n i 表示用户界面的模型 所示。用u m l i 表达的一个活动图如图2 9 所示“。 a p 曲e 盎” p 口e 啪 图2 9 用l m i l i 表示的图书馆借书活动图 图2 9 中包含5 种元素: 1 ) a c t i o n l n v o k e r s 形如双箭头,用来接受用户的直接操作命令 2 ) d i s p l a y e r s 向上指的单箭头,用来向用户展示信息 3 ) i n p u t t e r s 向下指的单箭头,用来接收用户的输入信息 第1 4 页 山东大学硕士学位论文 4 ) c o n t a i n e r s 园筒状,管理交互类。 5 ) f r e e c o n t a i n e r s 立体状,管理所有的类,不可被其他容器管理。 u m l i 扩展了u m l ,加强了表达界面模型的能力,降低了u m l 表达界面模型的 难度,结合了任务模型和活动图来表达界面的交互活动恤1 。因为它采用了u m l 做 为扩展建模语言,因此容易推广。它能同时表达系统行为和界面行为,这一点很 值得借鉴。文献【2 9 l 介绍了支持u m l i 的环境a r g o 。 2 3 2 任务模型的表达方法 任务模型常用于描述应用系统完成功能时执行的操作序列,任务模型可以帮 助理解应用系统,支持有效的设计,帮助进行易用性评价,并且可以重用任务设 计模型。对任务模型工程化的要求,( 1 ) 要有灵活、表达能力强、语义精确的符 号系统;( 2 ) 要有系统化的方法指导怎样去使用模型中的信息;( 3 ) 模型中的信 息能被自动化软件工具读取。这些要求对代码的生成发挥很重要的作用。 任务模型的表达方法常见的有以下几种:分层的表达方法( h i e r a r c h i c a lt a s k a n a l y s i sh t a ) ,g o m s ( g o a l s ,o p e r a t o r s ,m e t h o d s ,s e l e c t i o n sr u l e s ) ,u r n , c o g n i t i v et a s ka n a l y s i s ( c t a ) ,c o n c u r t a s k t r e e s m 。考虑到以上提到的对任 务模型工程化的要求,c o n c u r t a s k t r e e s 是较为典型的满足工程化要求的一个任务 模型。该模型是由意大利的f a b i op a t e r n o 最早在1 9 9 8 年提出的,发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论