(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf_第1页
(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf_第2页
(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf_第3页
(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf_第4页
(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)web界面中复杂行为建模及其代码自动生成.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 随着计算机与网络技术的发展,以及在人们的日常生活、工作与科研活动中 的广泛应用,人们对用户界面的要求也越来越高,对界面需求的多变性和可定制 性要求增加了界面设计开发的难度,同时针对某种特定平台或语言进行手工编写 代码实现用户界面的方法的局限性也逐渐显露出来。于是模型驱动、界面分离和 设计模式的思想逐渐被渗入到界面开发过程中,基于w e b 的用户界面的模型设计 和自动生成也成为软件工程的重要研究领域。 基于模型的界面开发是一个创建和重定义用户界面模型的过程,用户界面用 定义的模型来表示,能够帮助设计者集中于概念设计,避免过早地进行细节的设 计,同时使得一个界面的不同部分同它们所扮演的角色之间的关系更加清晰。f m p 模型是一种面向软件工程和支持用户界面自动生成的界面模型,它支持从需求分 析、设计直至编码的各个阶段。它由多个模型通过配合互动来实现界面的自动生 成。其中,功能模型和对象模型完成捕捉界面相关功能和数据信息的任务;交互 模型用于表达数据的信息和控制关系,是最终代码生成阶段的直接数据来源。展 示模型属于界面原型的可视化设计,用户利用界面模板创建自己所喜好的界面布 局和展示风格,并将其作为最终自动生成的用户界面原型。 然而上述方法仅仅能够完成有限的界面功能设计,对界面中较为复杂的行为 缺乏有效的建模和实现,严重制约着此类方法的工程化应用。由此,本文在对w 曲 用户界面的界面功能进行深入研究的基础上,总结了复杂行为最基本的三种组织 方式:顺序结构、选择结构和循环结构;然后以w e b 界面设计模式为基础,总结 了w e b 界面设计模式所提供的基本抽象操作集合,提出一种形式化的w e b 界面行 为描述语言,以此描述基本抽象操作的各种组织形式,实现了对基于w e b 的用户 界面中的复杂行为建模:最后代码生成引擎以所设计的行为模型作为输入,实现 复杂行为的代码自动生成。 文中着重阐述了对基于w e b 界面设计模式的形式化行为建模方法以及相应的 代码自动生成方法的研究。实验表明,由于利用了w e b 界面设计模式中提出的基 本操作,本文所述方法在w e b 用户界面设计的开发过程中具有极大的灵活性,提 高了界面设计模式的复用性。 关键字:界面设计模式;行为建模:代码自动生成 山东大学硕士学位论文 a b s t r a c t a st h ed e v e l o p m e n to fc o m p u t e ra n dn e t w o r kt e c h n o l o g y , t h e ya r en o w w i d e l y u s e di np e o p l e se v e r y d a yl i f e ,w o r ka n ds c i e n c er e s e a r c ha c t i v i t i e s 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 e ( u ) a r em o r ea n dm o r eh i 曲e r ,t l l ev a r i a b i l i t ya n dc u s t o m i z a t i o n r e q u i r e m e n t so fu ii n c r e a s et h ed i f f i c u l t yo fi n t e r f a c ed e v e l o p m e n t g r a d u a l l ya p p e a r s t h el o c a l i z a t i o no ft h em e t h o do fh a n d w o r kp r o g r a m m i n gt od e v e l o pu id u et oc e r t a i n s p e c i f i cp l a t f o r mo rl a n g u a g e t h e r e f o r et h ei d e a so fm o d e ld r i v e n ,i n t e r f a c ed i v i s i o n a n dd e s i g np a n e m sa l ei n t r o d u c e di n t ou id e v e l o p m e n t ,a n dm o d e l d e s i g n o f w e b b a s e du ia n da u t o m a t i cc o d e g e n e r a t i o na l s ob e c o m ea ni m p o r t a n tr e s e a r c h d o m a i no fs o f t w a r ee n g i n e e r i n g i nam o d e l b a s e da p p r o a c h ,u id e s i g ni st h ep r o c e s so fc r e a t i n ga n dr e f i n i n gu i m o d e l s ,u ii sr e p r e s e n t e db yd e f i n e dm o d e l s i tc a nh e l pd e s i g n e r st of o c u so nt h e c o n c e p td e s i g n ,a v o i d i n gp r e m a t u r ed e s i g nf o rd e t a i l s a tt h es a m et i m e ,i tm a k e st h e r e l a t i o n s h i pb e t w e e nd i f f e r e n tp a r t so fa l li n t e r f a c ea n dt h er o l e st h e yp l a yb e c o m e c l e a r e r f m pm o d e li so n ek i n do fi n t e r f a c em o d e l sw h i c ha r eo r i e n t e dt os o f t w a r e e n g i n e e r i n ga n du 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 i ts u p p o r t sa l lp h a s e sf r o m r e q u i r e m e n ta n a l y s i st od e s i g nu n t i lc o d i n g i t i m p l e m e n t s i n t e r f a c ea u t o m a t i c g e n e r a t i o nb yi n t e r a c t i o no fs e v e r a lm o d e l s f u n c t i o nm o d e la n do b je c tm o d e l c o m p l e t et h et a s ko fc a p t u r i n gr e l a t i v ei n t e r f a c ef u n c t i o na n dd a t ai n f o r m a t i o n i n t e r a c t i o nm o d e li su s e dt oe x p r e s sd a t ai n f o r m a t i o na n dc o n t r o lr e l a t i o n s h i p i ti st h e d i r e c td a t ao r i g i no ff i n a lc o d eg e n e r a t i o n p r e s e n t a t i o nm o d e lf i n i s h e sv i s u a ld e s i g no f i n t e r f a c ep r o t o t y p e u s e r st a k ea d v a n t a g eo fi n t e r f a c et e m p l a t et oc r e a t ei n t e r f a c el a y o u t a n dp r e s e n t a t i o ns t y l et h e yl i k ea n dc o n s i d e rt h i sa st h ep r o t o t y p eo ff i n a lu s e ri n t e r f a c e w h i c hi sg e n e r a t e da u t o m a t i c a l l y h o w e v e r , m e t h o d sm e n t i o n e da b o v ec a r l o n l yb eu s e df o rd e s i g n i n gl i m i t e d f u n c t i o n so fu i ,t h e ya r es h o r to fa b i l i t i e sf o re f f e c t i v em o d e ld e s i g na n dr e a l i z a t i o n m e a n sf o rc o m p l i c a t e db e h a v i o r so fw e bu i ,w h i c hs e v e r e l yl i m i t st h ee n g i n e e r i n g a p p l i c a t i o no ft h em e t h o d s t h e r eo u t ,b a s e do nl u c u b r a t i o ni ni n t e r f a c ef u n c t i o n so f w e bu i ,t h i sp a p e rs u m m a r i z et h r e eb a s i cw a y si nw h i c hc o m p l i c a t e db e h a v i o r sa r e o r g a n i z e d :s e q u e n c eo r g a n i z a t i o n ,c o n d i t i o no r g a n i z a t i o na n dr e p e t i t i o no r g a n i z a t i o n ; a n dt h e n ,b a s e do nw e bu id e s i g np a t t e r n s ,t h i sp a p e rs u m m a r i z ea g g r e g a t i o no fb a s i c o p e r a t i o n sw h ic ha r es u p p o r t e db yw e bu id e s i g np a t t e r n s ,t h e np r o p o s e saf o r m a l i z e d 山东大学硕士学位论文 d e s c r i p t i o nl a n g u a g ef o rw 色bu ib e h a v i o r , w h i c hc a r lb eu s e dt od e s c r i b eo r g a n i z i n g w a y so fb a s i co p e r a t i o n sa n dm o d e lc o m p l i c a t e db e h a v i o ro fw e bu i f i n a l l y , d e s i g n e d b e h a v i o rm o d e li su s e da st h ei n p u to fc o d eg e n e r a t i o ne n g i n e ,a n da u t o m a t i cc o d e g e n e r a t i o nf o rb e h a v i o rm o d e li sa c h i e v e dc o n s e q u e n t l y t h i sp a p e re m p h a s i z e sf o r m a l i z e db e h a v i o rm o d e l i n gm e t h o db a s e do nu id e s i g n p a t t e r n sa n dr e l e v a n tr e s e a r c ho na u t o m a t i cc o d eg e n e r a t i o n t h ee x p e r i m e n t a lr e s u l t s s h o wt h a tt h i sm e t h o di sg r e a t l yf l e x i b l ei nt h ed e v e l o p m e n to fw 曲u id e s i g na n d i m p r o v e st h er e u s a b i l i t yo fw b bud e s i g np a t t e r n sb e c a u s eo ft h eu s eo fb a s i c o p e r a t i o n ss u p p o r t e db yw 色bi j id e s i g np a t t e r n s k e y w o r d s :u s e ri n t e r f a c ed e s i g np a t t e r n s ;b e h a v i o rm o d e l i n g ;a u t o m a t i cc o d e g e n e r a t i o n i i i 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:轻日 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:轮导师签名: 山东大学硕士学位论文 1 1 课题的研究背景及意义 第一章引言 随着现代科技的发展,计算机与网络技术在人们的日常生活、工作与科研活 动中得到了广泛的应用。因此,基于w e b 的用户界面的模型设计和自动生成成为 软件工程的重要研究领域。 基于模型的界面开发方法m bu i d e s ( m o d e lb 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 s ) t 1 】把界面的设计分解为对不同模型的构造,定义包括任务、用户、展 示、会话和平台模型在内的多个模型,每一个模型都是对用户界面的某个方面的 详细描述。通过把注意力集中在界面的某个方面,模型可以用高度抽象和专业化 的标记来表达,从而使得界面更容易创建和维护。 e l k o u t b i 提出一种基于统一建模语言u m l 建立用户界面原型的需求工程过程 的方法 2 1 ,分别用p e t r i 网、协作图和状态图规范动态模型,最后自动产生界面原 型;s i l v a 3 1 提出了u m l i 的界面设计方法。它集成了u m l 和m b u i d e s 两种技术, 在保留u m l 表达系统模型的基础上,通过加入对交互任务的表达,能同时表达系 统行为和界面行为;文献【4 提出一种以交互为中心的p o s t w i m p 界面模型,将交 互的各个层次进行分离。它充分考虑了p o s t w - i m p 界面的交互特征,使设计者在 设计过程中不必关心设备实体与交互行为的连接实现,能灵活地进行组件选择。 文献【5 】提出的f m p 是一种基于界面设计模式的界面模型,通过对界面设计模式在 包括功能模型( f ) 、交互模型( m ) 和表示模型( p ) 中的实例化和定制,最终完成用户 界面的设计以及代码生成。 行为建模是模型驱动开发中的一个关键问题,它需要考虑对象的一系列的动 作语义,包括动作在何时触发,动作对系统的影响以及一系列动作之间的顺序, 并发等时空关裂6 1 ,而以集合和谓词逻辑为基础的形式化模型是行为建模的一种较 为有效的思路。形式化方法可以对自然语言描述提供消除歧义和精确定义的辅助 作用,并且可以通过严格证明以尽早发现描述错误【7 】。 然而,上述方法仅仅能够完成有限的界面功能设计和实现,对界面中较为复 杂的行为缺乏有效的建模和实现方法,严重制约着此类方法的工程化应用。 本文的研究意义在于,基于f m p 模型w 曲界面设计模式的基本抽象操作,提 山东大学硕士学位论文 出一种形式化的复杂行为描述语言,由此设计并实现了一种用户界面中复杂行为 的模型设计方法,并能有效支持目标代码的自动生成。由于本方法利用了界面设 计模式中提出的基本操作,扩展了基于模型的用户界面开发方法中交互模型的建 模能力,提高了w e b 用户界面设计过程中的适应性和可复用性。 1 2 本文的主要工作和创新点 基于模型的用户界面开发方法的研究主要是集中在用户界面的布局、展示和 生成上,缺少对交互模型的扩展及复杂行为建模方面的研究,对w e b 用户界面中 较为复杂的行为缺乏有效的建模和实现方法。本文在对w 曲用户界面中的复杂交 互行为进行深入研究的基础上,总结了复杂行为最基本的三种组织方式:顺序结 构、选择结构和循环结构;在此基础上根据w e b 界面设计模式所提供的基本抽象 操作集合,提出一种形式化的w e b 界面行为描述语言,以此描述基本抽象操作的 各种组织形式,实现了对基于w 曲的用户界面中的复杂行为建模;最后代码生成 引擎以所设计的行为模型作为输入,实现复杂行为的代码自动生成。 1 3 本文的组织结构 本文共分六章,第一章引入课题并叙述课题的研究背景、意义,概述本文的 主要工作和创新点;第二章对国内外相关研究进行了综述。第三章讨论了基于界 面设计模式的复杂行为建模方法。第四章以a s e n e t 为目标代码平台,介绍了复 杂行为建模方法在代码自动生成中的应用及代码生成算法。第五章以一个实例详 细说明复杂行为模型设计及代码自动生成的过程。第六章为文章的结束语,总结 了本文所做的工作和下一步需要完善的工作。 2 山东大学硕士学位论文 第二章国内外相关研究 2 1 模型驱动体系结构 模型驱动架构m d a t 8 l ( m o d e ld r i v e na r c h i t e c t u r e ) 是对象管理组织o m g 定义 的一种模型驱动开发实现方法,它是基于元对象设施m o f ( m e t ao b j e c tf a c i l i t y ) t g l 、 统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 1 0 】、公共数据仓库元模型 c w m ( c o m m o nw a r e h o u s em e t a m o d e l ) 1 1 1 】、x m l 元数据交换x m i ( x m lm e t a d a t a i n t e r c h a n g e ) 12 ,1 3 1 等技术标准的软件开发框架。m d a 的关键之处是,模型在软件开 发过程之中扮演了非常重要的角色,它将业务逻辑设计从不同的中间件平台 ( j a v a ,n e t ,c o r b a ,w e bs e r v i c e 等) 中分离出来。在m d a 中,软件开发过程 是由对软件系统的建模行为驱动的。与u m l 相比,m d a 能够创建出机器可读和 高度抽象的模型,这些模型以独立于实现的技术开发,以标准化方式存储。因此 这些模型可以被重复访问,并被自动转化为纲要,代码框架,测试工具,集成化 代码以及各种平台的部署描述。 2 1 1m d a 的基本框架 ( 1 ) 模型驱动开发的基本框架 传统上,从模型到模型的转换,或者从模型到代码的变换,主要是手工完成 的。许多工具可以直接从模型生成一部分代码,但是往往只是生成一些模板代码, 大部分工作还是需要手工完成。模型驱动开发的主要步骤如图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 生成一个基本可运行的应用程序。 山东大学硕士学位论文 回咽日回日囡日回 图2 1 模型驱动开发的主要步骤 模型总是以某种语言表述的。可以是u m l ,也可以是自然语言,或者某种编 程语言。为了支持模型的自动转换,需要对模型或模型描述施加一定的限制或约 束。 ( 2 ) 模型驱动开发的优点 应用m d a l l 4 1 总结了模型驱动开发方法的优点: 提高生产效率:模型驱动开发使开发者的焦点转移到了p i m 的设计和开发上。 所需的p s m 是通过变换自动从p i m 生成的。变换只需要被定义一次,然后就可以 在开发中多次应用这个变换。不必关注目标平台的细节,技术细节会通过从p i m 的变换自动加入p s m ,因此提高了生产效率。 增强可移植性:可移植性是通过把开发焦点转移到p i m 而获得的。因为p i m 是跨平台的、与平台无关的。同一个p i m 可以被自动变换成多个不同平台上的 p s m 。因此在这个意义上,p i m 层次上定义的所有东西都是完全可移植的。 支持互操作性:如图2 2 所示,从一个p i m 生成的多个p s m 之间可能会有联 系。这种联系被称为桥接器。不同平台间的p s m 不能直接联系。需要把一个平台 的概念转换到另一个平台,这称为互操作性。因此还需要生成p s m 之间的桥接器。 p i m 4 山东大学硕士学位论文 2 1 2m d a 模型的转换 m d a 模型间的映射就是用于将一个模型转换为另一个模型的规则和技术。为 了实现这些转换必须要了解作为输入和输出的元模型及它们之间的映射规则。工 具对m d a 模型间转换的支持是多种多样的,很多年前就有工具能支持从模型生成 简单的代码,这也包含在m d 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 2w e b 用户界面开发 2 2 1 基于模型的用户界面开发 从不同角度出发分析同一个用户界面时,会得出侧重点不同的界面描j 虚1 1 5 , 1 6 。 将精力集中到用户界面的某个独立方面上,并用某种专业标准符号体系来定义描 述时,这样就得到了一个用户界面模型。一个用户模型就是用户界面一些独立连 接部分的陈述说明,界面模型可以分为概念模型1 7 l 和陈述模型1 8 1 两类。 ( 一) 概念模型 概念模型简单说就是抽象程度极高的一种模型。软件工程概念模型是对软件 工程领域进行抽象描述的模型,它能够使我们对软件工程有一个完整把握。概念 模型着重描述了界面构成以及界面元素间的逻辑概念关系,为抽象界面模型到实 际界面的转换提供了良好的基础和结构概念。 山东大学硕士学位论文 用户界面的概念模型采用三种基本的模型支持界面的自动生成,即应用模型 ( a p p l i c a t i o nm o d e l ) 、对话模型( d i a l o gm o d e l ) 平 i 表示模型( p r e s e n t a t i o nm o d e l ) 。该类 模型的典型代表有s e e h e i m t l 9 1 、m v c 和p a c 模型。 ( 1 ) s e e h e i m 模型 这是最早提出的用户界面模型。该模型将用户界面划分为3 个部分:表示部 分涉及界面的外部表示,界面的其他部分不能与外部直接通信;对话控制部分指 定用户和系统之间的对话结构:应用界面模型部分建立与应用语义之间的通信联 系,描述界面可访问的数据结构和例程,并负责调用这些例程。在逻辑上这3 个 部分是相互独立的,它们之间通过发送单词来进行通信口0 1 。 s e e h e i m 模型本身是基于语言的模型。3 个部分分别对应于词法、语法和语义 3 个层次。该模型的一个显著特征是强调对话控制部分的作用。虽然它处理的对话 交互逻辑是线性的,但它为其它模型奠定了理论基础。 ( 2 ) m v c 模型 基于m v c 的概念并考虑对c s 和b s 平台的适应性,界面代码的体系结构定 义静态展示、逻辑支持和后台资源的三层结构。这样做是为了获得层间松散的耦 合和较强的层内聚集2 1 1 。 静态展示层是界面展示的层,因此也是数据输入输出的层。该层由输入输出 控件和可见部件组成。对于输入进行局部约束和检查的代码也属于该层。逻辑支 持层是对外部服务的调用、视图层的事件响应和视图刷新处理的服务层。该层与 界面展示层和界面功能具有松散的关联。后台资源层是用于外部数据和部件服务 的提供层。不同系统和部件服务是该层的主要组成,其中多数是系统提供的现存 代码或预制的组件。 ( 3 ) p a c 模型 p a c 模型从系统角度将系统分为三个部分:抽象层( a b s t r a c t i o n ) 、控制层 ( c 0 n t r 0 1 ) 和表达层( p r e s e n t a t i o n ) 。抽象层负责与功能内核的交互;控制层负责接收 外部的控制,并将控制传递给外部,他与抽象层直接交互;表达层负责与用户直 接交互,包括输入和输出,表达层与控制层可以直接交互。该模型的表达层通过 控制层与抽象层进行通信。 m v c 和p a c 模型属于面向对象的多代理模型,其突出特点是模块化、并行和 山东大学硕士学位论文 分布式处理,已经成为界面控制和实现的概念基础。但概念模型以概念为主,缺 乏面向设计的工程实施表达,其应用依赖于设计者的认识和运用。 ( 二) 陈述模型 陈述模型从软件工程的过程出发,利用各种模型表达和把握界面的需求和构 成。构建用户界面时不同的设计方法使用了不同的陈述模型。陈述模型依据用户 如何指定页面的布局和动态行为可分为两类。第一类是基于语言的,非常容易支 持用户界面控制的范围,但问题是开发者必须指定布局、位置和每个界面对象的 格式:第二类是图形交互工具,可以很自然的创建用户界面而且可以让非程序员 使用,缺点是必须使用程序语言来添加对话框控制规范。 基于模型的用户界面开发环境【1 】一般包括任务、域、表示、对话、用户模型等 和一个由这些模型组成的并且能够操纵的环境。 t a s km o d e l ( 任务模型) :任务模型描述了最终用户计划使用交互系统执行的任 务。它是基于存在的任务模型的设计步骤的一个结果。任务模型常用于描述应用 系统完成功能时执行的操作序列,任务模型可以帮助理解应用系统,支持有效的 设计,帮助进行易用性评价,并且可以重用任务设计模型。c o n c u r t a s k t r e e s 是较 为典型的满足工程化要求的一个任务模型。该模型是由意大利的f a b i op a t e m o 最 早在1 9 9 8 年提出的,发展至今,已经有c t t e 工具支持。但是任务模型方法主要 强调任务的分析,而且对象结构和关系对于界面复杂性的影响缺乏直观和全面的 研究,影响了模型的描述能力。 2 2 2 基于模型的w e b 开发 在w e b 应用的开始阶段,w e b 仅作为信息中介和信息发布的平台。随着w e b 应 用的规模和复杂度日益增加,w e b 已经成为各种应用的主要平台。和传统的w e b 站 点相比,w e b 应用程序不但支持导航和浏览,而且其操作还会影响内容和导航状态。 这使得w e b 应用的开发更加复杂。目前w e b 应用的工程化系统化方法已经成为w e b 应用开发研究的主体【2 2 】。 目前w e b 应用的开发建模方法主要有以下几种:o o h d m 、u w e 、w e b s a 2 3 】 及h d m 、w m m 等等。w 曲应用开发方法的共同点在于一般将w e b 系统模型分为领 域模型、导航模型和展示模型,经过概念建模、逻辑建模、物理建模和实现四个 过程完成w e b 系统开发。其中领域、导航、展示模型分别描述系统的不同侧面,可 7 山东大学硕士学位论文 以看成是w e b 模型的不同视图。领域模型描述w 曲应用中的领域对象及其关系,是 导航模型的基础;展示模型描述w 曲页面的展示形式,是对导航对象和导航行为的 最终体现;而导航模型是w e b 模型区别于传统系统模型的重要部分,描述了w e b 应 用的导航特性,起着衔接领域模型和展示模型的作用。 目前现有的w e b 应用开发方法将传统的软件工程技术和w e b 应用程序的超媒 体特性较好的结合起来,取得了一定的成功。然而这些开发方法更多的是从规范 化设计的角度,而没有从工程化应用的角度出发,具有一些不可忽视的缺陷,阻 碍了上述开发方法在复杂的w e b 应用程序开发中的广泛应用,主要表现在: ( 1 ) 缺乏对复杂功能建模的支持。 ( 2 ) 模式支持和利用不够。 ( 3 ) 模型之间缺少清楚和自动的映射。 ( 4 ) 领域层、导航层和展示层三个层次之间的关系不密切,模型间容易出现不 统一。 ( 5 ) 缺少开发工具的支持。 ( 6 ) 缺少对非功能需求的支持,对软件体系结构重视不够。 2 3 用户界面设计模式 2 3 1 用户界面设计模式简介 用户界面设计模式首先由b o t c h e r s t 2 4 1 提出,其中指出模式如何被移植到用户 交互设计中。w e l i e l 2 5 1 指出设计可用的系统是困难的,模式已成为解决界面设计问 题的一个可能的方法。模式关注于问题的上下文和设计方案,这个方案引导设计 者应用设计知识解决问题。探索了如何建立用户界面设计模式,提出了用户界面 设计模式的组成结构,以便使界面设计模式成为设计者的有效的、可用的工具。 a c o s t a t 2 6 1 应用w e l i e 2 0 0 0 给出一个建立用户界面的方法,并将此方法集成到软件开 发过程中。m o l i n a e 2 7 , 2 8 , 2 9 幂1 o s c a rp a s t o rj u s t - u i t 3 0 1 提出了一个基于概念模式的抽象 用户界面描述模型,并应用到界面自动生成中。同时,引入了一个图形符号,使 描述更方便。j u s t - u i 在用户界面中识别模式并且依据问题域抽象它们。这个模型 基于概念模型来获取基本的u 需求,传统的u m lc a s e 工具,例如r a t i o n a lr o s e , t o g e t h e r 或a r g o ,不能明确地考虑u i s 的规范,但是这些汇集集中讨论设计问题而 不是分析问题,而且没有给出如何正确规范与系统相关的界面模式。g r a n l u n d 通 山东大学硕士学位论文 过研究全面的面向用户的界面设计过程,提出用基于模式的p s a 方法设计用户界 面。p s a 的使用范围很广,不仅处理设计阶段的模式而且设计阶段之前也有设计 模式。需进一步解决的问题有:模式健壮性、模式能否一直保持易通信性等。 界面设计模式u i d p ( u s e ri n t e r f a c ed e s i g np a t t e r n s ) 是设计模式在界面设计方面 的应用和发展。用户界面的设计者同样注意到特定的用户界面设计问题反复出现, 他们试图构建标准可复用的解决方案,来帮助解决常见、难度较大、带有普遍性 的界面设计问题【3 。因此用于归纳用户界面设计解决方案的用户界面设计模式越 来越受到计算机研究人员的重视。s i g c h l 9 7 t 3 2 】关于模式的专题讨论会上把用户界 面设计模式作为解决日益复杂和多样的人机交互设计的有效方法和手段。 t i d w e l l t 3 3 】描述模式为“针对在一个特定的环境中带有普遍性的设计问题的可能 的好的解决方案,通过描述这些解决方案中不变的属性。”模式能够以一致的易于 阅读和理解的方式提供强有力的一般的设计指导,是关于优秀设计知识的表达。 当前存在一些界面设计模式,只不过主要是从工作模式上考虑,针对某一个应用 问题给出一个设计模式,而不是从界面自动生成的角度去识别界面设计模式的结 构及其关系,因而不能很好地为工程化的界面设计服务。同时,目前给出的设计 模式大部分没有形式化的描述,因而不利于界面自动生成。 2 3 2f m p 模型 f m p 界面模型由三部分组成:f ( f u n c t i o n ) 功能模型、m ( m o d e l ) 内部模型和p ( p r e s e n t a t i o n ) 展示模型。 功能模型和对象模型捕捉与界面相关的功能和数据信息,用交互模型表达这 些信息和控制关系,然后依据交互模型的描述,利用展示模型建立内部对象和外 部显示元素的对应关系,在界面模板和参数化的支持下,规划界面构成和布局, 从而实现用户界面的自动生成。文献 3 4 1 对该模型有很详细的介绍,在此不再赘述。 2 4 形式化方法与行为模型 2 4 1 形式化方法与界面设计简介 当前界面开发研究的共同目的是实现界面开发的自动化。形式化方法能为界 面信息的准确描述提供技术基础,其特有的描述的精确性和无二义性被许多研究 人员用于界面设计。 9 山东大学硕士学位论文 以加拿大d o nc o w a n 教授为领导的工作组在形式化与界面设计中进行了相当 深入的研究。抽象设计对象抽象设计视图( a d o a d v ) 从抽象数据对象与抽象数据 视图观点两个方面建立了各种关系及其所遵循的原则p 5 1 ,同时将各种软件模式与 a d o a d v 抽象理论进行对应以利于真正的界面实现3 6 1 。a d o a d v 提出了底层数 据对象与可视对象之间的关系及其形式逻辑,确立了形式逻辑在界面设计上的地 位。但是真正的实现框架没有建立,仅仅根据不同的情况做不同的软件设计模式 的选择,因此,仍属于高层的抽象,而不是具体界面开发实现方法的探讨。 g e r m a n 3 刀提出一个具有形式语义和语法的面向对象描述语言h a d z e 。它基于 z 和z + + ,指出超媒体应用的规范从概念框架、结构框架和视图框架三个方面进行, 并将这些规范用于不同的应用环境和超媒体平台。g e r m a n 建立了一种符合m v c 体系结构的【38 1 、超媒体应用规范的形式化方法,强调了形式化方法的作用。 针对许多用户界面模型缺乏严格的描述和关键性质的定义和证明问题,朱军 等人【3 9 1 提出个基于l o t o s ( 1 a n g u a g eo ft e m p o r a lo r d e r i n gs p e c i f i c a t i o n ) 署l la c t l ( a c t i o nb a s e dt e m p o r a ll o g i c a l ) 形式化语言的用户界面的通用模型,对其进行准确的 描述和性质的定义,这有利于人们对交互式用户界面的动态行为进行研究、评估 与定义。但是,它只是从用户界面的行为特性考虑,而没有考虑用户界面的静态 特征。另外,即使是一个非常简单的行为描述,应用l o t o s 也容易产生复杂的表 达式。 形式化方法为界面信息的准确描述提供了技术基础,能够在设计的早期阶段 发现错误,有助于缩短开发周期,保证开发质量,能够支持形式化的验证机制。 这些研究充分说明形式化方法在软件工程领域以及界面开发领域的广泛应用。从 这些研究给出的示例也可以看出,这些示例都相对较小,如果单独地用形式化去 规范较大的界面系统会增加系统开发的难度,因此单纯地使用形式化方法来实现 当前系统化、工程化的界面开发是不可行的。另外,这些研究只是全面地规范界 面以及行为,没有考虑规范可重用的界面设计知识。 2 4 2 行为模型简介 c o n r a db o c k 在t h r e ek i n d so f b e h a v i o rm o d e l i 加1 中提出了三种行为模型:控制 流( c o n t r o lf l o w ) 模型、数据流( d a t af l o w ) 模型和状态机( s t a t em a c h i n e ) 模型,并探 讨了如何进行面向对象的行为建模。每种行为模型都要解决两个问题:每一步何 时开始以及每一步的输入在何时确定。 山东大学硕士学位论文 ( 1 ) 控制流模型 控制流模型也许要考虑其它的条件,但是不用考虑每一步骤的输入,当其它 步骤结束后,下一个步骤就开始了。每一步的输入是在步骤之间的转换时确定的, 但不是一个步骤开始执行的必须条件,对于输入如何确定也没有限制。控制流模 型是最古老、最流行的行为模型,被命令语言( c ,j a v a ,b a s i c ,a d a ,f o r t r a n , c o b o l 等) 所使用,曾经用流程图描述,也是描述事务模型最常用的方法。 ( 2 ) 数据流模型 在数据流模型中,每个步骤都是在其它步骤为它提供输入后才开始的。每一 个步骤的输入直接由其它步骤的输出确定。数据流模型是功能语言( 如l i s p ) 的基 础,而p e t r i 网则是加入了排队特征的数据流行为模型。数据流模型最常见于制造 业的流水线中。 ( 3 ) 状态机模型 状态机模型所工作的环境中的事件何时发生是状态机的每一个步骤执行的基 础,而每一个步骤的输入是作为这个步骤本身的一部分来计算的。状态机是u m l 行为模型的基础,最常应用的领域则是嵌入式实时系统。 2 5 代码自动生成 2 5 1 代码自动生成的概况 规模越来越大的应用系统中存在大量的重复性代码模块,使得编写与维护的 工作量很大,因此促成了对代码自动生成领域的研究。随着软件体系结构与设计 模式1 4 1 1 的研究与发展,在一定程度上减少了设计开发中重复代码过多这一问题的 影响。 传统意义上的代码生成,首先识别应用源代码中经常出现的重复性代码,然 后自动生成这些重复部分来代替手工编写的目标代码。如果没有代码生成工具, 开发者将手工书写所有代码,虽然这样可以得到灵活性较高的产品,但是使用代 码自动生成可以更加降低成本,减少出错率,使可靠性更强 4 2 , 4 3 。 代码自动生成过程主要包括以下三个部分: ( 1 ) 模板:特定系统代码片段,组成系统的相对稳定的部分,它可以被灵活组 山东大学硕士学位论文 织成不同的表现形式。 ( 2 ) 实例模型:系统中的模型实例信息,可以认为是系统模型的形式化描述。 ( 3 ) 生成文本:输出结果文件,可以包括系统的源代码、文档等。 2 5 2 目前对代码自动生成的研究 文献 4 4 1 0 0 提出了一种基于模型的j a v a 代码自动生成方法。文献 4 5 1 d 0 提出 了一种基于x m l 的半自动化的w 曲应用代码自动生成方法。文献 4 6 1 d 0 总结了当 前代码生成器并将其分为三类,指出目前主要是基于模板的代码生成器。它使得 模板与生成器分离,增加了代码生成的灵活性,同时设计模式也被考虑加入到代 码生成中。 文献 4 7 1 提出了设计模式的建模及用于自动生成的描述方式,在一定程度上增 强了生成系统的可维护性,但是其组织模式的方法复杂,模式不易于维护。文献 4 8 】 中提出了一种基于模板与代码模式的w 曲应用自动生成方法。以上方法,在一定 程度上实现了部分代码的自动生成,但基本上不是针对整体应用系统,并且缺乏 目标系统框架的支持。 根据代码生成器的一般性定义可以看出,代码生成器工作的不可缺少的前提 之一是必须有目标系统的信息描述,即系统的形式化描述。在一定程度上有助于 改善代码生成器的结构,提高代码生成效率。同时也为使代码自动生成成为工程 化方法提供一定支持。 2 5 3 代码自动生成系统

温馨提示

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

评论

0/150

提交评论