(产业经济学专业论文)基于WebML的Web应用程序建模研究.pdf_第1页
(产业经济学专业论文)基于WebML的Web应用程序建模研究.pdf_第2页
(产业经济学专业论文)基于WebML的Web应用程序建模研究.pdf_第3页
(产业经济学专业论文)基于WebML的Web应用程序建模研究.pdf_第4页
(产业经济学专业论文)基于WebML的Web应用程序建模研究.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

对外经济贸易大学硕士论文 摘要 w e b 应用程序是l t 界近年来的热门词汇,越来越多的软件项目采用w e b 应用程 序架构构建。w e b 应用程序的复杂度也越来越高、规模越来越大。对w e b 应用程序建 模的问题也随着这些变化而涌现出来。模型提供了系统的蓝图,模型既可以包括详细 的计划,也可以包括从很高的层次考虑系统的总体计划。建模是为了能够更好地理解 即将开发的、正在开发的或已经开发的系统。通过建模,有助于按照实际情况或按照 所需要的样式对系统进行可视化,能够规约系统的结构或行为,给出了指导构造系统 的模板,对做出的决策进行文档化。 目前,w e b 应用程序开发缺乏严格和系统的建模方法,大多数应用开发和管理实 践在很大程度上依赖于开发人员个人的知识和经验,造成的后果是所开发的w e b 系统 大多是低质量的产品。而传统的软件工程方法又不能适应w e b 设计的要求,为此人们 研究提出了众多的w e b 开发方法。w e b m l 是国外研究机构提出的一门专用于w e b 应 用程序领域的建模语言。本文希望通过w e b m l 的实际应用,研究w e b m l 给w e b 应 用程序建模带来的好处以及不足的地方。针对它的不足,提出本文的解决方案。本文 的另一个重点是比较u m l 和w c b m l 对w e b 应用程序建模。 由于本文研究的建模对象是w e b 应用程序,所以首先研究了w e b 应用程序建模的 三个重点,数据架构、业务逻辑和表示层。接着概述专门应用于w e b 应用程序领域的 建模语言w e b m l 。简要介绍w c b m l 的三种模型,数据模型、超文本模型和个性化模 型,以及它的一些元素的语义、语法和图形化表示方法利用支持w e b m l 的c a s e 工具w e br a t i o 对某网上图书销售系统建模。并利用本文提出的业务逻辑模型,对该网 上图书销售系统的业务逻辑进行建模。通过w c b m l 的实际使用向读者展示w e b m l 对 w e b 应用程序建模的能力以及带来的好处最后则是比较了w e b m l 和u m l 在这几个 方面的建模能力以及它们的不同点和相同点。 关键词:w e b m l u m l 建模w e b 应用程序 对外经济贸易大学硕士论文 a b s t r a c t i nr e c e n ty e a r s ,w e ba p p l i c a t i o ni sah o tw o r di ni ti n d u s t r y m o r ea n dm o r es o f t w a r e p r o j e c t sb u i l do nt h es c h e m ao ft h ew e ba p p f i c a f i o n b u tm a n yc o m p a n i e sa r en o w e x p e r i e n c i n gs e v e r ep r o b l e m si nt h em a n a g e m e n to fw e ba p p l i c a t i o n s ,a st h e s eg r o wi ns i z e a n dc o m p l e x i t y m o d e l i n gt h ew e ba p p l i c a t i o na l s oc o m ew i t ht h i sc h a n g e m o d e lp r o v i d e s t h eb l u e p r i n to ft h es y s t e m m o d e lc a nc o n t a i nd e t a i lp l a n so ft h es y s t e m ,a l s oc a nc o n t a i n o v e r a l lp l a no ft h es y s t e mi nah i g hc o n c e p t u a lp e r s p e c t i v e t h er e a s o no fb u i l d i n gm o d e li s t ob e t t e ru n d e r s t a n dt h es y s t e mt h a tw i l lb e d e v e l o p e d ,o rb e i n gd e v e l o p e d , o rh a v e d e v e l o p e d b u i l d i n gt h em o d e lo ft h es y s t e mc a l lm a k ei tv i s u a l i z ea n dm a n i p u l a t et h e s t r u c t u r ea n db e h a v i o ro ft h es y s t e m c u r r e n t l y , w e ba p p l i c a t i o nd e v e l o p m e n td o m a i ni sl a c ko fm o d e l i n gm e t h o d m o s to ft h e d e v e l o p m e n ta n dm a n a g e m e n to fw e ba p p l i c a t i o nr e l i e so nt h ek n o w l e d g ea n de x p e r i e n c e s o ft h ed e v e l o p e r s ,w h i c hr e s u l ti nt h a tm a n yo ft h ep r o d u c t sa r ei n f e r i o r h o w e v e r t r a d i t i o n a l m o d e l i n gm e t h o d o l o g i e sc a l ln o tf u l f i l lt h er e q u i r e m e n t so ft h ew e ba p p l i c a t i o nd e s i g n f o r t h i sr e a s o n ,m a n yo r g a n i z a t i o n sa n dr e s e a r c h e r sa r ed e d i c a t e dt op r e s e n tan e wm o d e l i n g l a n g u a g es p e c i f i e di nw e ba p p l i c a t i o nm o d e l i n g w e b m li so n eo ft h er e s u l t s ,p r e s e n t e di n 2 0 0 0f i r s t l y t h i sp a p e rf o c u s e so ns t u d yt h eb e n e f i to ft h ew e b m lw h e nu s e di nw e b a p p l i c a t i o nd e v e l o p m e n tc y c l et h r o u 曲c a s es t u d y a c c o r d i n gt oi t sd r a w b a c k ,t h i sp a p e r p r e s e n t e das o l u t i o n a n o t h e re m p h a s i so ft h i sp a p e ri st h ec o m p a s s i o nb e t w e e nw e b m la n d u m l b e c a u s et h em o d e l i n go b j e c t sa r ew e ba p p l i c a t i o n s ,s ot h i s p a p e rs t u d i e do nt h e i m p o r t a n tf a c e to fg e n e r a lw e ba p p l i c a t i o n si nm o d e l i n g , d a t as t r u c t u r e , b u s i n e s sl o g i c , p r e s e n t a t i o n t h i sp a p e ri n t r o d u c e dt h ew e b m l , am o d e l i n gl a n g u a g es p e c i f i e di nw e b a p p l i c a t i o nd o m a i n e x p o u n dt h et h r e em o d e lo fw e b m l , d a t am o d e l , h y p e r t e x tm o d e la n d p e r s o n s l i z a t i o nm o d e l f o l l o w i n gt h a t , u s i n gt h ec a s et o o lw e b r a t i om o d e l e daw e b a p p l i c a t i o nw h i c hb eu s e dt os e l lb o o k so ni n t e r a c t s h o wt h ea c t u a lu s eo ft h ew e b m lt o r e a d e r sa n dt h eb e n e f i to fi tt a k e s , a n du s et h i sp a p e r ss o l u t i o nt om o d e lt h eb u s i n e s sl o g i c o ft h ew e ba p p l i c a t i o n i nl a s tc h a p t e f t h ep a p e rc o m p a r e dw e b m lw i t hu m l ,c o n c l u d e d t l l ed i f f e r e n c eb e t w e e nt h e m k e y w o r d s :w e b m l u m l m o d e l i n gw e ba p p l i c a t i o n 2 对外羟济贸易大学硕士论文 1 1 序言 第一章绪论 个人英雄式编程现象在软件开发领域非常普遍。如果在合适的时间有合适的人员, 并且其他一切条件满足,开发团队有可能( 仅是可能) 开发出满足用户需求的软件产 品。然而,更为普遍的情况是,不可能所有人员都合适,时间并不总是恰当,其他的 条件也并不尽如人意。而且现在的软件越来越大,大多数软件的功能都很复杂,使得 软件开发只会变得更加复杂和难以把握。解决这类复杂问题最有效的方法之一就是分 层理论,即将复杂问题分为多个问题逐一解决。为了建立复杂的软件系统,我们必须 抽象出系统的不同视图,使用精确的符号建立模型,验证这些模型是否满足系统的需 求,并逐渐添加细节信息把这些模型转变为实现。软件项目失败的原因各不相同,而 所有成功的项目在很多方面都是相似的。成功的软件组织有很多成功的因素,其中共 同的一点就是对建模的采用。 那么,模型是什么? 简单地说:模型是对现实的简化。 模型提供了系统的蓝图。模型既可以包括详细的计划,也可以包括在很高的层次 上考虑系统的总体计划,一个好的模型包括那些有广泛影响的主要元素,而忽略那些 与给定的抽象水平不相关的次要元素。每个系统都可以从不同的方面用不同的模型来 描述,因而每个模型都是一个在语义上闭合的系统抽象。模型可以是结构性的,强调 系统的组织。它也可以是行为性的,强调系统的动态方面。 为什么要建模? 一个基本理由是:建模是为了能够更好地理解正在开发的系统。 通过建模,要达到4 个目的: ( 1 ) 模型有助于按照实际情况或按照所需要的样式对系统进行可视化。 ( 2 ) 模型能够规约系统的结构或行为。 ( 3 ) 模型给出了指导构造系统的模板。 ( 4 ) 模型对做出的决策进行文档化。 建模并不只是针对大的系统。很小的软件也能从一些建模中受益。然而,可以明 确地讲,系统越大、越复杂,建模的重要性就越大,一个很简单的原因是:因为不能 完整地理解一个复杂的系统,所以要对它建模。 人对复杂问题的理解能力是有限的。通过建模,缩小所研究问题的范围,一次只 着重研究它的一个方面,即把一个困难问题划分成一系列能够解决的小问题;解决了 这些小问题也就解决了这个难题。一个适当选择的模型可以使建模人员在较高的抽象 对外经济贸易大学硕士论文 层次上工作。 建模能帮助软件开发人员更好地对系统计划进行可视化,提早看到系统的将来, 便于设计人员理解和交流,并帮助他们正确地进行构造,使开发工作进展得更快。有 效的软件模型有利于分工与专业化生产,从而节省生产成本。如果根本不建模,项目 越复杂,就越有可能失败或者构造出错误的东西。所有系统都有一个自然趋势:随着 时间的推移变得越来越复杂 w e b 应用程序程序伴随i n t e r n e t 的出现,以其部署简单,客户端所需配置低等优点 受到了企业的青睐。越来越多的企业采用w e b 应用程序构建自己的系统。甚至一些关系 到国家民生的重要行业( 如金融业、国防、电信等) 也采用w e b 应用程序担负着它们的 业务活动。两随着企业的不断发展、业务规模的不断扩大使得w e b 应用的结构越来越 复杂、规模越来越庞大。这些企业面临管理日益复杂的w e b 应用程序的巨大挑战。为了 避免了技术风险、财务风险或实际的构建风险,对w e b 应用程序建模就显得非常关键。 为了满足日益增强的w e b 应用程序建模需求,w 3 1 3 项目。提出了w e b m l ( w e b m o d e l i n gl a n g u a g e ) ,专门应用于w e b 应用程序领域建模的语言。它使w e b 应用程序程 序设计师能够描述w e b 应用程序的核心特征,而无需关心具体的架构细节。它使架构师 及其他人员能够可视化整个系统,评估不同选择,并且更清晰地交流设计。 1 2 研究目标 本论文有三个研究目标:一是介绍w e b m l ( w e bm o d e l i n gl a n g u a g e ) ,专用于w e b 应用程序的建模语言。通过本论文使w e b 立用程序开发者们关注w e b m l ,了解w e b m l 的基本元素、图形符号和模型二是w e b m l 的实际应用以及w e b m l 的改进应用 w e b m l 设计开发w e b 应用程序,并在这个过程中总结发现w e b m l 的特点以及w e b m l 适合为什么样的w b b 应用程序建模,为w e b m l 的实际应用提供参考。三是w e b m i 和 u m l o ( 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 与w 曲m 埘w 曲应用程序数据结构、 业务逻辑和表示层建模,挖掘它们之间的相同点和不同点以及在w e b 应用程序建模方面 的优缺点,为广大的w e b 应用程序开发组织或个人对建模语言的选择提供参考。 1 3 问题界定 本论文中的w e b 应用程序定义为一个有业务逻辑的软件系统,业务逻辑都是通过浏 mw w w i n t e l l i g e n ti n f o r m a t i o ni i 岫l x l c g l t g g : ou m l 是一种通用的可税化建模语亩,用于对软件进行描述,可搅化处理、构造和建立软件系统1 二件的文档 2 对外经济贸易大学硕士论文 览器激发的。业务逻辑是由规则和形成系统的业务状态的过程组成。比如订购货物、 计算价格、银行转账。如果服务器上没有业务逻辑存在,系统将不被称为w e b 应用程序。 1 4 研究内容 1 、应用w e b m l i 受计开发w e b 应用程序研究,挖掘w e b m l 的特点及不足,改进 w e b m l 。 2 、w c b m l - l j u m l 在w e b 应用程序建模方面的比较。 1 5 研究方法 本论文的研究方法是文献研究和应用研究。本人阅读了大量有关w e b m l 和u m l 方 面的论文、期千u 和书籍。由于w e b m l 发展的时间不是很长,而且实际应用也不是很广 泛,尤其国内w e b m l 的研究应用非常少,所以w e b m l 的图书资料相对非常少。w e b m l 的文献资料主要是期刊和论文,所收集的论文大部分来t 刍w e b m l 的官方网站 h n p :a v w w w e b m l o r g ,保证了论文的价值。u m l 的文献资料则包括图书和期刊。因特 网已经成为查找文献资料的一条重要途径。为了确保文献的科学性和权威性,本人选 择权威的文献数据库查找文献资料,如中国学位论文全文数据库、中国学术期刊全文 数据库等。通过文献研究本人对w e b m i 和u m l 有比较透彻的理解,应用支持w e b m l 的c a s e o i 具w e b r a t i o 实际应用w e b m l 建模,完成第一项和第二项研究内容。 。c a s e 足英文c o m p 口m r a i d e ds o l , w a r ce a g i a c e r i n g 的缩写,主要足指利用一整套的方法和工具对系统觑则进行建 模并自动生成合适的程序 3 对外经济贸易大学硕士论文 第二章w e b 应用程序建模 任何模型都是现实的简化。除了便于理解之外,模型也是一种交流机制,允许一 个团队利用一种通用语言与另一个团队进行交流。模型使得我们可以把问题分成可控 制的片段。模型和建模的真正价值在于它通过一个特殊的视点来看一个系统的简化形 式,通过这个视点,系统变得更加易于理解,如果模型与被建模的事物一样复杂,那 么建模就几乎没有意义。 我们利用模型来理解复杂事物,w e b 应用程序模型就是我们理解w e b 应用程序的方 法。模型是事物的抽象,那么事物不同事务的抽象,模型也不同。w e b 应用程序领域除 了有软件领域普遍存在的元素外,还有它自己特有的元素,如w e b 页,h t t p 请求、链接 等。在w e b 应用程序领域,有哪些元素能够帮助理解系统,模型中应该包含? 建馍语言 评价的一个标准就是对建模对象的抽象能力在讨论w e b 应用程序建模时,应该熟悉 w e b 应用程序的特点。以下是本论文认为w e b 直用程序模型应该包含的三个重点。 2 1 数据结构 几乎所有的w e b 应用程序都需要持久的存储数据,持久化数据是它们进行业务逻辑 的基础。如电子商务系统需要存储用户的姓名、地址、年龄、电子邮件以及商品的名 称、价格、库存等许多信息利用这些数据,w e b 应用程序可以为用户提供购物详细信 息查询,为公司管理人员提供库存管理功能。数据可以有普通文件、x m l 、关系型数 据库等多种存储方式。w e b 应用程序普遍采用关系型数据库存储数据,主要的关系型数 据库系统有o r a c l e ,d b 2 ,s q l s e r v e r 等。一个数据库通常由多张数据库表组成,而每 张表又由多条记录组成,每条记录则由多个字段组成数据库负责处理数据的查询、 更新、添加和运行存储过程。有一种说法,成功的软件由2 5 的数据库+ 2 5 的程序所 组成,数据库表设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液, 那么数据库的设计就是系统设计非常重要的一部分。 从w 铀应用程序开发和建模的角度来说,关系型数据库中的数据库表的设计最为重 要。数据库表的设计包括表的名称、包含的字段以及字段的类型、表的主键、外键以 及与其他数据库表之间的关系等。w e b 应用程序将数据存储到数据库系统中,通过程序 代码实现对数据库的操作。数据库表的字段以及字段的类型,都将对w e b 应用程序的数 据库操作代码有决定性的影响。表的主外键设置要求w e b 应用程序维护数据的一致性。 总之,数据库表的设计对w e b 应用程序的架构和开发有非常大的影响。w e b 应用程序建 模应该包括对关系型数据库表建模,模型中要描述数据库表的名称、字段和关系等重 要的特征。 4 对外经济贸易大学硕士论文 2 2 业务逻辑 业务逻辑由规则和形成应用程序的业务状态的过程组成 。业务逻辑是w e b 应用程 序的核心,w e b 应用程序允许它的用户作用于服务器上的业务逻辑。w e b 站点和w e b 应 用程序之间的区别在于用户影响服务器上业务逻辑状态的能力。当然,如果服务器上 没有业务逻辑存在,系统将不被称为w e b 应用程序。只有这样的系统才可以认为是一个 w 曲应用程序:即在系统中w e b 服务器( 或者一个使用w e b 服务器负责用户输入的应用 服务器) 允许通过w e b 浏览器来影响业务逻辑。除了最简单的w e b 应用程序,对所有的 w e b 应用程序来说,用户必须要给予w e b 应用程序比导航请求更多的信息。典型的情况 是,w 曲应用程序的用户输入数据:简单文本、复选框选择、甚至二进制和文件信息。 一些业务逻辑是由传统的服务器端对象和组件( 例如中间件、事物处理、数据库) 执 行的,也有一些是由w e b 元素( 例如浏览器、客户端脚本) 执行。 最简单的业务逻辑的例子是字段和表单验证。例如,一个日期条目字段不能接收 非法日期“2 月3 0 日”,即使完全可以将这样的文本输入到一个文本框中。如果没有客 户端验证,这个值将随表单一起提交到服务器端,丽在那里也会被指定为一个非法值。 当这种情况发生时,通常是服务器端返回这个表单,由用户进行更正。由于表单的提 交、服务器的处理和得到一个应答信息这个过程所花费的时问是秒级的而不是毫秒级, 所以这样的开销比较的大。客户端验证是一条规则,它能够检查非法日期,提醒用户 输入日期不合法,拒绝提交请求到服务器,减少资源浪费。 更为重要的业务逻辑是形成系统的业务状态的过程。如运费计算的过程、银行贷 款申请的过程、购物的过程等。过程涉及多个步骤和多个业务状态。过程中业务状态 有多种情况。大部分w e b 应用程序的建设目的都是为支持企业的业务活动,而企业的业 务活动是一个动态的过程,业务发生的过程中有很多变数,w e b 应用程序的业务逻辑是 对企业业务活动的电子化。 2 3 表示层 w e b 页是w e b 应用程序表现层的基础,用户所看到的信息都是以w e b 页的形式通 过浏览器展现出来。浏览器向服务器发送请求,w e b 服务器向浏览器返回信息页。 w e b 服务器向浏览器发送的都是h i m l 格式的w e b 页h 聊l 黾由w o r l dw i d ew e b c o n s o r t i u m 维护的一个国际化标准。h t m l 用于标识内容以及w e b 页面的可视化格式, 它是一种基于标准通用标记语言( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,s g m l ) 的 标记语言。h t m l ,页面相当于一个容器,这个容器里面可以容纳图像,表格,表单等。 h t m l 页面是w e b 应用程序前端,用户能看到的、使用和操作的也只有h t m l 页面。 oj i m 洲l c n ,用u m l 构建w e b 应用p 2 6 5 对外经济贸易大学硕士论文 h 硎l 页面是w e b 应用程序当中一个非常重要的组件。 除了瑚m 顶是w e b 应用程序建模的一个重要元素,h t m l 页面中也有在w e b 应用 程序的构架上比较重要的元素。例如,一个w e b 应用程序的模型并不是很关心在页面展 现时文本使用的字体尺寸或颜色,但是它非常关心那些能被导航的w e b 页面集。下面讨 论这些h t m l 中的重要元素。 导航到一个w e b 页的超链接是通过使用一个h t m 球记锚( a n c h o r ) 创建的。w e b 应用程序中相互独立的w e b 页许多是通过锚链接起来的。理解w e b 页之间的链接形式, 对理解w e b 应用程序的架构有很大的帮助。 除了导航外,锚还可以通过请求传递参数。当参数在w e b 页请求中被指定后,服务 器能够访问这些参数信息,并且利用它们构建一个返回页面。参数是以名称值对的形 式,伴随着请求一起被传递,而且中问被一个a n d 符号( ) 所隔开。参数被一个问号 ( ? ) 通w e b 页面隔开,下面的请求传递了两个参数:k e y l 和p z 。k e y l 被指定一个值i a v a , p z 的值是4 。 h t t p :w w w c h i n a p u b e o m s e a r c h p o w e r s e a r c h p o w e r _ s e a r c h a s p ? k e y l = j a v a & p z = 4 2 3 2 表单 w e b 页的t r r m t 袁单部分能接收用户输入的信息。h t m l 表单是一个字段的集合, 它允许输入文本或者在列表里进行选择。除了文本框之外,表单字段还可以有按钮, 复选框和单选按钮等。如果w e b 页里有表单,浏览器会用合适的用户界面控件来显示这 个表单,并且允许用户输入和改变它的值。大部分表单里面都有个特殊的按钮,当用 户点击它时,便会提交该表单及其内容到服务器上,作为一个w e b 页请求的一部分。 w e b 服务器的一个可执行模块接收请求,它能够访问表单中的字段的值,然后在服务器 上处理它们。最终的结果是一个新的w e b 页,它被返回给发出请求的浏览器。 可执行模块是被w e b 服务器用来处理表单的值,处理完后服务器产生一个新的 h t m 顶面,返回给浏览器。更经常发生的是处理过程涉及到与服务器上的对象或者 数据库进行通信。应用程序服务器在与w e b 应用程序的用户进行交互的过程中,表单是 一个关键机制。 表单是用 标记定义的,它的两个基本参数是a c t i o n 和m e t h o d 。a c t i o n 这个参 数的值是处理表单的u r l 。m e t h o d 这个参数指定数据以什么方式被传送给服务器。普 通的脚m l 仅有少量的核心表单元素: 、 和 。 标记既 可以指定一个列表框,也可以指定一个下拉列表,用户可以从中进行选择。 标记是一个多行的文本输入控制器,它允许用户输入大块的文本。 6 对外经济贸易大学硕士论文 3 1w e b g l 概述 第三章w e b m l 早期的w e b 应用程序开发,简单利用设计方案构架w e b 应用程序,极少关注w e b 应 用程序的建模。然而,随着w e b 应用程序的规模扩大、复杂度的提高、与其他应用程序 的集成要求以及满足随时间而不断变化的需求,软件公司面临驾驭w e b 应用程序的巨大 挑战。软件公司非常需要能够有效的与当前w e b 技术相匹配,覆盖设计过程各个方面的 设计方法、语言和工具来构建w e b 应用程序。 为响应这种需求,w 3 1 3 项目提出一种新的w e b 应用程序建模语言w e b m l ( w e b m o d e l i n gl a n g u a g e ) 并开发了支持它的建模工具t o r i i s o f l 。w e b m l 使w e b 应用程序设计 师能够描述w e b 应用程序的核心特征,而无需关心具体的架构细节。w e b m l 语言与图 形符号密切相关,有相关工具的支持,开发团队中的非技术人员很容易理解。w e b m l 完全支持x m l 。语法,每一步的设计结果既有直观的模型图,又有相对应的x m l 3 e 档。 这一点使得设计工作完成以后,设计模型能被导入c a s e 工具自动生成软件代码,减少 开发工作量。 3 1 1w 曲m l 的发展 w e b m l 由s t e f a n oc e r i ,p i e r of r a t e m a l i 和a d ob 咖g i 等人于2 0 0 0 年正式提出,它既 是一种建模语言,又是一种设计方法。它是在几种w e b 设计语言,h d m 、h d m l i t e 、 r m m 、o o h d n 弄f l a r a n e n u s 的基础上发展起来的o 。 h d m ( f i y p e r m e d i ad e s i g nm e t h o d ) 是众多w e b 设计方法的先驱者,h d m l i t e 是h d m 的迸一步发展,特别应用于w e b 信息系统。它主要是定义结构、导航和表现。h d m i i t c 的主要特点是为了自动生成的目的对h d m 做了适当扩充,完成从概念方案到逻辑表示 乃至到物理表示的模型转换。这些转换被a u t 0w e b 系统工具支持,自动产生程序数据 方案、导航方案和表现方案。这些逻辑方案进一步被用来自动产生w e b 页。但此自动生 成主要是针对静态只读信息w e b 页。 r m m ( r e l a t i o n s h i pm a n a g e m e n tm e t h o d o l o g y ) 是一种用于设计、构建和维护l t t a n e t 。x m l 是e x t e n s i b l e m a r k u pl a n g u a g e 的缩写,扩展标记语雷x m l 是一种简单的数据存储语言,使用一系列简 单的标记描述数据 。s t e f a n oc e i l ,p i e r of r a l e m a l i ,a l d ob o n # o ,w e bm o d e l i n gl a n g u a g e ( w e b m l ) :am o d e l i n gl a n g u a g ef o r d e s i g n i n gw e b s i t e s 7 对外经济贸易人学顾卜论文 及i n t e r n e tw e b 系统的方法。它的根本目标是降低动态数据库驱动的w e b 站点的维护成 本。它提倡系对统进行形象化表示,以便展丌设计上的讨论。它是一个迭代式过程, 包括w e b 页可视元素的分解,及这些元素与数据库实体的关联关系。r m m 是一种用于 动态w e b 站点创建和维护的方案。r m m 受e r 模型和h d m 的影响,模型分为三层:内 容层、多媒体层和表示层。 a r a n e u s 是从数据库研究领域发展而来的。a r a n e u s 中的内容层采用e r 模型对领域 对象进行建模,多媒体层把多媒体的设计分成概念设计和逻辑设计两个阶段,分别用 n a v i g a t i o nc o n c e p t u a lm o d e l ( n c m ,从r m m 方法中发展而来) 和a r a n e u sd a t a m o d e l ( a d b 0 形式化。a r a n e u s 中导航设计主要在概念设计阶段完成,n c m 中定义了三 种节点类型和两种链接类型来描述w e b 导航,描述包括哪些领域对象将作为导航对象出 现在导航中,导航对象之间的导航路径以及如何从源节点进入感兴趣信息。n c m 模型 完成后就可以建立a d m 模型,a d m 是用来建立w e b 页的抽象描述。a d m 的基础特性是 p a g e - s c h e m e 符号。p a g e s c h e m e 是页面抽象描述,实例是一个具有标识r u 和一组属 性的页面。属性有简单或复杂类型,如文本、图片、联接、列表等,提供两种结构: 异构联合( 提供灵活性) 和表单( 主要针对动态页面) 。a r a n e u s 力- 法更强调内容层和多媒体 层的设计。着重于数据库中的数据怎样在w e b 页中呈现,而且以自动生成w e b 页为目标。 明确区分数据库设计和多媒体设计,明确区分逻辑设计和概念设计是a r a n e u s 方法的一 个特色。为解决商业过程建模问题,a r a n e u s 2 提供了一个机制使得构成商业过程的活 动可以组织到一起。 o o h d m ( o b j e c t - o r i e n t e dh y p e r m e d i ad e s i g nm e t h o d ) 是r o s s i 等人在1 9 9 8 年提出的 w e b 应用程序程序开发方法o o h d m 的形式模型基础前期是o m t ,后期是u m l ,但 都傲了自己的扩充,如属性可以有多重类型等。o o h d m 把导航设计作为重要的一个阶 段分离出来并建立相应的模型导航模型又分为导航类模型( n a v i g a t i o n a lc l a s sm o d e l ) 和导航上下文模型( n a v i g a t i o n a lc o n t e x tm o d e l ) 。导航类模型是领域模型在导航设计中映 射的视图,是通过面向对象定义语言对领域对象属性进行组合或剪切,以及进行属性 和关系筛选而建立的,模型元素为节点和链接,描述了导航对象及导航对象之间的导 航关系。导航上下文模型中利用六种上下文元素描述导航空间结构,上下文是可以嵌 套定义的。导航上下文模型中还有进入结构( 向导、简单索引、动态索引等) 来描述进入 上下文和导航对象的结构。o o h d m 主要采用类图来描述静态页面的导航结构,至于导 航的复杂行为语义,可以通过使用一个面向对象的状态转移模型n a v i g a t i o nc h a r t s 来描 述。o o h d m 用a b s t f a c td a t av i e w ( a o v ) 来描述导航对象和其他界面对象如菜单条、按 钮等的结构布局。界面复杂行为方面则采用a d vc h a r t s 来描述。o o h d m 后期的发展允 许在原有模型上定义商业过程,即把商业过程作为基本的设计元素,而不再把商业过 程看作是概念和导航设计的副产品。o o h d m w e b 是一个采用o o h d m 描述的设计工 具,但主要针对的是只读的w e b 站点软件自动生成由) r r m l 代码和o o h d m w e b 函数 库调用相结合的页面,所以它产生的页面必须在o o h d m w e b 环境下运行。 8 对外经济贸易大学硕士论文 目前,w e b m l 的研究工作及应用主要在欧洲,其他地区的研究机构或学者几乎没 有,w e b m l 的应用也不是很普遍。支持w e b m l 的c a s e t 具有t r i i s o f t 和w e b r a t i o ,并 且它们只支持j a v a 技术的实现。 3 1 2 国内外研究现状 目前国外w 曲m l 的研究项目有: w 3 1 3 项目:该项目的主要目标是提出一种模型驱动的w e b 应用程序程序设计方法, 尤其适合多种设备,移动电子商务应用程序。w e b m l 建模语言是w 3 1 3 项目取得的杰出 成就,还有一系列以j a v a 为基础的w e b 应用程序程序开发工具( 如应用程序设计,表示 层设计,应用程序管理等) 。 m a i s 项目:该项目的目标是开发实现适用性模型、方法、工具,能为不同类型的 网络和接入设备提供服务。 c o o p e r 项目:该项目的主要目标是,开发和测试一个模型驱动的、可扩展的环 境,它支持在虚拟团队中建立个人和集体的能力,这个虚拟团队的成员在地理位置上 是分散的,拥有不同的背景知识和个人能力,在项目中一起工作解决复杂的问题。 w e b s i 项目:项目开始日期2 0 0 2 年7 月1 日。该项目的主要目标是提出创新的抽象 概念,技术解决方案,接口,构件,和设计工具的一种组合,支持商业部门建立符合 a s p ( a p p l i c a t i o ns e r v i c e sp r o v i s i o n ) 的应用程序,从而为多数企业提供低成本进入技 术,从不同的信息源获取信息和服务。 目嘉手w 曲m l 的研究方向是业务流程规范与w e b m l 模型集成的方法研究以及w e b s e r v i c e s 在w e b m l 中的描述o 按照b p m n 国规范提出一个业务流程图的图形界面编辑 器,与商业化的c a s e t 具w e b r a t i o 无缝集成。实现b p m n t 作流图至1 w e b m l 超文本图 的模型的转化从而实现特定业务流程的w 曲应用程序构建的快速实现。 3 2w e b o 模型 w e b m l 的目标是对w e b 应用程序程序进行高层抽象建模,同时为w e b 应用程序的 开发提供模型驱动的方法国。为此,w e b 采用下列几种模型来描述w e b 应用程序。 3 2 1 结构模型 结构模型描述t w e b 应用程序中的数据结构情况,它与实体关系 。w w w w e b m l o r g 。b p m n 是b u s i n e s sp r o c e s sm a n a g e m e n tn o t a t i o n 的英文缩写,是业务流程建模符呼 。鹿旭东月建成,w e b 应用开发方法研究计算机工程与应用2 0 0 6 年第1 3 期 9 对外经济贸易太学硕f 论立 ( e n t i t y r e l a t i o n s h i p ,e r ) 模型以及u m l 的类图相似。在结构模型中,数据用实体表 示,实体可以具有相应的属性,各实体问通过关系联系。实体有一个或多个属性,每 个属性有自己的名称和类型,类型可以是整型、字符型和日期型等。 在结构模型中,实体是基础,它与生活中的实际对象相关实体的图形化表示方 法是一个分成上下两部分的矩形框,上半部份标明实体的名称,下半部分列举该实体 具有的属性。如图3 1 是一个简单的结构模型。它包含四个实体,a r t i s t 、a l b u m 、r e v i e w 和t r a c k 。实体a r t i s t 有两个属性,n a m e 和b i o g r a p h y 。 关系是表示结构模型中实体之间相互连接的语义关系。与u m l 中的关联相似, w e b m l 中关系同样可以使用多重性修饰,表示实体之间的数量对应关系。如图3 1 实体 a r t i s t 和实体a l b u m 之问的直线表示它们之间的关系。i :n 表示的是一名艺术家可以有多 部影集。 3 2 2 超文本模型 圈州一圈 o :n i 1 :1 t :n i 1 :1 圈圈 图3 1 结构模型 资料来源:本研究整理 w e b m l 中的超文本模型实际上包括组织模型和导航模型两部分。组织模型主要包 括7 种内容单元,图3 2 是这7 种内容单元的图形化表示方法。 1 0 对外经济贸易大学硕士论文 网hierlndexunit i 笼i l:i 图3 2 内容单元 资料来源:本研究整理 1 、数据单元 数据单元定义包括两项基本内容:指定源实体:指定数据单元包含的实体属性。 数据单元的小麻记为 ,数据单元定义是,所有选择条件部定义在 之内,每项条件用 标出。因为数据单元只表示了 实体的一个对象,而实体可能由多个对象组成,所以必须指定选择条件,以表明数据 单元与实体之间的映射关系。 2 、数据集单元 数据集单元是对数据单元的扩展,它主要用于表示实体的多个对象实例。数据集 单元定义主要包括指定源实体;指定对象实例包含的实体属性;作为可选项,还可以 根据某个属性对这些对象实例进行排序。数据集单元的x m 蟓记为 ,属性通过 标记指定,如果要对对象实例 进行排序,则可通过 标记指定排序所使用的属性。 3 、索引单元 索引单元以列表的方式表示实体的多个对象实例,并且将每个实例作为一项索引 入口。索引单元定义主要包括;指定源实体,有时也可以指定选择条件;指定索引中 显示的实体属性。 4 、多项索引单元和分级索引单元 多项索引单元和分级索引单元都是对索引单元的扩展。多项索引单元在每个索引 项前面增加一个复选框,用户可以进行索引选择。在分级索引单元中,索引项以多层 树形结构排列,好比生活中的图书目录。在分级索引单元中,需要定义一个顶层实体, 然后再定义相应的子实体,顶层实体与子实体之间保持着特定的关系。 5 、滚动单元 滚动单元主要用于在实体的对象实例集中实现类似翻页的操作,每次显示定数 儿 蜀习一二匿 对外经济贸易大学硕士论文 量的对象实体。滚动单元使用( s c r o l l e r u n i t 定义,并且使用e n t i t y 指定源实体 此外,还使用b l o c k f a c t o r 属性指定每次滚动显示的对象实例数目。 6 、入口单元 入口单元主要用于描述基于表单的入口,它对应于w e b 应用程序的输入搜索条件的 表单。入口单元通过 标记指定,它通过 子元素指定具体的输入 域。 内容单元是w e b 页的组成单位,而w e b 页是构成w e b 壶用程序的基本元素。组织模 型的基本目标就是使用各种内容单元对w e b 页进行建模。内容单元在w e b 页中可以采用 两种方式组合:内容单元独立出现在w e b 页中;内容单元通过链接相关联。后者实际上 使用了导航模型的元素。因为组织模型和导航模型通常一起使用,所以w

温馨提示

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

评论

0/150

提交评论