已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于uml和设计模式的web应用程序开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 软件的规模和复杂度不断增加,使得软件开发面临巨大的挑战。软件复用被 视为解决软件危机、提高软件生产率和质量的可行途径。相比较而言,设计模式 是高层次的软件复用,也更加切实可行。设计模式是面向对象软件设计中的一些 经验的抽象总结,它对于软件设计开发的整个领域都是适用的,并不针对某一类 特定的开发。因此,这些经验可以指导w e b 应用程序的开发,实现灵活可变的 系统架构,在需求发生变化时,可以方便地调整系统,以最小的代价使原有系统 适应新的需求。 本文主要讨论l 眦和设计模式在构建w e b 应用程序中的应用。通过构建河南 省普通高等学校艺术专业考生术科成绩报送系统( 以下称艺术报送系统) 来说明 正确运用u m l 和设计模式对于构建复杂w e b 应用程序的意义。 关键字:设计模式,工厂模式,单体模式,观察者模式,m v c 模式 a b s t r a c t w i mt h es i z ea n dc o m p l e x i t yo ft h es o r w a r ea i n c r e a s i n gc o m m n t l y i t m a k ed e v e l o p m e n to fs o l , r a r e f a c i n g t h ee n o r m o u sc h a l l e n g e t h es o t b v a r e r e - u s i n gi sr e p l i e db yc o n s i d e r i n ga sa n ds o l v i n gt h ec r i s i so f t h es o a r e ,i m p r o v i n g t h ep r o d u c t i v i t yo f m es o r w a r ea n df e a s i b l ew a y o f q u a l i t y c o m p a r a t i v e l ys p e a k i n g d e s i g np a t t e r ni sn o to n l yh i 曲一l e v e ls o r w a r e - r e n s i n g ,b u te v e r lf u r t h c a m o r ef e a s i b l e f o rs o r w a r er e - u s i n g d e s i g np a n c mi st oa b s t r a c ts u m m a r yo fe x p e r i e n c eo fo b j e c t o r i e n t e dp r o g r a m , i ss u i t a b l et os o t h v a r ed e s i g no ft h ew h o l ef i e l di ns o t h v a r e d e s i g n i n g ,n o rd i r e c ta g a i n s ts o m es p e c i a lk i n d so fs o f t w a r ed e v e l o p m e n t t h e r e f o r e , t h ee x p e r i e n c ec a ng u i d et h ed e v e l o p m e n to fw e ba p p l i c a t i o np r o g r a m ,r e a l i z et h e f l e x i b l ea n dv a r i a b l es y s t e m a t i c r a m e w o r k ,w h i l ec h a n g i n gi nd e m a n d ,c a r la d j u s t s y s t e mc o n v e n i e n t l y ,m a k eo r i g i n a ls y s t e mm e e tt h en e wd e m a n ds oa st om i l l i n m m c o s t t h i st h e s i sd i s c u s s e sm a i n l yt h a td e s i g n st h ea p p l i c a t i o no ft h eu m la n dd e s i g n p a t t e r ni ns t r u c t u r i n gw e ba p p l i c a t i o np r o g r a r mt h r o u g hs t r u c t u r eo fe x a m i n e e s u b j e c ts c o r es e n dt h es y s t e mu s i n gb yh i 曲s c h o o lo fh c n a np r o v i n c e , a n d i ti s p r o v e dc o r r e c tt ou s eu m la n dd e s i g n i n gp a t t e mf o rs t r t l c t u r ec o m p l i c a t e dw e b m e a n i n go f a p p l i c a t i o np r o g r a mt oc o m e k e y w o r d s :d e i g np a i t e m , f a c t o r ym o d e l ,s i n g l e t o ni n o g e l ,o b s e r v e rm o d e l ,m v cm o d e l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:前包钧 签字日期;叩争年p 月形日 学位论文版权使用授权书 本学位论文作者完全了解墨鲞盘茎有关保留、使用学位论文的规定。 特授权鑫壅盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:施动导师签名: 惫 签字日期:坩年j 醐日 签字日期:1 年f 月f 6 日 天津大学硕十学位论文第一章绪论 第一章绪论 网络的普及和办公自动化的需求极大地推动了w e b 应用开发。相应地,b s 架构系统,以其灵活、易维护、成本低的优点,逐渐成为企业的首选。企业级的 w e b 应用程序复杂度高。完全满足了企业应用多边、灵活、易维护的要求。因此, 提高w e b 应用开发的效率并获得更高的可靠性、灵活性和易用性成为关键问题。 本文提出基于u 肌和设计模式在w e b 应用开发中的应用,可以有效地解决上述问 题。 基于以上思想,本文根据艺术成绩报送系统项目需求的特点,设计了艺术成 绩报送系统。 下文组织如下:第二章介绍了艺术报送系统开发背景;第三章简要地介绍了 u h i l 的相关知识;第四章对n e t 的知识进行了介绍;第五章结合艺术报送系统的 设计特点,分析了设计模式在艺术报送系统中具体实现;第六章对艺术报送系统 的设计和开发进行了介绍;第七章总结全文并提出了设计模式在w e b 应用程序开 发中应用的前景展望。 天津大学硕士学位论立 第二章艺术报送系统设计简介 2 i 开发背景 第二章艺术报送系统设计简介 随着河南省普通高等考试参加考试昀人数逐年增多以及河南省招生办公室 对网上录取系统的新要求地提出,原有艺术成绩报送系统己不再适合使用。这就 需要开发一个新的艺术成绩报送系统来满足当前需求。根据当前w e b 应用程序 开发和当前需求的特点,在新系统中采用了设计模式来提高系统的性能,在最大 程度上满足用户的需求。 艺术成绩报送系统是在豫招牛艺术专业考生全国普通高等学校向河南省招 生办公室提交艺术专业术科成绩的两上平台。该平台为高校报送艺术专业术科成 绩提供了可靠便捷的操作途径,同时也为河南省招生办公室接收核对艺术专业术 科成绩创造了准确高效的管理平台;是在招生规模日益扩大的背景下,为减轻院 校和招办双方负担而搭建的;是阳光工程的子系统,为录取系统提供计划信息来 源,是录取系统的基础。为了进一步确保系统性能的安全可靠以及使用方法的简 单、方便、快捷,本系统采用了当前比较新颖程序设计模式思想和技术,实现灵 括可变的系统架构,在需求发生变化时,可阻方便地调整系统,以最小的代价使 原有系统适应新的需求。 2 2 基于i ) u m m i s h 分层思想的系统结构 m i c r o s o f t 公司每次推出新技术,总是会相应的推出一些公开源代码的应 用范例来说明该项新技术的特点,而开发者也能通过研究该范例的代码来达到迅 速掌握新技术并与以实施的目的。m i c r o s o f t 通过对一个虚拟的在网上销售图书 的电子商务公司网上销售系统应用的创建,向用户展现了典型的网上购物实践中 最为普遍的电子商务企业对客户( b 2 c ) 模式,它包括成员资格、帐户管理、购 物车、搜索和结帐过程等基本功能。d u w a m is h 经历了三个版本4 0 ,6 0 和7 0 版,每一个版本的发布都印证了技术进步的过程,每一个版本都代表了当时晟先 进的技术动向。 设计思想 在w e b 应用程序中,有部分操作只是简单的从数据库根据条件提取数据,不 需要经过任何处理,而直接将数据显示到网页上,比如查询某类别的图书列表。 而另外一些操作,比如计算定单中图书的总价并根据顾客的级别计算回扣等等, 这部分往往有许多不同的功能的类,操作起来也比较复杂。我们可以先想象一下, 天津大学硕士学位论文 第二章艺术报送系统设计简介 如果我们采用三层结构,这些商业逻辑一般是会放在中间层,那么对内部的这些 大量种类繁多,使用方法也各异的不同的类的调用任务,就完全落到了表示层。 这样势必会增加表示层的代码量,将表示层的任务复杂化,和表示层只负责接受 用户的输入并返回结果的任务不太相称,并增加了层与层之间的耦合程度。 d u w a m i s h 系统结构分析: d l l wa i l l i s h7 0 是一个典型的n 层架构,其结构分为四个逻辑层: w e b 层 w e b 层为客户端提供对应用程序的访问。这一层是作为阢w a i n i s h s l n 解决 方案文件中的w e b 项目实现的。w e b 层由a s p n e t w e b 窗体和代码隐藏文件组 成。w e b 窗体只是用h t m l 提供用户操作,而代码隐藏文件实现各种控件的事件 处理。 业务外观层 业务外观层为w e b 层提供处理帐户、类别浏览和购书的界面。这一层是作 为d u w a m i s h s l n 解决方案文件中的b u s i n e s s f a c a d e 项目实现的。业务外观层 用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系统和支 持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。 业务规则层 业务规则层是作为d u w a m i s h s l n 解决方案文件中的b u s i n e s s r u l e s 项目 实现的,它包含各种业务规则和逻辑的实现。业务规则完成如客户帐户和书籍订 单的验证这样的任务。 数据访问层 数据访问层为业务规则层提供数据服务。这一层是作为d l l w a j n i s h s l n 解决 方案文件中的d a t a a c c e s s 项目实现的。 如图所示,浏览器首先调用的是表示层w e b ,然后w e b 将请求发送给业务外 观层,业务外观层对请求进行初步的处理,判断是否需要调用业务规则层,还是 直接调用数据访问层获取数据。最后由数据访问层访问数据库并按照来时的步骤 返回结果到浏览器 天津大学硕士学位论文第二章艺术报送系统设计简介 i p t _ 囔赫i 凰 t j 女 d :盘。月o s “f j n i * : i 淞。 - :黧| 4 茹l 岛 + l j g u l “ * 蛆 f * _ f 酾t 。目自j 辄+ i 一捌9 + i l g g j i 一* 一 十;攀可一 i 冒 一。靛耘t 裂寸! 国 i 目i : 哺-能 :r ,i 嘲灌怖,# b * 。 | 靠 图2 - 1d u w a n a i s h 系统架构 艺术报送系统是基于d u w a m i s h 分层思想设计和实现的,艺术报送系统的系 统结构图如下; 数据存储 图2 - 2 艺术报送系统系统架构 b u s i n e s s f a c a d e 主要功能为处理业务层事务( 例如验证用户名和密码是否 为空等一些初步的信息) ;业务外观层为w e b 层提供处理帐户、类别浏览和购 书的界面。这一层是作为o t r a m i s h s l n 解决方案文件中的b u s i n e s s f a c a d e 项 目实现的。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开 天津太学硕士学位论文第二章艺术报送系统设计筒舟 来。除了低级系统和支持功能之外,对数据库服务器的所有调用都是通过此程序 集进行的。 c o m m o n 用于存储一些系统共用的功能模块供各层调用; d a t a a c c e s s 数据访问层为业务规则层提供数据服务。这一层是作为 d e w a m i s h s i n 解决方案文件中的d a t a a c c e s s 项目实现的。是专门负责和数据 库的联系取得用户需要的数据 s y s t e m f r a m e w o r k s 系统框架; w e b u i 负责提供用户接口和服务器的连接; ( 例如测览器和w e bs e r v e r 的 联系) ;w e b 层为客户端提供对应用程序的访问。这一层是作为d u w a m i s h s l n 解 决方案文件中的w e b 项目实现的。w e b 层由a s p n e tw e b 窗体和代码隐藏文 件组成。w e b 窗体只是用x h t i f f l 提供用户操作,而代码隐藏文件实现各种控件 的事件处理。 2 3 创新点 本课题创新之处在于将新一代的开发模式、完全面向对象的软件开发思想, 结合最新n e t 的w e b 组件开发技术和y d , 1 1 技术应用到企业信息化网站开发中, 在企业信息即时发布和资源规划管理方面实现通用的、可扩震的解决方案。 2 4 研究方法 本课题拟在分析国内外企业信息化网站现状的基础上,结合当前企业信息化 过程中的特点,找出其中的优点和不足之处,以a s p n e t 网站开发思想,快速组 建企业信息化系统网站,在信息即时发布和资源规划管理方面突出创新。 天津大学硕士学位论文 第三章u m l 介绍 3 1u 札概述: 3 1 1u m l 的出现 第三章u 札介绍 从七十年代末面向对象技术逐渐兴起,到现在己占据了软件开发过程的主 导地位。其中,建模可视为面向对象分析和设计的核心,也是分析和设计过程中 最基本和最关键的活动之一。面向对象的分析和设计应该从建模开始,建模语言 则一直是面向对象技术的研究重点。从1 9 8 9 年到1 9 9 4 年,建模语言的数量从不 到十种增加到了五十多种,一度爆发了“方法大战”。九十年代中期,出现了一 批新方法,最引人注目的是b o o t h l 9 9 3 ,o m t 和d o s eab o o c h 是面向对象方 法的最早倡导者之一,他在1 9 8 6 年描述了面向对象软件开发的基础问题,提出 了面向对象软件工程的概念。1 9 9 1 年,他在“o b j e c t o r i e n td e s i g n ”一书中, 将先前面向a d a 的工作扩展到整个面向对象设计领域。他对继承和类的阐述特别 值得借鉴。b o o c b1 9 9 3 适合于系统的设计和构造。r u m b a u g h 等人提出o m t 方法, 采用了面向对象的概念并引入各种独立于语言的表示符号。该方法用对象模型、 动态模型、功能模型共同完成对整个系统的建模,所定义的概念和符号可用于软 件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段 进行概念和符号的转换。q m t 适用于分析和描述以数据为中心的信息系统。 j a c o b s o n 于1 9 9 4 年提出t 0 0 s e 方法,其最大特点是面向用例( u s e c a s e ) , 并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武 器,但用例贯穿于整个开发过程,包括对系统的测试和验证。目前在学术界和工 业界己普遍接受了用例这一概念,并认为是面向对象技术走向第二代的标志。 d o s e 比较适合支持商业过程和需求分析。各种建模语言,实际上各有千秋,但 仍存在某些差别,这极大地妨碍了用户问的交流。因此有必要在精心比较不同建 模语言优缺点及总结面向对象技术应用实践的基础上,根据应用需求,取其精华, 努力统一建模语言。人们普遍认为,软件工程领域在最近的两、三年内取得了前 所未有的进展,其成果超过软件工程领域过去十至十五年来的成就总和。其中最 重要的成果之一就是标准建模语言u m 以u n i f i e dm o d e l i n gl a n g u a g e ) 的出现。 u m l 是由著名的面向对象技术专家g r a d yb o o c h ,i v a rj a e o b s o n 和j i m e s r u m b a u g h 发起,在b o o c h 表示法、0 0 s e 方法和0 州叮方法的基础上,广泛征求 天津大学硕士学位论文 第三章u m l 介绍 意见,集众家之长,反复修改而完成的。在美国,u 帆己经获得工业界、科技界 和应用界的广泛支持,已有数百家公司表示支持采用u 札作为建模语言。1 9 9 7 年1 1 月1 7 日,u m l 被o m g ( o b j e c tm a n a g e m e n t6 r e u p ) 批准为标准。这标志着面 向对象技术领域中关于建模语言的争论暂告一段落。 标准建模语言u m l 融合了b o o c h ,o 姐,和o o s e 等方法中的基本概念,集众 家之长,并对现有方法的应用范围进行扩展,这是切以l 受到企业界和用户普遍 欢迎的一个原因。u m l 的定义包括u m l 语义和u m l 表示法两个部分,u m l 语义描 述基于u m l 的精确元模型的定义。元模型为u 札的所有元素在语法和语义上提供 了简单、一致、通用的定义性说明,使开发者们在语义上取得了一致,消除了因 人而异的表达方法所造成的影响。此外u m l 还支持对元模型的扩展定义。u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图形符号和文本语 法进行系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在 语义上它是u m l 元模型的案例。 3 1 2u 地语义 u m l 为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的 结构,包括类、接口、属性和关系。行为模型强调系统中对象的行为,包括它们 的交互作用、合作性和状态历史。u m l 为模型表示法提供了完整的语义。2 1 3 u m l 的元模型理论u m l 语言的结构基于四层元模型结构:元元模型、元模裂、 模型和用户对象。如表1 所示。 天津大学硕士学位论文第三章l r m l 介绍 表l 四层元模型结构 层次描述举例 元一元模型元模型结构的基础定义 e t a c l a s s 、m e t aa t t r i b u t e 、 元模型描述语言的模型 m e t a o p e r a t i o n 元模型元一元模型的实例定义 c l a s s 、a t t r i b u t e 、o p e r a t i o n 、 模型描述语言的模型c o m p o n e n t 模型元模型的实例定义信息实际应用的域模型中的类、属性,操 域描述语言的模型作、组件等,例如 s t o c k s h a r e 、 a s k p r i c e 、 s e l l l i m i t e o r d e r 、s t o c k q u o t e s e r v e r 用户对象模型的实例定义一个特特定信息域中对象结构及相互交互, ( 用户数据)定的信息域 例如 6 6 4 6 6 s e l l _ 1 i m i t _ o r d e r 元一元模型层是元模型结构的基础,定义元模型描述语言的模型。它比元模 型具有更高的抽象层次,为准确定义元模型的元素和各种机制提供最基本的概念 和机制。 元模型是元元模型的实例,定义模型描述语言的模型。一个系统往往是由 多个模型的聚集、相互结合和通信组成。元模型通过把属性、操作、结合和通信 进一步抽象为结构元素、行为元素来表达模型,并提供表达系统的机制( 包) 。另 外,为了准确地表达模型的语义,提供了型板,标记值和约束。在这样的元模型 描述下生成的模型实例,可确保语义的准确刻画。模型是元模型的实例,定义特 定信息域描迷语言的模型。模型规定了对象的属性、操作以及聚集、结合和通信, 保证用户对象层的语义正确描述。 用户对象( 用户数据) 是模型的实例,描述了一个特定的信息域,它是按照某 一领域的域模型组织的。任何软件系统在用户看来都是相互通信的具体对象。如 果排除o o 语言表示的细节,这些具体对象构成一对象体系结构,并完成具体的 相互通信,其目的是实现软件系统的功能和性能。从表示的角度,功能、性能即 表示的语义。因此表示法系统必须能表达的第一个层次是用户对象层,即对象实 例及其交互。 天津大学顶士学位论文第三章u m l 介绍 3 1 3 语言的形式化表示方法 u m l 继承了软件工程中形式化规格说明语言的研究成果。因为只有用形式化 的规格说明描述的软件体系结构在其各个开发阶段中才能保证语义的一致性。具 体地说,形式化技术有以下好处: ( 1 ) 提高描述的正确性: ( 2 ) 减少描述的二义性和不一致性: ( 3 ) 作为一种补充的描述手段,使得元模型体系结构的描述更加精确且易于 验证 ( 4 ) 增强描述的可读性。 但是,形式语言约束只能准确刻画静态语义,对于动态语义除了能在几个快 照上加入形式化的描述,还必须以自然语言加以说明,完全形式化是极为复杂的。 因此,为了保持描述的清晰易懂,u m l 在给出自身的语义说明时采用了半形式 化的描述方法,对于每个子包都给出了以下三个层次的说明: ( 1 ) 抽象语法:用u m l 类图给出各个元类之间的关系: ( 2 ) 良构规则( w e l l f o r m e d n e s s ) :用形式语言o c l 表达无边界效应的约束, 这些规定义了正确模型所应满足的约束条件 ( 3 ) 语义:用自然语言描述u m l 的动态语义。 3 2u 扎的图形表示 u m l 表示法是u m l 语义的可视化表示,是用来为系统建模的工具。u m l 定义 了八类图形来表示各种模型的各个方面。从模型的不同描述角度来划分,u m l 可 以由下列四类图( 共八种图形) 来定义: 用例图( u s e c a s ed i a g r a m ) 类图( c l a s sd i a g r a m ) 行为图( b e h a v i o rd i a g r a m ) 状态图( s t a t ed i a g r a m ) 活动图( a c t i v i t yd i a g r a m ) 交互图( i n t e r a c t i o nd i a g r a m ) 顺序圈( s e q u e n c ed i a g r a m ) 合作图( c o l l a b o r a t i o nd i a g r a m ) 实现图( i 加p l e m e n i a t i o nd i a g r a m ) 组件图( c o m p o n e n td i a g r a m ) 天津尢学顼上学位硷文第三章u 亿介绍 配置图( d e p l o y m e n td i a g r a m ) 下面将分别介绍这八个图。 3 2 1 用例图 用例图插述外部执行者理解的系统功能,用于需求分析阶段,它的建立是系 统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。 首先它描述了待开发系统的功能需求:其次。它将系统看作黑盒,从外部执行者 的角度来理解系统:第三,它驱动了需求分析之后各阶段的开发工作,不仪在开 发过程中保证了系统所有功能的实现,而且可用于验证和检验所开发的系统。从 而影响到开发工作的各个阶段和 j m l 的其它图形。在u 虬中,用例图由一组被系 统边界包围的用例、系统边界外的执行者、执行者与用例问的通讯关系组成。 在u m l 中,用例被定义成系统执行的一系列动作,动作执行的结果能被指定 的执行者所察觉。执行者是指用户在系统中扮演的角色。执行者可以是一个外界 系统,外界系统可能需要从当前系统中获取信息与当前系统进行交互。通信关 联表示执行者触发用例,并与用例进行信息交换。使用关系表示一个用例使用了 另一个用例的行为。当在几个用例中存在许多相似的动作,但又不想重复描述这 些动作时,采用使用关系。扩展关系表示一个用例扩展了另一个用例的行为。当 描述一般行为的变化时,采用扩展关系。 3 2 2 类图 在面向对象建模技术中,采用分类的方法将客观世界的实体映射为对象并归 纳成一个个类。类、对象和它们之间的关联是面向对象技术中最基本的元素。对 于一个待描述的系统,其类模型揭示了系统的静态逻辑结构,即系统重要的抽象 元素及元素问的关系。下面对类图包括的主要元素分别进行介绍。 类是具有相似结构、行为、关系的一组对象。类通过名称、属性和操作来描 述。型版是对建模元素的元级划分( m e t rc l a s s i f i c a t i o n ) ,通过对现有建模元 素的划分来增加u m l 语言本身的扩展能力接口描述类、组件或其他实体的外部 可见的行为。模板又称参数化的类,描述带有一个或多个未绑定的形式参数类。 模板不是类,是组类的抽象。关联关系定义类之间的语义联系,是对类实例问 链接的抽象。与类相连的关联终点称为关联角色,每个关联可有一个或多个角色。 关联的多数信息,如关联的多重性、角色名、限定符、导航等均附加在关联角色 上。聚集关系是一种特殊形式的关联,用来说明对象间的整体一部分关系。如果 天津大学硕士学位论文第三章u m l 介绍 整体不存在了,部分仍旧存在。组成关系是一种特殊形式的关联,用来谎明对象 问的整体一部分关系,如果整体不存在了,部分也会随之消失。泛化关系定义一 般元素和特殊元素之间的分类关系。依赖关系表明某个元素的变化将对其他元素 产生影响。如果一个类为其他类提供服务,可采用依赖关系描述客户类对服务提 供者要求的服务。 3 2 3 交互图 用例图和类图刻画了系统的功能需求和结构特性,却无法刻画系统的实时需 求,而交互图则可以用来刻画实时需求。交互图分为顺序图和合作图,它们的功 能类似,但侧重点不同。为实现特殊目的而进行的特定信息交换称为交互。为了 刻画交互,必须指定某一上下文和可能的交互顺序。顺序图不能显示对象协作的 上下文,只能显示协作的行为。合作图刻画了几乎整个上下文,以及与之有关的 对象交互关系。 顺序图 顺序图以时间顺序显示对象在其生命周期内的交互活动。它只显示参与的对 象,而不刻画对象问的上下文关系或对象的属性。顺序图采用两维坐标:垂直轴 表示时间,水平轴表示不同的对象。 顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和它所属 的类名。垂直虚线即生命线表示对象的生存时间段。如果对象在该段时间内的某 点被删除,对应的生命线就在该点结束,并用“x ”标记对象被删除。生命线间 的水平有向线段代表对象间交互的消息。并用消息名标记,消息的箭头指明消息 的类型( 简单消息、同步消息和异步消息) 。生命线可以被分割为多个并发生命线, 每一段代表消息流的一个分支,这些线在某一点会合。消息两端的长瘦矩形代表 激活,激活描述在一定的时问段内对象执行操作的持续时间。 合作图 合作图所描述的内容由两部分组成:对象静态结构的描述,即对象间的链接 关系,又称为上下文:执行行为的描述,即对象间交换消息的顺序,这两个方面 构成了完整的行为规格说明。 在执行期间创建、删除或执行后删除的对象分别用f n e w , d e s t r o y e d t r a n s i e n t ) 标记。对象问的链接关系通常是关联的实例,而且型版也可以附加 在链接角色上,指明对角色的限制。常用的型版有:4a s s o c i a t i o n ”关联、 4 p a r a m e t e r ”过程参数、”l o c a l ”过程内的局部变量、”g l o b a l ,全局变量和” 天津大学硕士学位论文第三章u 介绍 s e l f 自链接对象可以给自己发送消息。 消息流描述对象间传递的各种消息,用依附在链接旁边的箭头表示,指明消 息传递的方向和消息类型( 简单消息、同步消息和异步消息) 。附加在箭头上的消 息标记符号,指明消息的顺序、名称、参数和返回值类型等,其语法定义如下: p r e d c c o s e rg u a r d c o n d i t i o ns e q u e n c e e x p r e s s i o n r e z u r n v a l u e :”m e s s a g e n a m ea r g u m e n t - 1 i s t 其中,p r e d e c e s s o r 表示与其他消息的同步。s e q u e n c e e x p r e s s i o n 表示消 息的顺序,其语法定义为: i n t e g e r l n a m e r e c u r r e n c e ,i n t e g e r 表示消息的 顺序;n a m e 表示并发消息:r e c u r r e n c e 有以下两种形式: i t e r a t i o n c l a u s e 和 c o n d i t i o n c l e u s e ,分别表示消鼠的重复发送和消息的分支发送。下面 是一个消息标记的例子: 1 1 m o d e = d i s p l a y 1 2 n :l :z :p r i m := n e x t p r i m ( p r i m ) 3 2 4 状态图 状态图刻画对象在其生命周期内接受激励后经历的一系列状态,删l 的状态 图以d a v i dh a j r e l 的状态图为基础,包括一系列的状态和状态橱的转移。状态 是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。 状态图中定义的状态有:初态、终态、简单状态、复合状态。其中,初态是状态 图的起始点,终态是状态图的终点。简单状态不可进一步细化,而复合状态可以 进一步细化为多个子状杰。简单状杰和复合状杰包括两个r 域:名字域和动作域 ( 可选) ,动作域中所列的动作将在对象处于该状态时执行,且该动作的执行不改 变对象的状态。动作域中事件和动作的语法格式为: e v e n t n a m ea r g u m e n t l i s t a c t i o n e x p r e s s i o n 其中e v e n t 一 1 a m e 可以是任何事件并可带有参数。u m l 提供了三种不带参数 的标准事件:e n t r y ( 进入该状态时触发) ,d o ( 处于该状态时触发) ,e x i t ( 退出该 状态时触发) a c t i o n - e x p r e s s i o n 指出该事件发生时应执行的动作表达式。其 语法定义如下: r e t u m - v a l u e := a c t i o n - n a m e ( a r g u m e n t ,) 复合状态可以进一步地细化为多个子状态,子状态之间有“或关系”和“与 关系”两种关系“或关系”说明在某一时刻仅可到达一个子状态。“与关系”说 明复合状态中在某一时刻可同时到达多个子状态( 称为并发子状态) 。 转移状态图中状态之间带箭头的连线称为转移。状态的变迁通常是由事件触 天津大学硕士学位论文第三章u m l 介绍 发的,此时应在转移上标出触发转移的幕件表达式。如果转移上未标明事件,则 表示在源状态的内部活动执行完毕后自动触发转移。事件表达式的语法定义如下: e v e n t s i g n a t u r e , g u a r d c o n d i t i o n ”a c t i o n e x p r e s s i o n 1s e n d - c l a u s e 其中e v e n t s i g n a t u r e 用于定义触发转移的事件,其语法定义如 下:8 v e n tn a r t l e ( p a r a m e t e r ,) ,a c t i o n e x p r e s s i o n 描述当转移触 发后应执行的动作,其语法定义如下: d e s t i n a t i o n - e x p r e s s i o n ,d e s t i n a t i o n - m e s s a g e - n a m e a r g u m e n t ,) 其中d e s t i n a t i o n e x p r e s s i o n 是消息发送的目的对象。以下是一个消息串 的例子: l e f t - m o u s e b t n d o w n ( 1 0 c a t i o n ) c o l e r = p i c k _ c o l o r ( 1 0 c a t i o n ) “p e n 3 2 5 活动图 活动图的应用非常广泛,它既可描述操作的行为,也可以描述用例和对象内 部的工作过程。活动图是状态图的一种特殊形式,是由状态图变化而来的,它们 各自用于不同的目的。活动图依据对象状态的变化来捕获动作与动作的结果。活 动图中一个活动结束后将立即进入下一个活动,而在状态图中状态的变迁可能需 要事件的触发。下面分别介绍活动图中的组成元素。 活动和转移个操作可以描述为一系列相关的活动。活动包括起始点、结束 点、简单活动和组合活动。活动间的转移允许带有g u a r d - o n d i t i o n ,s e n dl a u s e 和a c t i o n e x p r e s s i o n ,其语法格式与状态图中定义相同。如果在活动图中使用 一个菱形的判断标志则可以表达活动的条件执行。如果使用一个称为同步条的水 平粗线则可以表示并发活动。 泳道将活动图的逻辑描述与顺序图,合作图的责任描述结合起来。泳道用矩 形框来表示,属于某个泳道的活动放在该矩形框内,将对象名放在矩形框的项部, 表示泳道中的活动由该对象负责。 对象在活动圉中可以出现对象。对氖可以作为活动的输入或输出,对象与活 动间的输入输出虚线箭头表示。如果仅表示对象受到某一活动的影响,则可用 不带箭头的虚线来连接对象与活动。 信号在活动图中可以表示信号的发送与接收,分别用发送标志和接收标志来 表示。发送和接收标志也可与对象相连,用于表示消息的发送者和接收者。 3 2 6 实现图 实现图包括组件图和配置图,展示系统源代码的结构和运行时刻的实现结 天津大学硕士学位论文 第三章u v l l 舟绍 构。 组件图 , 组件通常为源代码、二进制代码和可执行部件等,是对建模元素物理实现 的抽象。组件图是指用依赖关系链接起来的组件的集合,可以描述与特定语言相 关的编译时刻的依赖关系。组件可以带有接口,因此组件图也可以描述组件之间 的接口关系和调用关系。 配置图 配置图描迷系统硬件的物理拓扑结构咀及在此结构上执行的组件。配置图 可以显示计算节点的拓扑结构和通讯路径、节点上运行的软件组件、软件组件包 含的逻辑单元( 对象) 等。配置图常常用于帮助理解分布式系统。 天津大学硕士学位论文第四章。n e t 介绍 4 1 n e t 框架 第四章n e t 介绍 随着i n t e i 州e t 的发展,基于分层体系结构的w e b 应用程序以其跨平台的兼 容性、部署的简单性、开发的商效性以及程序的易维护性在现代程序开发中日益 凸显出其优势。长期以来,这种分层的体系结构在实现中面临了很多问题:其一, 由于编程语言的多样性,造成应用程序之间通信的困难和编程人员开发和维护周 期的延长:其二,组件技术尽管在一定程度上使应用程序具有了面向对象的编程 思想和一定的系统兼容性,但毕竟是一种折中的解决方案。因此,迫切要求一种 新的基于i n t e r n e t 的开发平台,既能够采用一个统一的框架进行开发,不必拘泥 于编程语言的不同:又要能够从根本上解决跨平台的兼容性。微软开发的n e t 平台提供了很好的解决方案,能够更好的发挥w e b 应用三层结构的优势。 n e t 框架包含三个主要部分:公共语言运行时、具有多层次结构的统一类 库集合和高级版的a s p ( 又称为a s p + ) 公共语言运行时c l r ( c o m m o nl a n g u a g e r u n t i m e ) 是n e t 框架的运行环境,它通过中间语言等机制实现基于n e t 的编 程语言的无关性,为所有语言提供了一个统一的运行环境,比传统的三层w e b 设 计具有天生的跨平台优势。 n e tf r a m e w o r k 提供了一套操作系统层级的,异步且具有层次结构的可扩 展类库,该类库面向对象的特点确保了应用程序的设计和实现可以采用完全面向 对象的思想,这就不必拘泥子使用第三方组件的限制,同时类的继承、重载功能也 提供了组件所无法提供的简单的可扩展性。另外,由于n e t 类库采用了命名空 间组织结构,避免了命名冲突,这也保证了n e t 自身的扩展性。 a s p n e t 是a s p 的高级版,是n e t 框架的重要组成部分,构建在c l r 上, 支持异常控制、类型安全、继承和动态编译。这些特点使得a s p n e t 技术可以 完全采用面向对象的设计思路和编程方法来高效的开发w e b 应用程序。 4 2a s p 1 i 盱与c l n e t 介绍 a s p n e t 是微软公司推出的新一代的动态服务器页面,目前的版本是1 0 。 它是微软的n e t 框架结构中的一个重要组成部分在性能上。a s p n e t 比以往的 天津大学硕士学位论文第四章,n e t 介绍 a s p 3 0 更加强大和稳定:a s p n e t 提供了更易于编写、结构更清晰的代码,这些 代码很容易进行再利用和共享:a s p n e t 使用编译后的语言,从而提升性能和伸 缩性;a s p n e t 使用w e b 表单使开发更直观,利用面向对象技术促进组件的再利 用另外,a s p n 盯中还包括有页面事件、w e b 控件、缓冲技术以及服务器控件 和对数据捆绑的改进总之,a s p n e t 强大豹功能使之成为开发w e b 应用程序的 利器之一 2 0 0 1 年底,e c i a 将c # 编程语言批准为一项标准( e c m - 3 3 4 ) 。v i s u a l c # n e t 是v i s u a ls t u d i o 系列中的最新成员。这种新语言基于c c + + ,但它 深化了更容易地使用面向组件编程的发展方向。d o t n e t 架构框图如图4 - i 所示: 4 3 i s p n e t 与e # n e t 优点 图4 - i n e t 架构框 a s p n e t 是一个已编译的、基于n e t 的环境,可以用任何与d o t n e t 兼 容的语言( 包括v i s u a lb a s i c n e t 、c # 和肼n e t ) 创作应用程序。另外,任 何a s p n e t 应用程序都可以使用整个d o t n e t 框架。开发人员可以方便地获 得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 这其中代码分离技术( c o d eb e h i n d ) 是最大的优点之一。 a s p n e t 可以无缝地与w y s l w y gh t m l 编辑器和其他编程工具( 包括 m i c r o s o f tv i s u a ls t u d i o n e t ) 一起工作。这不仅使得w e b 开发更加方便,而且 还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖 放到w e b 页的g u i 和完全集成的调试支持。 天津1 = 学硕士学位论文第四章。n e t 介绍 在创建a s p n e t 应用程序、w e b 窗体和w e b 服务时,开发人员可以选 择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功 能都能得到同一结构的支持,使管理员能够使用身份验证方案,缓存经常使用的 数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。 w e b 窗体用于生成功能强大的基于窗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年福建省晋江市南安市一年级数学期末自测模拟精准押题卷详细参考解析详细答案和解析
- 地铁防汛挡水设施安装方案
- 火电机组集控值班员岗位认证题库及答案
- 除尘工岗前技术理论考核试卷含答案
- 2026学年云南省楚雄市四年级数学期末高分重点试题详细参考解析详细答案和解析
- P2P网络借贷课程期末考试试题
- 去石机安全操作规程
- 药物精制工安全操作规程
- 轻钢龙骨石膏板吊顶防开裂节点施工方案
- 自身免疫性肝病鉴别诊断中国专家共识(2026版)
- 2026年辽宁经济职业技术学院单招职业适应性考试题库及参考答案详解一套
- 人工智能基础期末复习题及答案
- 2026年水利水电安全b证必刷题库及完整答案详解【各地真题】
- 2026年国企社招公共基础知识考点预测真题题库(含答案)
- 卫生院艾滋病管理制度
- 电车充电桩运维人员岗前培训手册
- 部队车辆指挥旗语教案
- 银联国际社会招聘统一试题
- 《中小学幼儿园安全指南》解读专题培训
- 2026年基层公共服务岗位招聘考试笔试试题(含答案)
- 新春开学第一课:大学反诈宣传课件
评论
0/150
提交评论