《web应用开发方法研究.docx》由会员分享,可在线阅读,更多相关《web应用开发方法研究.docx(6页珍藏版)》请在金锄头文库上搜索。
1、I引言随着Internet和Intranet、Extranet的快速增长,Web已经对商业、工业、银行、财政、 教育、政府、娱乐及我们的作和生活产生了深远的影响,许多传统的信息和数据库系统正 在被移植到互联网上。但Web系统开发缺乏严格和系统的方法,很少有人注意开发方法、 度最和评估技术、系统质局和项目管理,当前的大多数Web应用开发和管理实践在很大程 度上依赖于开发人员个人的知识和经验,造成的后果是所开发的Web系统大多是低质量的 产品。而随着基于Web的系统变得越来越复杂和重要,个项目的失败将可能导致很多问 题,当这种情况发生时,人们对Web和Iniernet的信心可能会无法挽救地产生动摇
2、,从而引 起Web危机。澳大利亚的YogeshDeshpande和SteveHansen最早(1998年)提出了 Web工程的概念,他 们认为Web工程是用系统的、严密的、可以测量的方法来开发、实施和维护基于Web的应 用或基于 Web的软件的工程应用。基于Web的应用系统开发方法倍受关注,主要体现在Web应用系统的开发和传统软件 开发的显著区别上,传统软件工程方法和技术应用到基于Web的系统开发中,显得力不从 心问。在开发复杂的基于Web的系统中,为了避免Web危机的发生,达到更大的成功,迫 切需要一个严格的步骤和新方法、新工具来开发、发布和评估基于Web的系统。由于在Web应用的开始阶段,
3、只是将Web作为信息中介和信息发布的平台(简单的网站), 因此,所提供的工具只是集中于网页的创建和编辑,如微软的FrontPage等。它们都限于被 动的超文本表示、网页布局和部分的导航模型,缺乏系统的、结构化的方法以及抽象、重用 的支持。随着Web应用的规模和复杂度日益增加,Web已经成为各种应用的主要平台。和 传统的Web站点相比,Web应用程序不但支持导航和浏览,而且操作还会影响内容和导航 状态。这使得Web应用的开发变得更加复杂。目前Web应用的工程化方法已经成为Web应 用开发研究的热点,这些研究旨在提供能全面支持Web应用开发生命周期的模型和方法。成熟的Web开发方法应该具有什么样的
4、特性和功能?现有的方法是否已经具备这些特性? 还有哪些差距?本文将对这些问题展开讨论。2开发方法应具备的特性Web开发方法的目标是系统化Web应用的开发全过程,提高开发效率和开发质量。为达 到此目标,我们认为,一个成熟的Web开发方法应该具备以卜的主要特征或功能:易于掌握:开发方法的一个目的是为了减轻开发人员的工作量,所以应该具有易于掌握 的特点,但这不应以牺牲表达能力为代价,即Web开发方法应该能对Web程序的各个方面 进行全面详细的描述。为平衡表达能力和掌握难度,可采用的方法是封装细节,对那些具有 共性的细节进行抽象,以模式的方式提供选择,这样开发方法为开发者提供的是高层次的设 计概念和方
5、法,掩藏了细节,在不牺牲表达能力的基础上降低了掌握难度,但必要时设计者 仍然可以对细节进行设计以满足特殊的情况。另外,设计方法应充分考虑用户已有的设计经 验和技术。对复杂系统建模的能力:Web应用的范围涵盖从简单的静态站点到动态交互.的Web应用。 近年来,Web应用发展迅速,特别地,当大量传统信息和数据库系统被移植到Web环境卜, 一种新型的Web应用程序出现/,这些程序利用Web平台支持和执行商业过程以及工作流, 例如出租和预订服务,虚拟拍卖、在线保险等闯。成熟的Web开发方法应该能适用这种需 求,这就需要有对商业过程、工作流进行建模的能力,并和Web系统设计的其他部分有机 结合。表现层建
6、模的能力:传统的设计方法一般不很重视界面设计,而和传统的软件系统相比, Web系统表现设计有自己的特点:(1)系统的很多高级功能体现在表现层,这需要提扃界面 的设计质量;(2)界面中包含着大最的多媒体信息;(3)Wcb设计方法一般不仅给设计人员使 用,而口需要给美工、编辑等使用,他们更关心系统的表现设计。所以Web开发方法需要 能针对这些特点对表现层建模。系统定制的支持:Web系统成功与否主要依赖用户的满意程度。成功的Web系统应该 具有丰富的功能,易于使用的界面和定义良好的导航结构。而为了达到更高的用户满意度, 个主要的技术是通过个性化定制把合适的内容在合适的时间分发给合适的人。开发方法需
7、要提供系统定制能力,这主要通过对用户的定义和描述来完成,其中包括对用户分组以及用 户之间联系的处理。模型集成和连通的能力:能够在较高的抽象层次上表达系统和资源是怎样集成的。一方 面,在很多组织中,新开发的Web系统需要和以前存在的业务系统密切关联。这些业务系 统可能在不同的平台和实现语言卜开发。开发方法应该能支持和这些遗产系统无缝连接。另 一方面,组件的集成大部分依赖于接口描述,开发方法应提供精确的和无二义的对组件接口 建模和文档化的能力;最后,Web系统需要和大盘的资源和信息服务等相联接,这些可能 不局限于组织内部,开发方法应提供表达和存取机制。自动生成能力:能否提供自动生成能力以及能力的大
8、小是Web开发方法成熟度的一个重 要衡量标准,理想的开发方法应能提供从模型描述到运行、配置代码的自动生成。工具和文档支持:理想的工具应能支持在用户参与下,完成从需求确定到实现维护的整 个开发过程。丰富的文档支持是设计者能否掌握开发方法的重要方面。可以说,工具和文档 的支持能力是开发方法能否得到广泛应用的关键。3 Web开发方法研究现状认识到Web开发的重要性,近年来,一些系统化开发Web应用的方法应运而生,这些 方法来源于不同领域的研究,来源于数据库研究领域的有RMM、Arancus等,来源于多媒 体研究领域的有HDM、WebML等,来源于面向对象研究领域的有OOHDM、UWE、00-H 等,
9、图1表示的是几种典型Web应用开发方法的演变过程。Web应用开发方法的共同点在于一般将Web系统模型分为领域模型、导航模型和展示模 型,经过概念建模、逻辑建模、物理建模和实现四个过程完成Web系统开发p)。其中领域、 导航、展示模型分别描述系统的一个不同侧面,可以看成是Web模型的不同视图。领域模型描述Web应用中领域对象及其关系,是导航模型的基础;展示模型描述Web 页面展示形式,是导航对象和导航行为的最终体现;而导航模型是Web模型区别于传统系 统模型的重要部分,描述了 Web应用的导航特性,并起着衔接领域模型和展示模型的作用。本文第二部分列出了 Web开发方法应该具备的主要特征和功能,下
10、面我们将从这儿个方 面考察几个典型的Web开发方法已经具备了哪些特性以及还存在哪些差距。(l)HDMliteHDM(Hypermedia Design Method)是众多 Web 设计方法的先驱者,HDM lite 是 HDM 的 进一步发展。特别应用于Web信息系统。主要是定义结构、导航和表现。分别用HyperBase. Access、表现方案形式化。HyperBase方案是一个扩展的E-R实体关系图。由实体、部件(实体子结构)、有类型的属 性、实体和部件间的语义链接、数级约束等构成。Access方案描述HyperBase方案的进入方 式。包括traversals(描述从源到目标的直接导航
11、)、Collections(描述集合,可以嵌套定义,共 分为 8 种子类型),另夕卜还定义 了导航模式(Index, GuidedTour, IndexedGuidedTour, ShowAll)。HDMIite的表现模型是一系列样式单的集合,使川类SGML的语法来表示。多个表现方 案可以被映射到一个结构导航方案但没有提供设计结构。表现方案的基本单元是PaSeo 一个样式单表针对一种特殊类型的页面,从逻辑上看可分为 两层:布局层,每个页面建模为一个Grid, Grid中的每个单元包含表示元素;元素层:有 两种类型的元素,内置的和用户定义的,所谓内置元素是前面所涉及概念的表示抽象,用户 定义的则
12、为图形设计者设计的banners, applets等。HDMlite的主要特点是为了自动生成的目的对HDM做了适当扩充,完成从概念方案到 逻辑表示乃至到物理表示的模型转换。这些转换被Autoweb系统工具支持,自动产生程序 数据方案、导航方案和表现方案。这些逻辑方案进一步被用来自动产生页面。但此自动生成 主要是针对静态只读信息页面。(2)WebMLWebML(WebModelingLanguage)S W313(Web-basedIntelligen(lnformaiionlnfrastructure)J 目所定义的Web模型描述语言,是HDMlite的进一步演化,是在概念层次.上描述复杂We
13、b 应用的符号体系,也被称为“针对Web的UML”。它提供了图形化高度抽象的Web应用描述 方法,并包括完整的设计过程和支撑工具。另外,WebML还支持XML语法,以便于利用 代码生成工具来自动产生代码。在WebML开发设计过程中,对Web应用的描述分为以下模型:结构模型,通过实体和 实体之间的关系来描述内容层,为描述导出和计算信息,结构模型还定义了一个简单的查询 语言侈媒体模型,描述Web应用的多媒体特性,乂分为组成模型和导航模型两个子模型, 组成模型描述页面是由哪些数据单元组成的,导航模型描述页面和组织单元是怎样导航的; 展示模型,使用抽象的XML语言来定义页面的布局和图形表现;定制模型,
14、主要是对用户 利用户组进行建模,对应Web应用的定制化需求。WebML的导航模型是在组成模型的基础上定义链接,体现导航的链接有上卜文无关和 上下文相关两种类型。所谓上下文相关指的是链接的单元存在语义上的关系。在实际的应用 中,导航链接经常以导航链的形式出现,WebML还分析总结了多步索引、筛选索引、索引 向导、环等Web导航模式来体现这些特征。此外,后期的WebML版本可以采用扩展数据和多媒体模型的方式来定义轻型的Web工 作流。RMMRMM(RelationshipManagementMethodology)一种用于设计、构建和维护 Inlranel 及 IntemetWeb系统的方法。它的
15、根本目标是降低动态数据库驱动的Web站点的维护成本。它 提倡系统进行形象化表示,以便展开设计上的讨论。它是一个迭代式过程,包括Web页可 视元素的分解,及这些元素与数据库实体的关联关系。RMM是一种用于动态Web站点创建 和维护的方案。RMM受ER模型和HDM的影响。模型分为三层:内容层、多媒体层和表示层。在RMM 中内容层是单独建模的,而表示层是结合多媒体层定义的。提出了 RMDM(RelalionshipMan-agemenlDataModel)模型进行形式定义。在RMM中,领域模型由实体构成,每个实体有多个属性,而m-slice设计元素是对实 体属性的分组。在RMDM中,导航是通过6种进
16、入结构支持的,分为实体内和实体向导航 两种。RMM方法设计过程主要分为E-R设计:领域模型设计,采用E-R图;Slice设计:Web 应用设计中特有的一步,决定信息怎样呈现给用户,以及怎样进入,主要是对实体属性进行 分组;导航设计:设计导航路径。利用进入结构和结构组来组织。一般导航到实体的主要 Slice,但也可以由设计者指定;转换规则设计:利用一系列转换规则把RMDM图中的元 素转换为目标平台上的对象,已经有一些工具从RMDM转换为HTML;用户界面设计:界 面布局设计;运行行为设计:链接途径、历史、导航机制实现;构建和测试:传统的软件工 程步骤,特别测试所有导航路径。(4)Arancus(ADM)Araneus是从数据库研究领域发展而来的。Araneus中的内容层采用ER模型对领域对象 进行建模,多媒体层把多媒体的设计分成概念设计利逻辑设计两个阶段,分别用 NavigationConceptualModel(N