(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf_第1页
(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf_第2页
(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf_第3页
(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf_第4页
(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机软件与理论专业论文)基于模型的用户界面代码自动生成.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 基于模型的用户界面代码自动生成 摘要 用户界面是人机交互的中介,是人和计算机之间沟通的桥梁。随着软件 的普及和发展,对用户界面的要求越来越高。众所周知,开发用户界面是一项 既费时又耗资的工作。大量的调查表明应用程序平均4 8 的代码是为用户界 面来服务,并且,有5 0 的运行时间来运行用户界面。因此对用户界面 f u i u s e ri n t e r f a c e ) 的研究受到越来越多人的重视。 随着应用程序的复杂程度不断的升级,用户对u i 的要求也不断的提高。 所以对软件开发人员而言,就迫切地需要一种能够为他们提供大量帮助的u i 开发环境。这就促使着软件开发者研究u i 的自动生成,从而产生了大量的用 户界面自动生成工具。基于模型的用户界面开发环境( m b u i d e s - - m 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 te n v i r o n m e n t s ) ,通常就是通过一系列静态 的模型组件和常规方法来完成界厩开发工作的。如:u i d e 给出了基于模型的 用户界面自动生成的思想,并且证明了它的可行性;t e a l l a c h 使用m v c 的模 式结合它的界面模型已经生成了用户界面框架的j a v a 源代码;同样m o b i d 也能生成用户界面的框架代码。 就现有用户界面开发工具环境的情况来看,尽管有的开发工具已经实现 了部分代码的自动生成,但是它们生成的目标代码不够完整,界面部分也不 十分令人满意。直接从应用软件的需求出发,借助可视化和智能化技术,建 立起完整应用软件的代码自动生成和可视化界面的自动生成方面的研究并不 多,本课题的研究可以弥补这些方面的不足。 本课题所开发的用户界面代码自动生成系统( a u i a u t o m a t i c u s e r i n t e r f a c e l ,是在大量相关研究的基础上加以实现的。大量基于模型用户界面 生成工具证明了自动生成用户界面源代码的可行性;基于u m l 的r a t i o n a l r o s e 的代码自动生成的实现则证明了生成目标工程源代码的可行性;f m p 山东大学硕士学位论文 的创建以及基于f m p 模型的用户界面思想的提出为代码自动生成系统提供了 依据。 在分析了f m p 模型、基于f m p 的代码自动生成思想以及大量基于模型的 代码自动生成工具之后,本文给出了最终的代码自动生成思想、基于f m p 模 型的代码自动生成模型和代码自动生成系统一a u i 的系统结构。然后,根据 这些模型、思想和v i s u a lb a s i c 的代码结构,实现了从系统和界面的模型描 述到目标代码的自动生成。 目前所建立的a u i 系统,实现了对模型( 包括:对象模型、功能模型、 交互模型、表示模型和体系结构模型) 的管理维护工作。在此基础上,代码 自动生成部分实现了v i s u a lb a s i c 基本应用程序代码的自动生成,除了生成 用户界面应用程序基本框架的静态源代码外还生成了一定的应用程序动态代 码。同时还支持数据库系统的自动生成,能生成o r a c l e ,a c c e s s 等数据库的 数据库基本的对象( 表,视图,过程,用户等) ,并且实现了应用程序同数据 库之间数据传输接口的自动生成。 关键字:m b u i d e s ,代码自动生成,f m p ,用户界面模型,软件工程 i i 山东大学硕士学位论文 m o d e l b a s e du s e ri n t e r f a c ec o d ea u t o m a t i cg e n e r a t i o n a b s t r a c t u s e ri n t e r f a c e ( u i ) ist h e g a t e w a y a n dt h e b r i d g e b e t w e e nh u m a na n d c o m p u t e r s 。w i t ht h ew i d es p r e a da n dd e v e l o p m e n t o fs o f t w a r e ,t h er e q u i r e m e n t s f o ru s e ri n t e r f a c ei sm o r ea n dm o r e h i g h e r u s e r i n t e r f a c e d e v e l o p m e n t i s w e l l k n o w n d i f f i c u l t ,t a k i n gm o n e ya n dt i m e v a r i o u s r e s e a r c hr e s u l t sh a v e s h o w nt h a ta na v e r a g eo f4 8 o ft h ec o d eo fa na p p l i c a t i o ni sd e v o t e dt ot h e u s e ri n t e r f a c e a n dt h a ta b o u t5 0 o ft h ei m p l e m e n t a t i o nt i m ei sd e v o t e dt o i m p l e m e n t i n gt h eu s e ri n t e r f a c ep o r t i o n s op e o p l ep a y m o r ea n dm o r ea t t e n t i o n t ou s e ri n t e r f a c ed e v e l o p m e n ta n dr e s e a r c ha c t i v i t i e s w i t h a p p l i c a t i o n s c o m p l e x i t y i n c r e a s e d ,u s e r s u ir e q u i r e m e n t s a r e b e c o m i n gm o r ea n dm o r eh i g h e r t h e r e f o r e ,s o f t w a r ed e s i g n e r sn e e dt o o l st o p r o v i d ear i c h e rs u p p o r tf o rt h ed e v e l o p m e n to fa d v a n c e du i s t h i su r g e st h e r e s e a r c h e r st o p u r s u e t h ea u t o m a t i cu i g e n e r a t i o n ,a n da c c o r d i n g l ys e v e r a l m o d e l sa n dt o o l sw e r ec r e a t e dt o s u p p o r tu id e v e l o p m e n t s m o d e lb a s e d u i d e v e l o p m e n te n v i r o n m e n t su s u a l l yc a nb eu s e dt od e v e l o pu i sb ym e a n so f v a r i o u su im o d e l sa n dt h et r a d i t i o n a lw a y s f o re x a m p l e ,u i d ep r e s e n t e dt h e i d e ao fu s e ri n t e r f a c ea u t o m a t i cg e n e r a t i o n ,a n dp r o v e di t s f e a s i b i l i t y t e a l l a t h u s e st h ed e s i g np a t t e r no fm v ca n di t su im o d e lt o g e n e r a t et h ef l a m eo fu i s j a v as o u r c ec o d e m o b i dc a na l s og e n e r a t eu i ss o u r c ec o d e a c c o r d i n gt o t h ec u r r e n tr e s e a r c h e so fu i d e ,s o m eo ft h e mc a ng e n e r a t e p a r t i a lc o d e ,b u tt h e s et a r g e t c o d eis i n c o m p l e t e a n dt h eu s e ri n t e r f a c e sa r e u n s a t i s f y i n g s t a r t i n g f r o ms o f t w a r e s r e q u i r e m e n t su s ev i s u a l a n di n t e l l i g e n t t e c h n o l o g y , t h er e s e a r c h t os e t u pa u t o m a t i c c o d e g e n e r a t i o n o fa p p l i c a t i o n s o f t w a r ea n dv i s u a li n t e r f a c ei ss u f f i c i e n t t h e s e s h o r t c o m i n g s w i l lb e o v e r c o m e di nt h i sp a p e r p a r to ft h i s p a p e r s w o r ki st h ec o n s t r u c t i o no fa u i ( a u t o m a t i cu s e r i n t e r f a c e ) ,w h i c h i sb a s e do nal o to fr e l a t e du i r e s e a r c h e s p l e n t y o f i 山东大学硕士学位论文 _ - _ 一 m b _ u i d e sp r o v e dt h e f e a s i b i l i t y o fg e n e r a t i n g u s e ri n t e r f a c e s o u r c ec o d e : r a t i o n a lr o s ep r o v e dt h e f e a s i b i l i t yo fg e n e r a t i n go b j e c tp r o g r a ms o u r c ec o d e f m pm o d e la n df m pb a s e du s e ri n t e r f a c eg e n e r a t i o ns e t t h ef o u n d a t i o no fo u r c o d eg e n e r a t i o ns y s t e m a f t e rd i s c u s s i n gf m p m o d e l ,f m pb a s e dc o d eg e n e r a t i o ni d e aa n da u t o m a t i c c o d eg e n e r a t i o nt o o l sb a s e d0 1 3 m o d e l s ,t h i sp a p e r p r e s e n t st h ef i n a lg e n e r a t i o n i d e a ,f m pb a s e da u t o m a t i cc o d e g e n e r a t i o nm o d e la n d s y s t e ma r c h i t e c t u r e t h e na c c o r d i n gt ot h e s em o d e l s ,i d e a sa n dv i s u a l b a s i cc o d es t r u c t u r e t h e a u t o m a t i c g e n e r a t i o nf r o m s y s t e ma n du s e r i n t e r f a c em o d e l sd e s c r i p t i o n t o s o u r c ec o d ei s i m p l e m e n t e d n o wt h ea u i s y s t e mf i n i s h e st h em a i n t e n a n c ea n dm a n a g e m e n to ft h em o d e l ( i n c l u d e so b j e c tm o d e l ,f u n c t i o nm 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 a n da r c h i t e c t u r em o d e l ) c o d e g e n e r a t i o np a r tc a ng e n e r a t e sv i s u a lb a s i cs o u r c e c o d e ,t h e s ec o d ei n c l u d e ss o m ed y n a m i c a lc o d ee x c e p tf o rs t a t i cc o d eo ft h e b a s i c a p p l i c a t i o n i na d d i t i o na u is t i l l s u p p o r t s d a t a b a s e g e n e r a t i o n ,i tc a n g e n e r a t eo r a c l e ,a c c e s sa n ds o l n co t h e rd a t a b a s eb a s i co b j e c t s ( t a b l e ,v i e w , p r o c e d u r ea n du s e r ) ,a u ic a na l s og e n e r a t et h ei n t e r f a c eb e t w e e na p p l i c a t i o n a n dd a r a b a s e k e y w o r d s :m 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 te n v i r o n m e n t s ,a u t o m a t i c c o d eg e n e r a t i o n ,f m p ,u s e ri n t e r f a c em o d e l ,s o f t w a r ee n g i n e e r i n g 山东大学硕士学位论文 原创性声明和关于论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:诠蕉蠢日期:2 1 1 韭生。冱 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:益越导师签名:乏塑日 期:丝生! 竺:? 山东大学硕士学位论文 1 引言 由于用户界面在软件中的重要性【1 ,使得人们对它的研究产生了极大的 兴趣。因为用户界面是用户所能看到的应用程序的唯一部分,也许你所开发 的应用程序有漂亮的内部对象结构、出色的错误处理能力、可靠的数据处理 和精确的算法,但是用户很难接受一个具有劣质用户界面的应用程序。因此, 事先做好规划,设身处地地为用户着想,为他们提供一个优秀的用户界面, 是成功的应用程序开发过程中所必不可少的一个重要环节。 今天,最终的用户希望能够坐下来就能直接使用应用程序,而不需要花 费他们大量的时间来阅读用户说明手册。但是这样的用户界面很难设计和实 施。这无疑就增加了开发人员的工作难度。因此用户界面自动生成的目标很 自然而然地提出来了。从而导致一些支持用户界面自动生成工具的产生,如: m bu i d e s f 2 1 系列工具、g e n e x u s 、v i s u a lc a s e 等。另外支持代码自动生 成工具的还有基于u m l 的r a t i o n a lr o s e 以及国内北大青鸟的c a s e 工具系列 等。这些工具都在一定程度上取得了很大的成功。并且有的用户界面自动生 成工具,如,m bu i d e s 中的m a s t e r m i n d 3 , 4 】、t e l l e a c h 【5 6 , 、t r i d e n t 8 等还 得到了一定用户的认可和好评。但是,这些自动生成工具只支持特定的用户 界面活动和用户界面框架。这也是它们所不能被广泛应用的主要原因一通用 性太差专用性太强【9 。交互式系统基于模型的开发方法通过将用户界面分解 成一些独立的模型组件强调地指出了这一缺陷。 在现有软件开发工具环境情况来看,虽然有的软件开发工具已经实现了 部分代码的自动生成。但是它们生成的目标代码不够完整,而且界面部分也 不十分令人满意。直接从应用软件的需求出发,借助可视化和智能化技术, 建立起完整应用软件的代码自动生成和可视化界面的自动生成等方面的研究 并不多,该课题的研究正好可以弥补这方面的不足。 在了解到大量相关研究的情况之后,我们以前面提出的用户界面代码生 成思想和模型( f m p 【1 0 1 模型) 为基础,开发出了自己的用户界面自动生成系统 ( a u i a u t o m a t i cu s e ri n t e r f a c e ) 。 山东大学硕士学位论文 a u i 的目标同其它的用户界面自动生成系统的目标一样,也是为了最大 限度地支持用户在开发用户界面工程过程中的自动化,大大减少软件开发过 程中冗余的操作,从而提高软件开发人员的效率。 本文所描述的系统就是基于模型的能够自动生成图形用户界面应用程 序的开发工具。利用它能够建立支持软件工程的模型并且能够实现从非形式 化语言描述的用户需求到计算机可识别的形式化语言的转换。最终通过它们 来实现整个应用程序目标代码的自动生成。可以说是支持软件工程的全过程 的代码自动生成的工具。它的侧重点是图形用户界面( g u i g r a p h i c u s e r i n t e r f a c e ) 源代码的生成而不是系统功能的实现。 本文的第一部分主要研究了当前支持用户界面自动生成的模型并对它 们进行归纳和总结。本文的第二部分对基于这些模型的用户界面代码自动生 成的思想和相关的工具进行了分析,主要研究这些基于模型的用户界面自动 生成工具所采用的模型、代码生成的思想、它们的特点以及实现情况等,并 且引出我们所研究的课题。第三部分给出了基于f m p 模型的用户界面代码自 动生成思想和f m p 模型的介绍。第四部分给出了基于f m p 模型的代码生成 结构、代码生成机制、代码生成的依据以及目标代码的存放结构等。第五部 分给出了基于f m p 模型的代码生成系统采用的方法和技术。主要介绍了代码 自动生成的思想、代码生成系统的结构模型、代码生成的依据、模型在系统 中的组织结构、代码生成过程以及代码生成的过程中所用到的主要算法,并 且给出相应的实例。 在详细论述我们所设计用户界面自动生成系统之前,首先介绍一下目前 国内外关于用户界面自动生成的研究情况。 2 相关研究 2 1 图形用户界面生成的发展历程 在软件工程领域,从形式化规约与设计自动生成软件,这种想法已经有 些年头了。从最初7 0 年代的对用户界面研究的开始到目前为止,总的来说, 山东大学硕士学位论文 用户界面的发展过程一共可以分为三个阶段。 2 。】1 传统用户晃面的生成阶段 在过去传统的界面设计和实施时,由于程序员凭着直觉对用户界面进行 设计与实现,这样,不仅大大地增加了界面设计和实现的工作量,而且这样 的界面在表达操作的一致性以及用户使用的方便性上都难以达到较优的效 果。并且,这一阶段的用户界面都是手工创建的。这必然降低了开发人员的 效率与此同时提高了用户界面开发的成本和开发周期,因此可以说这个阶段 的用户界面的开发是既费时又耗资的阶段。 2 1 2 基于用户界面( u s e ri n t e r f a c e ) 的交互系统自动生成 因为界面是人和计算机交互的接口,所以用户界面肯定也是交互式系统 的必不可少的组成部分。因此要实现用交互系统开发的自动生成方法通过系 统设计的抽象程度来降低开发的复杂程度。在人机交互( h c i ) 的历史上已经产 生了很多这样的方法。并且证明了语言存在论对方法分类的重要性。基于用 户的交互系统的自动生成大致可以分为三个层次:词汇层、语法层和语义层。 词汇层,例如,表示是基于调色板的界面创建工具强调的问题。然而,语法 层,在用户界面管理系统( u i m s ) q = 表示的是对话和全局序列的问题。在语义 层,代表的是基于域的用户界面组件选择的问题。这些问题曾经对人机交互 ( h c i ) 的历史做了大量的研究,但是,到目前为止,最受欢迎的工具仍然是快 速原型工具和静态的图形用户界面( g u d 布局生成器。 交互式系统是反应系统的一个子类,它的主要的特征就是:人类是交互 系统的一个有效的组成部分。因此,这就要求交互系统的设计必须考虑人的 因素。具有人作为操作者的系统必须提供能够让用户输入的并且能够将问题 输出到其它系统组件的用户界面。经验表明用户界面的设计和维护是非常困 难并且成本非常高。【2 】中指出了大约有5 0 的开发费用和复杂的应用都与用 户界面的设计和实施相关联。人机交互界面的开发人员和软件工程人员已经 将注意力集中到这一领域上,因为它潜在开发费用的节省。交互式系统设计 有两个显著的特征: 第一,交互系统软件的存在论和软件工程的过程支持交互系统的开发。 山东大学硕士学位论文 存在论定义了组成问题域的概念和关系。它们组成了当讨论到结构问题 时设计者共同呼吁的客观基石。关于用户界面结构的问题有两种存在论。第 一种是由f o l e y 在 1 1 】中提出的,并且定义用户界面作为用户的语言,机器的 输入语言和交互的协议。另外的一种存在论就是,是m o r a n 在【1 2 中提出的, 他把用户界面看作人类进行物理、感知或概念交互系统的组成部分。f o l e y 的语言模型已经被证明在自动生成方法学上是有一定影响的。他的思想就是 界面的设计同编程语言的设计是类似的。这儿也有输入输出语言,通过输入 语言用户可以同计算机进行交流;通过输出语言计算机同用户进行交流。那 么工程的操作就是这两种语言的模拟。f o l e y 的存在论也提出了用户界面软 件中存在的三个层次:词汇层、句法层和语义层。其中词汇层描述的是语言 中的自动实体例如:鼠标移动、键盘点击和可视化界面的输出。语法层描述 的是这些符号的顺序。语义层将语法结构按功能分组。 第二,软件工程的过程辅助交互系统的设计,承认设计者作为用户界面 的评价者。 快速原型设计和再评估就是它的一个范例。根据d i a p e r 1 3 ,p r e f a c e ,任 务分析是生成交互系统需求分析潜在的最强有力的方法。而任务分析又有很 多不同的方法。例如:t a s ka n a l y s i sf o rk n o w l e d g ed e s c r i p t i o n s ( t a k d ) ”, 产生通用的任务等级。其它的如:t a s kk n o w l e d g es t r u e t u r e s ( t k s ) 提供任务 知识结构的理论和用来识别和建模这些知识的方法学。另外还有g o a l s , o p e r a t e s ,m e t h o d s , a n d s e l e c t i o n ( g o m s ) o 。“,c o g n i t i v ec o m p l e x i t y t h e o r y ( c c t l 1 6 1 结合人的心理学为了评价用户任务的执行。 交互系统开发的自动生成f 3 】方法通过系统设计的抽象程度来降低开发的 复杂程度。在人机交互( h c i ) 的历史上已经产生了很多这样的方法。并且证明 了语言存在论对方法分类的重要性。词汇层,例如,表示是基于调色板的界 面创建工具强调的问题。然而,语法层,在用户界面管理系统( u i m s ) 中表示 的是对话和全局序列的问题。在语义层,代表的是基于域的用户界面组件选 择的问题。 4 山东大学硕士学位论文 2 1 2 1 词汇工具和技术 在词汇层的工具提供能够选择和规范一个系统的表示模型,并且很少支 持行为。商业性的工具例如u s e ri n t e r f a c em a n a g e rf o rx ( u i m x ) 1 7 i 允许设计 者通过可选区的组件来快速的组建和规范表示模型。一旦,设计者对布局完 成以后,工具就可以生成源代码并且创建初始化布局。随后,要求设计者来 添加控件的行为。在u i m x 生成代码的用例中,这种活动汇总所有运行时系 统与控件交互时所激活的函数。 随着ja 语言的和用户界面库a w t 【博1 的出现,基于控件表示的表示 生成已经成为主流。这就允许设计者,来快速的组建表示并且生成和初始化 这些表示的代码。同u i m x 一样,设计者必须遵守这一具有添加调用这些组 件活动编程的生成步骤。 另外,并不是所有的词汇工具都是基于图形的。用户界面语言( u i l u s e r i n t e r f a c el a n g u a g e ) 编译器从布局的原文描述来产生代码f ”j 。 这一层次的工具产生代码程序员接着对他们进行规范。这些规范通常采 用扩展形式,即,增加调用功能。通常,程序员只是修改所产生代码的参数 或应用。一个典型的例子就是,来搜索通过u i m x 生成的源代码并且进行扩 展而不需要再次通过生成器。这个行为的确是这些方法的一个缺陷,因为生 成的代码可以很容易的从产生它的模型来传送。但是,支持词汇层次的工具 仍然很流行,并且在商业上证明了它是成功的。 2 1 2 2语法工具和技术 在语法层的工具允许设计者表达用户界面行为的先后顺序。该层次的绝 大部分的工具提供给设计者个对话语言。正是通过这种语言顺序约束能够 被规范。对话标示都是有名称的因为它们规范交互的机制。这些工具可以根 据功能和对话语言的风格不同来分类。对话标示假定重要的机器模型或者是 顺序的或者是同步的。顺序的对话标示往往倾向于基于正规语言和自动理论 ( 正式的语法,状态转换图等等) ;然而,同步的对话标示往往倾向于基于通 过执行对异步事件做出反应的生产规则。 对话生产规则模型同用户界面工具箱的体系结构是完全相吻合的。模型 山东大学硕士学位论文 不要求机器是同步的,但是它表达出来的感觉是基于事件的而不是基于线程 的。命题产生系统( p p s p r o p o s i t i o n a lp r o d u c t i o ns y s t e m 2 0 1 ) 就是这样的一个 例子,并且很多u i m s 采纳了它。 2 1 2 3多级问题 前面提到的方法到主要有两方面的相同点。 第一,每种方法在交互系统的自动生成时采用的是同样的框架: 一个以虚拟机器( 它可以是事件循环,控制序列,约束引擎等等) 方式 执行的运行时系统; 一种语言( 可视的或者文本的) 来表达系统的特征; 一个转换器用来实现从书写的语言表达到虚拟机器的映射。 第二,这些语言不能表达一个应用的全部功能。也就是说代码生成器只 能是下面情况的一种: 生成一部分应用这就要求必须增加程序员书写的代码; 推断在语言( 通常采用基于知识的高级语言) 中没有表达出的系统属 性。 这是第二特征是困难产生的根源,也是当前自动生成方法的不足之处。 在一个真正的代码自动生成的环境中,程序员不需要手工添加代码来完成整 个的用户界面的设计。因此我们把这一问题作为交互系统规范的多级问题。 系统不是任何一个层次结构的产品,而是三个层次共同作用的结构。我们认 为这一问题继承了开发交互系统自动生成的方法。 2 1 3 基于模型的l j l 分析与自动生成 前面已经提到了对图形用户界面所做的大量研究工作,并且产生一些支 持图形用户界面自动生成的工具,但是它们只支持定义的活动和用户界面同 重要的应用功能的交互。交互式系统的基于模型的开发方法通过将用户界面 分解成一些独立的模型组件强调指出了这一缺陷,这些模型都是规范定义陈 述的。一旦规范完成了,自动化的工具结合模型并且从它们中产生高效的系 统。模型的组合问题( m o d e l c o m p o s i t i o n p r o b l e m 【2 1 1 ) 就需要有效地解决,并 且从独立的陈述模型中自动地结合交互软件。 2 1 】就给出了模型的合成问题 山东大学硕士学位论文 并且给出了解决方案。 交互系统中基于模型的方法是以一个普通的模型库系统的分析、设计、 和实施为基础的。不同于通用软件工程,设计者可以创建含义和关联,能够 通过传递代码获得的模拟组件。在基于模型的方法中,设计者创建严格的系 统属性并且进行分析、优化和合成这些模型从而得到运行系统。基于模型的 用户设计器一个模型就是用户界面一些独立连接部分的陈述说明,例如:它 的外观,或者它是如何同重要应用程序的功能进行连接和交互的。通过将精 力集中到个用户界面的独立的方面上,一个模型可以通过专业标示来表示。 这恰恰就说明了使用基于模型的用户界面开发方法进行界面开发比其它的方 法更加容易并且易于维护。 基于模型的用户界面开发技术致力于提供一个专业和系统的方法来设 计和执行用户界面的环境,为了达到这个目标,用户界面是通过界面模型 ( u i m s u s e ri n t e r f a c em o d e ls ) 的使用而被描述的。从陈述用户界面模型 ( u i m s ) 中获得u i 有三个主要的好处: 它们比其它u i 开发工具所提供的u i 描述更加抽象; 因为他们具有如下功能,所以用一个较系统的方法便利了u i 的设计 和执行: 应用不同层次的抽象来为用户界面建模: 不断地细化模型; 对u i 详细说明( u is p e c i f i c a t i o n ) 的重用。 他们提供了从与u i 设计相关的任务到执行程序的自动转化的下步 的构造。 u i m s 最大的缺点就是模型和它们的标记的复杂性,它们往往难以学习和 使用。事实上,m b u i d e s 仍然是受争议的,因为与这个技术相关的一些本质 问题还未完全解决。 基于模型的方法的目标是提高设计的支持程度和应用大量外部用户界面 模型的代码生成。为了实现这些雄伟的目标,基于模型的界面开发工具的代 码自动生成必须具有全新的软件合成机制。 山东大学硕士学位论文 2 2 用户界面模型 一个用户模型就是用户界面一些独立连接部分的陈述说明,例如:它的 外观,或者它是如何同重要应用程序的功能进行连接和交互的。通过将精力 集中到一个用户界面的独立的方面上,一个模型可以通过专业标示来表示。 这恰恰就说明了使用基于模型的用户界面开发方法进行界面开发比其它的方 法更加容易并且易于维护。 5 】中指出了目前主要有三种从模型定义中获得现行的用户界面的方法: i n t e r p r e t e r s :定义的模型直接被解释说明,例如i t s ; u i m sg e n e r a t o r :把定义的模型映射到可选择的、通用的、低级的界 面表达模式,例如:h u m a n o i d ,t a d e u s 和f u s e ; s o u r c ec o d eg e n e r a t o r s :资源代码生成器,将定义的模型映射到开发 语言上来。例如:j a n u s ,m a s t e r m i n d ( 生成c + + 代码) 。其中,p m 是 由交互层次和大量的对象组成。对象可以分成两类:具体界面对象 ( c i o s e o n c r e ti n t e r f a c e o b j e c t s ) 和抽象界面对象( a i o s a b s t r a c t i n t e r f a c eo b j e c t s ) 。 界面模型分为概念模型 2 2 1 和陈述模型 2 3 】两类。 2 2 1 概念模型 从软件工程的角度来讲模型就是抽象,就是有意识地忽略事物的某些特 征。抽象带来的好处是能够反映模型中元素之间的关系,清晰地把握大局。 概念模型是模型的一种,简单说就是抽象程度极高的一种模型。软件工 程概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工 程有一个完整把握。 在软件开发过程中,概念模型的正确性是软件产品质量的基本保障,噍 有正确的概念模型才能真实的反映客观世界、才能实现可信度高的仿真。概 念模型的正确性有三方面的含义:语法的、语义的和语用的。为保证概念模 型的正确性,需要对概念模型进行验证。 从概念模型的开发可知模型是由静态与动态两部分组成的。静态部分的 内容比较容易理嬲和检查,而动态部分的内容则出于其复杂性难于通过阅读 山东大学硕士学位论文 实地审查发现其中的瑕疵。而利用可执行模型在人机交互条件下验证概念模 型的动态部分是值得探讨的。因此,通过高效的工具方便地描述概念模型中 的动态行为信息,并快速、直观地建立可执行、可验证的模型是当前建模技 术和工程的一大趋势。 用户界面的概念模型采用三种基本的模型支持界面的自动生成,即,应 用模型( a p p l i c a t i o nm o d e ) 、对话模型( 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 、m v c 和p a c 模型。s e e h e i m 模型 是一种基于语言的模型,它处理的对话交互逻辑是线性的,但它为其它模型 奠定了理论基础。m v c 和p a c 模型属于面向对象的多代理模型,其突出特 点是模块化、并行和分布式处理,已经成为界面控制和实现的概念基础。 s e e h e i 玎】模型印”是一种基于语言的模型,其基于词法、语法和语义划分 的逻辑结构决定了它处理的对话交互逻辑是线性的。它将界面看成是用户和 整个应用系统,而不是和特殊任务相关的应用语义对象之间的交互,交互的 逻辑是可预见的,属于顺序对话类型。模型描述的用户界面基本上采用了顺 序命令行形式,系统的控制结构被看作是一种管道结构。该模型为其它 u i m s ( u s e ri n t e r f a c em a n a g e m e n ts y s t e m ) 模型奠定了理论基础。 a r c h 模型仲”在s e e h e i m 模型的基础上发展而来,它结合软件工程的思想 为开发者提供了界面设计的框架。a r c h 模型在s e e h e i m 模型的基础上增加了 两个缓冲部件:d o m a i na d a p t e r c o m p o n e n t 和i n t e r a c t i o nt 0 0 1 k i t c o m p o n e n t ,使得交互式系统的开发过程更加顺畅,同时僳证了最终产品的质 量。一方面,用户和功能在驱动对话控制部分所占比例相当,反映在系统的 抽象层次上就没有优先权高低的问题;另一方面,两个缓冲部件的出现使得 相邻部件的改变对系统的影响最小化。 基于s e e h e i m 的扩展模型一k b f em o d e l ( t h ek n o w le d g e b a s e df r o n t e n d sm o d e l ) 心“。为了在界面的设计过程中体现用户的意见,该模型中引入 了基于知识的模块,用户的参与作为一种知识被保存起来,以便在以后的界 面实现过程中达到重用的目的。但是它没有明确给出对于能够自动构造具有 特定用户特点的表示部分的方法。 m v c 模型心7 1 和p a c 模型”踟属于多代理模型。该模型中引入了a g e n t ( 代理) 山东大学硕士学位论文 的概念,它把界面及界面元素看作由应用、对话控制和表示部分组成,每一 部分又是一个或多个a g e n t 代理的集合。其突出特点是模块化、并行和分布 式处理h ,这有助于用户界面的迭代设计开发,为分布式应用和处理多线程 的界面控制和实现提供了基础。 国内的朱军等人在一个更高的层次上给出了一个关于用户界面的通用 模型 3 0 i 。该模型将系统分为应用核心和用户界面系统两部分,用户界面系统 是由多个交户对象u i o ( u s e ri n t e r f a c eo b j e c t ) 组成的具有一定层次的网状结 构,底层的u i o 负责管理交互设备,接受用户动作,显示用户信息;高层的 u i o 负责管理底层的u i o ,并与应用核心进行信息交换。 但是,概念模型着重描述了界面构成以及界面元素间的逻辑概念关系, 为抽象界面模型到实际界面的转换提供了良好的基础和结构概念。但这神模 型以概念为主,缺乏面向设计的工程实施表达,其应用依赖于设计者的认识 和运用。 2 2 2 陈述模型 陈述模型从软件工程的过程出发,利用各种模型表达和把握界面的需求 和构成。构建用户界面时不同的设计方法使用了不同的陈述模型。 基于模型的用户界面开发环境( m b u i 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 ) 5 】一般包括任务、域、表示、对话、用户模型和 一个由这些模型组成的并且能够操纵的环境。 不同的基于模型的方法使用不同的陈述模型。总的来说,所有基于模型 的用户界面开发环境( m b u i d e s ) 或者是使用一个域模型或者使用一个任务 模型。有一些m b u i d e s 两个模型都用到了。一些m b u i d e s 使用对话模型 或表示模型或者两种模型同时使用。另外,开发者还提到了用户,运行平台, 工作空间模型,但是这些模型很少使用。这儿我们只讨论一些最常使用的模 型:任务、域、用户、表示和对话模型,因为这些模型是最经常是用的模型。 下面是 1 】中给出的这些陈述模型的定义。但是这些模型到目前为止还没有统 一的定义。 1 0 山东大学硕士学位论文 2 2 2 1t a s km o d e l - t m ( 任务模型) 首先,关于任务模型的几个概念。 任务处理:人们通过执行一些行为来达到目的,这些行为通常改变了在 特定上下文里特定加工品的状态。这就是我们经常说的任务处理。任务 处理描述了某个人改变一个状态所执行的一个活动。 任务:一个任务就是一个目标再加上一个有序的任务和行为的集合,这 个集合能在合适的上下文中满足目标。 目标:一个目标就是想要改变或保持一个加工品的状态的一个企图。 行为:任何有改变或保持一个加工品状态效果的行动。 其次,是对任务的描述。 有了上述定义,我们就能得到在一个任务模型中必须表达的信息。根据 3 1 】所述一个任务描述应该包括: 一个目标; 一个行为或其他对于完成目标必须的任务的非空集合; 一个关于怎样选择行为或任务的计划; 一个受任务影响的加工品模型。 在 1 】中还指出: 在任务模型中需要注意的事项:对于软件开发者,难于区分目标和行 为。一般地它们具有一样的名称,这可能导致一个任务描述语言只包 含一个目标或任务; 什么样的任务可以在任务模型中建模? 一个任务描述一般包括在域 模型中对对象的一个引用而不是域模型本身。简单明了的答案是最终 用户想要通过交互系统完成的所有任务。一个任务模型应该不仅包括 最终用户所需要完成的任务,而且还应包括处理不同障碍环境的任务。 任务建模语言的排序符号没有足够的表现力去描述有障碍环境的计 划。一个可能的解决方案是为了有效地描述像有障碍环境那样的复杂 计划而建立的任务模型,对这个模型的前状态和效果进行附加使用。 前状态和效果的应用反映了基于模型建模的用户界面发展的另外一个 重要方面。为了明确表达在任务模型中的前状态和效果用户界面开发 1 l 山东大学硕士学位论文 者需要对域模型有一定的了解。那么,任务模型的开发和域模型的开 发是相关的。 任务模型的种类 预想任务模型:这个任务模型描述了最终用户计划使用交互系统执行 的任务。它是基于存在的任务模型的设计步骤的一个结果。 存在任务模型

温馨提示

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

评论

0/150

提交评论