首页 基于UML和设计模式的Web应用程序开发

基于UML和设计模式的Web应用程序开发

举报
开通vip

基于UML和设计模式的Web应用程序开发基于UML和设计模式的Web应用程序开发 ? 天串大蓦 TI ANJI NUNI VERSl TY 中国近代第一所大学 FOUNDEDI N1895 硕士学位论文 - ? 学科专业: 作者姓名: 指导教师: 嚣’ ,《 j 天津大学研究生院 i霎褰 皆8”篙? 2月 2005年1 中文摘要 软件的规模和复杂度不断增加,使得软件开发面临巨大的挑战。软件复用被 视为解决软件危机、提高软件生产率和质量的可行途径。相比较而言,设计模式 是高层次的软件复用,也更加切实可行。设计模式是面向对...

基于UML和设计模式的Web应用程序开发
基于UML和设计模式的Web应用程序开发 ? 天串大蓦 TI ANJI NUNI VERSl TY 中国近代第一所大学 FOUNDEDI N1895 硕士学位论文 - ? 学科专业: 作者姓名: 指导教师: 嚣’ ,《 j 天津大学研究生院 i霎褰 皆8”篙? 2月 2005年1 中文摘要 软件的规模和复杂度不断增加,使得软件开发面临巨大的挑战。软件复用被 视为解决软件危机、提高软件生产率和质量的可行途径。相比较而言,设计模式 是高层次的软件复用,也更加切实可行。设计模式是面向对象软件设计中的一些 经验的抽象总结,它对于软件设计开发的整个领域都是适用的,并不针对某一类 特定的开发。因此,这些经验可以指导Web应用程序的开发,实现灵活可变的 系统架构,在需求发生变化时,可以方便地调整系统,以最小的代价使原有系统 适应新的需求。 本文主要讨论L眦和设计模式在构建Web应用程序中的应用。通过构建河南 省普通高等学校艺术专业考生术科成绩报送系统 以下称艺术报送系统 来说明 正确运用UML和设计模式对于构建复杂Web应用程序的意义。 关键字:设计模式,工厂模式,单体模式,观察者模式,MVC模式 Abstract Wim size the and ofthesoRware complexity a? increasingcommntly(it make ofsol,rare theenormous sotbvare development facing challenge(The is asand thecrisisofthe re-using by repliedconsideringsolving so(are, improving ofme the soRwareandfeasible productivity wayofquality(Comparatively speaking( isnot everlfurthca"morefeasible Designpatternonlyhi曲一levelsoRware-rensing,but for soRware istoabstract of of re-using(Designpancm summaryexperience object oriented suitableto of sothvare thewholefieldinsothvare program,is design direct kinds some ofsoftware designing,noragainstspecial the Can the WEB experienceguide of application the development program,realize and flexiblevariable in systematic,ramework,Whilechangingdemand, carladjust systemconveniently,makeoriginal meetthenewdemandsoastomillinmm system COst( Thisthesisdiscussesthat the ofthe and UML mainlydesignsapplication design in WEB structureexaminee pattern of structuringapplicationprograrmThrough scoresendthe of Hcnan itis subject system by Province,and usinghi曲school correcttouseUMLand forstrtlcture WEB proved designingpattem complicated tocome( program meaningofapplication Keywords:DeignPaItem,Factory model( model,Singletoninogel,Observermodel,MVC 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:前包钧 签字日期;叩―争年,p月形日 学位论文版权使用授权书 本学位论文作者完全了解墨鲞盘茎有关保留、使用学位论文的规定。 特授权鑫壅盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 保密的学位论文在解密后适用本授权说明 学位论文作者签名: 施动 导师签名: 惫? 签字日期:坩年J’醐‖日 签字日期: ?1年f 月f6日 天津大学硕十学位论文 第一章绪论 第一章绪论 网络的普及和办公自动化的需求极大地推动了Web应用开发。相应地,B,s 架构系统,以其灵活、易维护、成本低的优点,逐渐成为企业的首选。企业级的 Web应用程序复杂度高。完全满足了企业应用多边、灵活、易维护的要求。因此, 提高Web应用开发的效率并获得更高的可靠性、灵活性和易用性成为关键问题。 本文提出基于U肌和设计模式在Web应用开发中的应用,可以有效地解决上述问 题。 基于以上思想,本文根据艺术成绩报送系统项目需求的特点,设计了艺术成 绩报送系统。 下文组织如下:第二章介绍了艺术报送系统开发背景;第三章简要地介绍了 uhIL的相关知识;第四章对(NET的知识进行了介绍;第五章结合艺术报送系统的 设计特点,分析了设计模式在艺术报送系统中具体实现;第六章对艺术报送系统 的设计和开发进行了介绍;第七章总结全文并提出了设计模式在Web应用程序开 发中应用的前景展望。 天津大学硕士学位论立 第二章艺术报送系统设计简介 第二章艺术报送系统设计简介 2(I开发背景 随着河南省普通高等考试参加考试昀人数逐年增多以及河南省招生办公室 对网上录取系统的新要求地提出,原有艺术成绩报送系统己不再适合使用。 这就 需要开发一个新的艺术成绩报送系统来满足当前需求。根据当前Web应用程序 开发和当前需求的特点,在新系统中采用了设计模式来提高系统的性能,在最大 程度上满足用户的需求。 艺术成绩报送系统是在豫招牛艺术专业考生全国普通高等学校向河南省招 生办公室提交艺术专业术科成绩的两上平台。该平台为高校报送艺术专业术科成 绩提供了可靠便捷的操作途径,同时也为河南省招生办公室接收核对艺术专业术 科成绩创造了准确高效的管理平台;是在招生规模日益扩大的背景下,为减轻院 校和招办双方负担而搭建的;是阳光工程的子系统,为录取系统提供 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 信息来 源,是录取系统的基础。为了进一步确保系统性能的安全可靠以及使用方法的简 单、方便、快捷,本系统采用了当前比较新颖程序设计模式思想和技术,实现灵 括可变的系统架构,在需求发生变化时,可阻方便地调整系统,以最小的代价使 原有系统适应新的需求。 2(2基于I ummish分层思想的系统结构 Microsoft公司每次推出新技术,总是会相应的推出一些公开源代码的应 用范例来说明该项新技术的特点,而开发者也能通过研究该范例的代码来达到迅 速掌握新技术并与以实施的目的。Microsoft通过对一个虚拟的在网上销售图书 的电子商务公司网上销售系统应用的创建,向用户展现了典型的网上购物实践中 最为普遍的电子商务企业对客户 B2c 模式,它包括成员资格、帐户管理、购 物车、搜索和结帐过程等基本功能。Duwamish经历了三个版本4(0,6(0和7(0 版,每一个版本的发布都印证了技术进步的过程,每一个版本都代表了当时晟先 进的技术动向。 设计思想 在Web应用程序中,有部分操作只是简单的从数据库根据条件提取数据,不 需要经过任何处理,而直接将数据显示到网页上,比如查询某类别的图书列表。 而另外一些操作,比如计算定单中图书的总价并根据顾客的级别计算回扣等等, 这部分往往有许多不同的功能的类,操作起来也比较复杂。我们可以先想象一下, 天津大学硕士学位论文 第二章艺术报送系统设计简介 如果我们采用三层结构,这些商业逻辑一般是会放在中间层,那么对内部的这些 大量种类繁多,使用方法也各异的不同的类的调用任务,就完全落到了表示层。 这样势必会增加表示层的代码量,将表示层的任务复杂化,和表示层只负责接受 用户的输入并返回结果的任务不太相称,并增加了层与层之间的耦合程度。 Duwamish系统结构分析: DLlwaillish7(0是一个典型的N层架构,其结构分为四个逻辑层: Web层 Web层为客户端提供对应用程序的访问。这一层是作为阢waInish(sln解决 成。Web窗体只是用6>HTML提供用户操作,而代码隐藏文件实现各种控件的事件 处理。 业务外观层 业务外观层为Web层提供处理帐户、类别浏览和购书的界面。这一层是作 用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系统和支 持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。 业务 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 层 实现的,它包含各种业务规则和逻辑的实现。业务规则完成如客户帐户和书籍订 单的验证这样的任务。 数据访问层 数据访问层为业务规则层提供数据服务。这一层是作为DLlwaJnish(sln解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 文件中的DataAccess项目实现的。 如图所示,浏览器首先调用的是表示层WEB,然后wEB将请求发送给业务外 观层,业务外观层对请求进行初步的处理,判断是否需要调用业务规则层,还是 直接调用数据访问层获取数据。最后由数据访问层访问数据库并按照来时的步骤 返回结果到浏览器 天津大学硕士学位论文 第二章艺术报送系统设计简介 ??,I? ‘P? 六t_囔赫I 凰 ‘T^j,?女^^d《: 盘。月os《“fj??n?i*: i 淞。 -:黧|4茹l l 岛 +LJg《u “ *蛆 f《*_f酾?t。目自j辄―+―i――一捌9 +―――― i L―?gg,J i (一*?(―(,一 十;攀 可一 i 国 冒一。靛?耘t裂„寸! I目I:?^??’哺-能 ’(^?:?????r,i嘲灌怖’,#B*。 |靠 图2-1Duwanaish系统架构 艺术报送系统是基于Duwamish分层思想设计和实现的,艺术报送系统的系 统结构图如下; 数据存储 图2-2艺术报送系统系统架构 为空等一些初步的信息 ;业务外观层为Web层提供处理帐户、类别浏览和购 目实现的。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开 天津太学硕士学位论文 第二章艺术报送系统设计筒舟 来。除了低级系统和支持功能之外,对数据库服务器的所有调用都是通过此程序 集进行的。 Common用于存储一些系统共用的功能模块供各层调用; DataAccess数据访问层为业务规则层提供数据服务。这一层是作为 库的联系取得用户需要的数据 SystemFrameworks系统框架; 例如测览器和WebServer的 WebUI负责提供用户接口和服务器的连接; 决方案文件中的Web项目实现的。Web层由ASP(NETWeb窗体和代码隐藏文 件组成。Web窗体只是用XHTIffL提供用户操作,而代码隐藏文件实现各种控件 的事件处理。 2(3创新点 本课题创新之处在于将新一代的开发模式、完全面向对象的软件开发思 想, 结合最新(NET的Web组件开发技术和Yd,11(技术应用到企业信息化网站开发中, 在企业信息即时发布和资源 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 管理方面实现通用的、可扩震的解决方案。 2(4研究方法 本课题拟在分析国内外企业信息化网站现状的基础上,结合当前企业信息化 过程中的特点,找出其中的优点和不足之处,以ASP(NET网站开发思想,快速组 建企业信息化系统网站,在信息即时发布和资源规划管理方面突出创新。 天津大学硕士学位论文 第三章uML介绍 第三章U札介绍 3(1U札概述: 3(1(1 UML的出现 从七十年代末面向对象技术逐渐兴起,到现在己占据了软件开发过程的主 导地位。其中,建模可视为面向对象分析和设计的核心,也是分析和设计过程中 最基本和最关键的活动之一。面向对象的分析和设计应该从建模开始,建模语言 则一直是面向对象技术的研究重点。从1989年到1994年,建模语言的数量从不 到十种增加到了五十多种,一度爆发了“方法大战”。九十年代中期,出现了一 a 批新方法,最引人注目的是Boothl993,OMT和DOSEBooch是面向对象方 法的最早倡导者之一,他在1986年描述了面向对象软件开发的基础问题,提出 了面向对象软件工程的概念。1991年,他在“Object―OrientDesign”一书中, 将先前面向Ada的工作扩展到整个面向对象设计领域。他对继承和类的阐述特别 值得借鉴。Boocb 采用了面向对象的概念并引入各种独立于语言的表示符号。该方法用对象模型、 动态模型、功能模型共同完成对整个系统的建模,所定义的概念和符号可用于软 件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段 进行概念和符号的转换。QMT适用于分析和描述以数据为中心的信息系统。 并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武 器,但用例贯穿于整个开发过程,包括对系统的测试和验证。目前在学术界和工 业界己普遍接受了用例这一概念,并认为是面向对象技术走向第二代的标志。 DOSE比较适合支持商业过程和需求分析。各种建模语言,实际上各有千秋,但 仍存在某些差别,这极大地妨碍了用户问的交流。因此有必要在精心比较不同建 模语言优缺点及总结面向对象技术应用实践的基础上,根据应用需求,取其精华, 努力统一建模语言。人们普遍认为,软件工程领域在最近的两、三年内取得 了前 所未有的进展,其成果超过软件工程领域过去十至十五年来的成就总和。其中最 重要的成果之一就是标准建模语言UM以UnifiedModeling Language 的出现。 UML是由著名的面向对象技术专家GradyBooch,Ivar 天津大学硕士学位论文 第三章UML介绍 意见,集众家之长,反复修改而完成的。在美国,u帆己经获得工业界、科技界 和应用界的广泛支持,已有数百家公司表示支持采用u札作为建模语言。1997 年11月17日,UML被OMG ObjectManagement6reup 批准为标准。这标志着 面 向对象技术领域中关于建模语言的争论暂告一段落。 家之长,并对现有方法的应用范围进行扩展,这是切以L受到企业界和用户普遍 欢迎的一个原因。UML的定义包括UML语义和UML表示法两个部分,UML语义描 述基于UML的精确元模型的定义。元模型为U札的所有元素在语法和语义上提供 了简单、一致、通用的定义性说明,使开发者们在语义上取得了一致,消除了因 人而异的表达方法所造成的影响。此外UML‘还支持对元模型的扩展定义。UML 表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语 法进行系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在 语义上它是UML元模型的案例。 3(1(2 u地语义 UML为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的 结构,包括类、接口、属性和关系。行为模型强调系统中对象的行为,包括它们 的交互作用、合作性和状态历史。UML为模型表示法提供了完整的语义。2(1(3 UML的元模型理论 UML语言的结构基于四层元模型结构:元元模型、元模裂、 模型和用户对象。如表1所示。 天津大学硕士学位论文 第三章LrML介绍 表l四层元模型结构 层次 描述 举例 元一元模型 元模型结构的基础定义 ,[etaClass、MetaAttribute、 元模型描述语言的模型 Metaoperation 元模型 元一元模型的实例定义 模型描述语言的模型 component 模型 元模型的实例定义信息 实际应用的域模型中的类、属性, 操 域描述语言的模型 作、组件等,例如 StockshareaskPrice 、 、 用户对象 模型的实例定义一个特 特定信息域中对象结构及相互交互, 用户数据 定的信息域 ( 例如 98789 Acmc_Software_Share 664(66(sell_1imit_order 元一元模型层是元模型结构的基础,定义元模型描述语言的模型。它比 元模 型具有更高的抽象层次,为准确定义元模型的元素和各种机制提供最基本的 概念 和机制。 元模型是元,元模型的实例,定义模型描述语言的模型。一个系统往往 是由 多个模型的聚集、相互结合和通信组成。元模型通过把属性、操作、结合和通信 进一步抽象为结构元素、行为元素来表达模型,并提供表达系统的机制 包 。另 外,为了准确地表达模型的语义,提供了型板,标记值和约束。在这样的元模型 描述下生成的模型实例,可确保语义的准确刻画。模型是元模型的实例,定义特 定信息域描迷语言的模型。模型规定了对象的属性、操作以及聚集、结合和通信, 保证用户对象层的语义正确描述。 用户对象 用户数据 是模型的实例,描述了一个特定的信息域,它是按照某 一领域的域模型组织的。任何软件系统在用户看来都是相互通信的具体对象。如 果排除oo语言表示的细节,这些具体对象构成一对象体系结构,并完成具体的 相互通信,其目的是实现软件系统的功能和性能。从表示的角度,功能、性能即 表示的语义。因此表示法系统必须能表达的第一个层次是用户对象层,即对象实 例及其交互。 天津大学顶士学位论文 第三章UML介绍 3(1(3语言的形式化表示方法 UML继承了软件工程中形式化规格说明语言的研究成果。因为只有用形式化 的规格说明描述的软件体系结构在其各个开发阶段中才能保证语义的一致性。具 体地说,形式化技术有以下好处: 1 提高描述的正确性: 2 减少描述的二义性和不一致性: 3 作为一种补充的描述手段,使得元模型体系结构的描述更加精确且易于 验证( 4 增强描述的可读性。 但是,形式语言约束只能准确刻画静态语义,对于动态语义除了能在几个快 照上加入形式化的描述,还必须以自然语言加以说明,完全形式化是极为复杂的。 因此,为了保持描述的清晰易懂,UML‘在给出自身的语义说明时采用了半形式 化的描述方法,对于每个子包都给出了以下三个层次的说明: 1 抽象语法:用uML类图给出各个元类之间的关系: 这些规??定义了正确模型所应满足的约束条件( 3 语义:用自然语言描述UML的动态语义。 3(2U扎的图形表示 UML表示法是UML语义的可视化表示,是用来为系统建模的工具。UML定义 了八类图形来表示各种模型的各个方面。从模型的不同描述角度来划分,UML可 以由下列四类图 共八种图形 来定义: ??用例图 usecase diagram ??类图 class diagram ??行为图 behaviordiagram ??状态图 statediagram ??活动图 activitydiagram ??交互图 interactiondiagram diagram ??顺序圈 sequence ??合作图 collaborationdiagram ??实现图 I加plemeniationdiagram ??组件图 componentdiagram 天津尢学顼上学位碱文 第三章u^亿介绍 ??配置图 deploymentdiagram 下面将分别介绍这八个图。 3(2(1用例图 用例图插述外部执行者理解的系统功能,用于需求分析阶段,它的建立是系 统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。 首先它描述了待开发系统的功能需求:其次。它将系统看作黑盒,从外部执行者 的角度来理解系统:第三,它驱动了需求分析之后各阶段的开发工作,不仪 在开 发过程中保证了系统所有功能的实现,而且可用于验证和检验所开发的系统。从 而影响到开发工作的各个阶段和[JML的其它图形。在U虬中,用例图由一组被系 统边界包围的用例、系统边界外的执行者、执行者与用例问的通讯关系组成。 在UML中,用例被定义成系统执行的一系列动作,动作执行的结果能被指定 的执行者所察觉。执行者是指用户在系统中扮演的角色。执行者可以是一个外界 系统,外界系统可能需要从当前系统中获取信息(与当前系统进行交互。通信关 联表示执行者触发用例,并与用例进行信息交换。使用关系表示一个用例使用了 另一个用例的行为。当在几个用例中存在许多相似的动作,但又不想重复描述这 些动作时,采用使用关系。扩展关系表示一个用例扩展了另一个用例的行为。当 描述一般行为的变化时,采用扩展关系。 3(2(2类图 在面向对象建模技术中,采用分类的方法将客观世界的实体映射为对象并归 纳成一个个类。类、对象和它们之间的关联是面向对象技术中最基本的元素。对 于一个待描述的系统,其类模型揭示了系统的静态逻辑结构,即系统重要的抽象 元素及元素问的关系。下面对类图包括的主要元素分别进行介绍。 类是具有相似结构、行为、关系的一组对象。类通过名称、属性和操作 来描 述。型版是对建模元素的元级划分 metr 素的划分来增加UML语言本身的扩展能力(接口描述类、组件或其他实体的外部 可见的行为。模板又称参数化的类,描述带有一个或多个未绑定的形式参数类。 模板不是类,是,组类的抽象。关联关系定义类之间的语义联系,是对类实例问 链接的抽象。与类相连的关联终点称为关联角色,每个关联可有一个或多个角色。 关联的多数信息,如关联的多重性、角色名、限定符、导航等均附加在关联角色 上。聚集关系是一种特殊形式的关联,用来说明对象间的整体一部分关系。如果 天津大学硕士学位论文 第三章UML介绍 整体不存在了,部分仍旧存在。组成关系是一种特殊形式的关联,用来谎明对象 问的整体一部分关系,如果整体不存在了,部分也会随之消失。泛化关系定义一 般元素和特殊元素之间的分类关系。依赖关系表明某个元素的变化将对其他元素 产生影响。如果一个类为其他类提供服务,可采用依赖关系描述客户类对服务提 供者要求的服务。 3(2(3交互图 用例图和类图刻画了系统的功能需求和结构特性,却无法刻画系统的实时需 求,而交互图则可以用来刻画实时需求。交互图分为顺序图和合作图,它们的功 能类似,但侧重点不同。为实现特殊目的而进行的特定信息交换称为交互。为了 刻画交互,必须指定某一上下文和可能的交互顺序。顺序图不能显示对象协作的 上下文,只能显示协作的行为。合作图刻画了几乎整个上下文,以及与之有关的 对象交互关系。 顺序图 顺序图以时间顺序显示对象在其生命周期内的交互活动。它只显示参与的对 象,而不刻画对象问的上下文关系或对象的属性。顺序图采用两维坐标:垂直轴 表示时间,水平轴表示不同的对象。 顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和它所属 的类名。垂直虚线即生命线表示对象的生存时间段。如果对象在该段时间内的某 点被删除,对应的生命线就在该点结束,并用“x”标记对象被删除。生命线间 的水平有向线段代表对象间交互的消息。并用消息名标记,消息的箭头指明消息 的类型 简单消息、同步消息和异步消息 。生命线可以被分割为多个并发生命线, 每一段代表消息流的一个分支,这些线在某一点会合。消息两端的长瘦矩形代表 激活,激活描述在一定的时问段内对象执行操作的持续时间。 合作图 合作图所描述的内容由两部分组成:对象静态结构的描述,即对象间的链接 关系,又称为上下文:执行行为的描述,即对象间交换消息的顺序,这两个方面 构成了完整的行为规格说明。 transient 标记。对象问的链接关系通常是关联的实例,而且型版也可以附加 在链接角色上,指明对角色的限制。常用的型版有:4association”关联、 天津大学硕士学位论文 第三章u?(介绍 self’自链接对象可以给自己发送消息。 消息流描述对象间传递的各种消息,用依附在链接旁边的箭头表示,指明消 息传递的方向和消息类型 简单消息、同步消息和异步消息 。附加在箭头上的消 息标记符号,指明消息的顺序、名称、参数和返回值类型等,其语法定义如下: Predccoserguard――condition sequence――expression ReZurn―value:”message―nameargument-1ist’ 是一个消息标记的例子: 3(2(4状态图 状态图刻画对象在其生命周期内接受激励后经历的一系列状态,删L的状态 图以DavidHajrel的状态图为基础,包括一系列的状态和状态橱的转移。状态 是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。 状态图中定义的状态有:初态、终态、简单状态、复合状态。其中,初态是状态 图的起始点,终态是状态图的终点。简单状态不可进一步细化,而复合状态可以 进一步细化为多个子状杰。简单状杰和复合状杰包括两个r域:名字域和动作域 可选 ,动作域中所列的动作将在对象处于该状态时执行,且该动作的执行不改 变对象的状态。动作域中事件和动作的语法格式为: event―name argument―list‘,’action―expression 其中event一[1ame可以是任何事件并可带有参数。UML提供了三种不带参数 语法定义如下: retum-value’: ’action-name’ ’argument’,’„’ ’ 复合状态可以进一步地细化为多个子状态,子状态之间有“或关系”和“与 关系”两种关系(“或关系”说明在某一时刻仅可到达一个子状态。“与关系”说 明复合状态中在某一时刻可同时到达多个子状态 称为并发子状态 。 转移状态图中状态之间带箭头的连线称为转移。状态的变迁通常是由事件触 天津大学硕士学位论文 第三章UML介绍 发的,此时应在转移上标出触发转移的幕件表达式。如果转移上未标明事件, 则 表示在源状态的内部活动执行完毕后自动触发转移。事件表达式的语法定义如下: send-clause 其中event―signature用于定义触发转移的事件,其语法定义如 下:8vent 发后应执行的动作,其语法定义如下: 的例子: 3(2(5活动图 活动图的应用非常广泛,它既可描述操作的行为,也可以描述用例和对象内 部的工作过程。活动图是状态图的一种特殊形式,是由状态图变化而来的, 它们 各自用于不同的目的。活动图依据对象状态的变化来捕获动作与动作的结果。活 动图中一个活动结束后将立即进入下一个活动,而在状态图中状态的变迁可能需 要事件的触发。下面分别介绍活动图中的组成元素。 活动和转移,个操作可以描述为一系列相关的活动。活动包括起始点、结束 lause 点、简单活动和组合活动。活动间的转移允许带有guard-ondition,send 一个菱形的判断标志则可以表达活动的条件执行。如果使用一个称为同步条的水 平粗线则可以表示并发活动。 泳道将活动图的逻辑描述与顺序图,合作图的责任描述结合起来。泳道用矩 形框来表示,属于某个泳道的活动放在该矩形框内,将对象名放在矩形框的项部, 表示泳道中的活动由该对象负责。 对象在活动圉中可以出现对象。对氖可以作为活动的输入或输出,对象与活 动间的输入,输出虚线箭头表示。如果仅表示对象受到某一活动的影响,则可用 不带箭头的虚线来连接对象与活动。 信号在活动图中可以表示信号的发送与接收,分别用发送标志和接收标志来 表示。发送和接收标志也可与对象相连,用于表示消息的发送者和接收者。 3(2(6实现图 实现图包括组件图和配置图,展示系统源代码的结构和运行时刻的实现结 天津大学硕士学位论文 第三章U,VlL舟绍 构。 组件 图 , 组件通常为源代码、二进制代码和可执行部件等,是对建模元素物理实现 的抽象。组件图是指用依赖关系链接起来的组件的集合,可以描述与特定语言相 关的编译时刻的依赖关系。组件可以带有接口,因此组件图也可以描述组件之间 的接口关系和调用关系。 配置图 配置图描迷系统硬件的物理拓扑结构咀及在此结构上执行的组件。配置图 可以显示计算节点的拓扑结构和通讯路径、节点上运行的软件组件、软件组件包 含的逻辑单元 对象 等。配置图常常用于帮助理解分布式系统。 天津大学硕士学位论文 第四章。NET介绍 第四章(NET介绍 4(1(NET框架 随着INTEI州ET的发展,基于分层体系结构的WEB应用程序以其跨平台的兼 容性、部署的简单性、开发的商效性以及程序的易维护性在现代程序开发中日益 凸显出其优势。长期以来,这种分层的体系结构在实现中面临了很多问题:其一, 由于编程语言的多样性,造成应用程序之间通信的困难和编程人员开发和维护周 期的延长:其二,组件技术尽管在一定程度上使应用程序具有了面向对象的编程 思想和一定的系统兼容性,但毕竟是一种折中的解决方案。因此,迫切要求一种 新的基于INTERNET的开发平台,既能够采用一个统一的框架进行开发,不必拘泥 于编程语言的不同:又要能够从根本上解决跨平台的兼容性。微软开发的(net 平台提供了很好的解决方案,能够更好的发挥WEB应用三层结构的优势。 (net框架包含三个主要部分:公共语言运行时、具有多层次结构的统一类 库集合和高级版的ASP 又称为ASP+ 公共语言运行时CLR CommonLanguage 程语言的无关性,为所有语言提供了一个统一的运行环境,比传统的三层WEB设 计具有天生的跨平台优势。 (net FRAMEWORK提供了一套操作系统层级的,异步且具有层次结构的可扩 展类库,该类库面向对象的特点确保了应用程序的设计和实现可以采用完全面向 对象的思想,这就不必拘泥子使用第三方组件的限制,同时类的继承、重载功能也 提供了组件所无法提供的简单的可扩展性。另外,由于(net类库采用了命名空 间组织结构,避免了命名冲突,这也保证了(net自身的扩展性。 支持异常控制、类型安全、继承和动态编译。这些特点使得ASP(net技术可以 完全采用面向对象的设计思路和编程方法来高效的开发WEB应用程序。 4(2ASP(1I盱与cl (NET介绍 ASP(NET是微软公司推出的新一代的动态服务器页面,目前的版本是1(0。 它是微软的(NET框架结构中的一个重要组成部分(在性能上。ASP(NET比以往的 天津大学硕士学位论文 第四章,NET介绍 ASP3(0更加强大和稳定:ASP(NET提供了更易于编写、结构更清晰的代码, 这些 代码很容易进行再利用和共享:ASP(NET使用编译后的语言,从而提升性能和伸 缩性;ASP(NET使用Web表单使开发更直观,利用面向对象技术促进组件的再利 用(另外,ASP(N盯中还包括有页面事件、Web控件、缓冲技术以及服务器控件 和对数据捆绑的改进(总之,ASP(NET强大豹功能使之成为开发Web应用程序的 利器之一 c#(NET是VisualStudio系列中的最新成员。这种新语言基于C,c++,但它 深化了更容易地使用面向组件编程的发展方向。DotNet架构框图如图4-I所示: 图4-I(NET架构框 4(3,iSP(NET与e#(NET优点 容的语言 包括Visual 何ASP(NET应用程序都可以使用整个DotNET框架。开发人员可以方便地获 得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 Behind 是最大的优点之一。 这其中代码分离技术 Code ASP(NET可以无缝地与wYslwYGHTML编辑器和其他编程工具 包括 MicrosoftVisual Studio(NET 一起工作。这不仅使得Web开发更加方便,而且 还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖 放到Web页的GUI和完全集成的调试支持。 天津1^ 学硕士学位论文 第四章。NET介绍 择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功 能都能得到同一结构的支持,使管理员能够使用身份验证方案,缓存经常使用的 数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。 Web窗体用于生成功能强大的基于窗体的Web页。生成这些页对,可以使 用ASENET服务器控件来创建公麸uI元素,以及对它们进行编程以用于执行 常见的任务。这些控件使程序员能够用可重复使用的内置或自定义组件生成 Web窗体(从而简化页面的代码。 XML Web Services提供了远程访问服务器功能的途径。通过使用Web服 务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序 就可以获得和操作这些编程接口。通过使用诸如HTTP和XML消息传递之类 Web 的标准跨越防火墙移动数据,XML Services可在客户端一服务器或服务器 WebServices不与特定的组件技术或对 一服务器方案下实现数据的交换。XML 象调用约定相关联。因此,以任何语言编写、使用任何组件模型并在任何操作系 Services。 统上运行的程序,都可以访问XMLWeb 这些模型中的每一个模型都可以充分利用所有ASP(NET功能,以及(NET 框架和(NET框架公共语言运行库的强大功能。这些功能以及使用它们的方法 概述如下: 1 如果程序员具有ASP开发技能,则新的ASPNET编程模型对程序 员来说将会是非常熟悉的。不过,与ASP相比,ASENET对象模型变化显著, 它更为结构化并且面向对象。但这也意味着ASRNET不是完全向后兼容的;几 乎所有现有的ASP夏都必须经过一定程度的修改后才可以在ASP(NET下运 Basic 行。此外,对VisualBasic(NET的一些主要更改也意味着。用Visual 在大多数情况下,只需对少数几行代码进行必要的修改。 2 从ASP(NET应用程序访问数据库是向Web站点访问者显示数据 的常用技术。ASP(NET使得为此目的而对数据库的访问比以往更加方便。它还 使程序员能够扶网站的代码管理数据库。 在应用程序级运行的逻辑。开发人员可以在global(as“文本文件或在作为程序 集部署的己编译的类中编写这种代码。这种逻辑可以包括应用程序级事件,但开 发人员可以轻松地扩展这种模型,以适应他们的Web应用程序的需要。 天津大学萌+学位论文 第四章。NET介绍 4 ASENET提供易用的应用程序和会话状态功能,它们对于ASP开 发人员来说是熟悉的,且容易与所有其他DotNET框架AP]兼容。 Web 服 务器的低级别请求和响应服务交互的手段,并提供与ISAPI扩展非常类似的功 能,但编程模型却较为简单。实现IHt_【pModule接口使程序员可以包含参与对 应用程序发出的每个请求的白定义事件。 另外,它还可以提供相对于ASP和其他Web开发平台来说显著的性能改进。 所有ASRNET代码都是编译的,而不是解释的,这就允许对本机代码采用早期 绑定,强类型处理,以及实时 Jrr 编译,这里只列举几个优点而已。ASENET 还可方便地分解,即开发人员可以移除那些与他们开发的应用程序不相关的模块 例如,会话模块 。ASP(NET还提供丰富的缓存服务 包括内置服务和缓存AP! 两种 。ASENET还提供性能计数器,开发人员和系统管理员可以监视这些性能 计数器,以测试新的应用程序和搜集有关现有应用程序的度量标准。 7 在Web页中编写自定义调试语句,可大大地有助于排除应用程序代 码中的错误。但是,如果不将它移除,会引起麻烦。问题是,在应用程序准备好 移植到生产服务器时从页面中移除调试语句,会需要很大的工作蹙。ASP(NET提 供TraecContext类,在开发页面时该类用于在页面上编写自定义调试语句。只 有当用户已经对页面或整个应用程序启用跟踪时它们才出现。启用跟踪还将有关 请求的细节追加到页面,或者,追加到存储在应用程序根且录中的自定义跟踪查 看器 如果这样指定的话 。 方案。可以方便地移除、添加或者替换这些方案,这取决于应用程序的需要。 ASENET配置设置存储在基于XML的文件中,这些文件都是可读和可写 的。每一个应用程序都可以有不同的配置文件,可以扩展配置方案,以适应用户 的要求。 如果选择(NET进行应用程序开发,c11(NET是你最理想的编程语言。c#几乎 综合了目前所有高级语言的优点,它具有以下几个主要的特点: 简洁的语法: c#使用了统一的操作符,淘汰了c++中乱糟稽的表示符号和 伪关键字,使用了最简单、最常见的形式进行描述。 天津太学硕士学位论文 第四章。NET介绍 精心的面向对象设计:从一开始,c#就是完全按照面向对象来设计的,因此 它具有面向对象所应有的一切特性:封装、继承与多态。 c#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。 在C#中,每种类型都是一个对象,因此不存在全局函数、全局变量、全局常数 等概念,一切的一切都必须封装在一个类中,扶面使代码具有更好的可读性。并 且减少了发生命名冲突的可能。 由于C#自身所具有的强大的面向对象功能,加上VS(NET优秀的开发环境, 从而使开发人员的开发效率得到极大的提高,大大缩短了软件开发的周期。 微软公司推出的DotNET框架中的ASP(NET技术为开发、?EB应用提供了 Framework所提供的全部功能。用它开发的程序可以支持异常控制、类型安全、 继承和动态编译。同时,在ASEnct程序中还可以使用多种支持面向对象编程的 可以采用在ASEnet技术中晟新推出的WebForm编程模型,该模型由底层系统 自动完成客户 cli,t 和服务器 Server 之间繁琐的交互,而且还提供了状态管理 功能,能在不同页面请求之间自动维护页面数据。而XML技术则提供了比较强 的数据交换能力,尤其是对WEB页面的数据能按树形分类存储,能提高页面的 显示效率。所以综合使用ASP(Net与XML技术是WEB应用系统开发更方便, 更高效的解决方案。 ASENET三层架构分为表示层、业务层、数据层。其示意图如图4(2所示: 表示层 业务层效据层 图4-2 ASENET三层架构 从上图可以看出,ASENET中的三层架构开发方法,其思想跟Java一样。 和(vb、tcs等文件编译而成的(ml控件,后面为数据库服务器。 天津大学硕士学位论文 第四章。NET介绍 在ASENET三层架构中,数据库层通过中间层来连接以及操作,前端给中 间层传递参数,并接受中间层的参数。中间层也叫组件逻辑层,组件可以是VB, c#,Jsedpt语言编写的文件编译成的(d11文件,本课题主要是使用(ascx用户控件。 在(NET技术中,(DLL不像以前版本要注册,在ASENET第一次运行时进行完 全编译,不必注册,以后直接调用(dlI就行了,提高了执行效率。 境中的应用程序开发。(NETFramework具有两个主要组件:公共语言运行库 和(NETFramework类库。 Frmnework的基础。您可以将运行库看作一个在执 公共语言运行库是(NET 行时管理代码的代理,它提供核心服务 如内存管理、线程管理和远程处理 , 而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码 准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码 称为托管代码,而不以运行库为目标的代码称为非托管代码。类库是一个综合性 的商向对象静可重用类型集合,您可以使用它开发多种应用程序,这些应用程序 包括传统的命令行或图形用户界面 6uD应用程序,也包括基于ASENET所 services 。 提供的最新创新的应用程序 如Web窗体和XMLWcb 如果要直接使用数据命令对数据集执行命令,所执行的SQL语句或存储过 程常常需要参数。利用Sqlparameter类可以方便的实现参数传递。在本系统的 数据访问层 Da姒ccess层 中的各个类文件的公共方法中利用定义一个 Sqlparameter对象和事先定义好的存储过程进行参数的传递。 4(毛2OataRow类 性和方法检索、评估、插入、删除和更新DataTable中的值。本系统中在 业务 2。 天肄大学硕士学位论文 第四章。NET介绍 库中添加以及修改。 4(4(3 DataC01哪类 属性来确定DataColunm所包含的数据的种类。例如,可以将数据类型限制 为 整数、字符串或小数。 4-4(4 I ataTable类 建新的数据集时,编程方式创建DalaTable以生成新的数据集。 天津太拳硕士学位论文 第五章设计模式在构建wcb系统中的应用 第五章设计模式在构建Web系统中的应用 5(1Web程序中设计模式简介 Web应用程序从开始出现到风靡全球,只经历了短短的几年时间,但是它在 整体架构和实现方式上,已经到了一个比较成熟的水平,这在很大程度上是得益 于既存的软件开发经验和设计模式。 随着面向对象技术的出现和广泛使用,,方面软件的可重用性在一定程度上 已经有所解决,另一方面对软件可重用性的要求同时也越来越高。设计面向对象 的软件很难,而设计可重复使用的面向对象的软件难度更大。开发人员必须找到 适当的对象,将它们分解到粒度和市的类、定义类接口和继承体系,并建立它们 之间的关键联系。 在某个时候,设计师的设计可能是针对当前的具体问题而进行的,但它们可 能通用到足以适应未来的问题和需求。因为他们总是希望避免重复设计,至少将 其减少到最低水平。在一个设计完成之前,有经验的面向对象的设计师往往要重 复使用若干次,而且每次都要进行改进。他们知道,不能只用最初的方法解决每 个问题,常常重复使用那些过去用过的解决方案。当他们找到一个好的解决 方案 时,总是一次又一次地使用它。这些经验也正是他们成为专家的法宝,这就是设 计经验的价值。 因此,可将设计面向对象软件的经验记录成“设计模式” designpattern 。 每个设计模式都有系统命名、解释和评价了的面向对象系统中,个重要的设计。 我们的目标是将设计经验收集成人们可以有效利用的模型。为此。可以记录一些 最重要的设计模式,并以目录形式表现出来。 利用设计模式可方便地重用成功的堤计和结构。把已经证实的技术表示为设 计模式,使它们更加容易被新系统的开发者所接受。设计模式帮助设计师选 择可 使系统重用的 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ,避免选择危害到可重用性的方案。设计模式还提供了类 和对象接口的明确的说明书和这些接口的潜在意义,来改进现有系统的记录和维 护。 设计模式的概念最早是由名为ChristopherAlexander的建筑师提出来 的,他试图找到一种结构化、可重用的方法,以在图纸上捕捉到建筑物的基本要 素。他把注意力放在建筑物和城镇的设计和结构上,可是逐渐地他的思想影响了 软件研究,并在最近流行起来。Alexande提出的模式是指经过时间考验的解决 天津人学硕士学位论文 第五章设计模式 在构建web系统中的应用 方案,使用模式可以降低解决问题的复杂度。在编程时,很多情况下代码都不是 从头编写,而是模仿得来的,即从别处搬过来,再经过一定改造使之适应当前情 况。设计模式可以视为这种模仿的一种抽象,包含一组规则,描述了如何在软件 开发领域中完成一定的任务。从这个意义上讲,所有的算法都属于编程领域的设 计模式。面向对象的设计模式是解决如何在面向对象软件开发中完成一定的任 务。 所谓设计模式,简单地理解,就是,些设计面向对象的软件开发的经验总 结。一个设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向 对象的设计方案。正如Alexande所说的:“每个模式描述了一个在我们身边一荐 发生的问题,它告诉我们这个问题的解的关键,以使你可以成千上万次地利用这 个解,而不需要再一次去解它。”尽管Alexande所说的是有关建筑和城镇的模式, 它同样适用于面向对象的设计模式,只不过要解决的问题是软件开发中一再出现 的问题。 受到普通认可的设计模式的定义是由DrikRiehle和HeiznZullighoven 给 出的:“模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环 境中,该形式不断地重复出现。” 模式的概念是“随设计中要解决的问题的变化而变化的”。更明确地说, 重 复发生的具体形式就是这一重复出现的问题的解。但是一个模式又并不仅仅 是它 的解,问题是在一个特殊的环境中发生的,因此有很多复杂的考
本文档为【基于UML和设计模式的Web应用程序开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_212655
暂无简介~
格式:doc
大小:72KB
软件:Word
页数:39
分类:工学
上传时间:2017-10-16
浏览量:21