Web应用程序开发的统一建模语言_第1页
Web应用程序开发的统一建模语言_第2页
Web应用程序开发的统一建模语言_第3页
Web应用程序开发的统一建模语言_第4页
Web应用程序开发的统一建模语言_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

1、Web应用程序开发的统一建模语言 本章内容:本章内容: 4.1 建模技术建模技术 4.2 UML概述概述 4.3 UML的图的图 4.4 UML的应用的应用 第第4章统一建模语言章统一建模语言UML Web应用程序开发的统一建模语言 4.1 建模技术建模技术 建模技术被广泛应用于各个传统行业中。建模技术被广泛应用于各个传统行业中。 对于软件行业,尤其是大型软件的设计和生对于软件行业,尤其是大型软件的设计和生 产,在动手实现软件之前,也需要提前先进产,在动手实现软件之前,也需要提前先进 行软件的分析和设计,构造其各种模型,然行软件的分析和设计,构造其各种模型,然 后按照这些模型进行开发工作。后按

2、照这些模型进行开发工作。 1. 什么是模型什么是模型 简单地说,简单地说,“模型是对现实的简化和抽模型是对现实的简化和抽 象象”。模型提供了将要建立的系统的蓝图。模型提供了将要建立的系统的蓝图。 模型既可以包含详细的计划,也可以包括从模型既可以包含详细的计划,也可以包括从 更高的层次对系统的总体计划。更高的层次对系统的总体计划。 Web应用程序开发的统一建模语言 2. 建立系统模型的目的建立系统模型的目的 模型帮助我们按照实际情况或按照我们所需模型帮助我们按照实际情况或按照我们所需 要的样式对系统进行可视化表述;要的样式对系统进行可视化表述; 模型允许我们详细说明系统的结构和行为;模型允许我们

3、详细说明系统的结构和行为; 模型给出了一个指导我们构造系统的模板;模型给出了一个指导我们构造系统的模板; 模型对我们做出的决策进行文档化。模型对我们做出的决策进行文档化。 Web应用程序开发的统一建模语言 3. 建模的基本原理建模的基本原理 选择正确的模型来解决问题、形成解决方案。选择正确的模型来解决问题、形成解决方案。 (2) 每一种模型可以在不同的精度和分辨率上表每一种模型可以在不同的精度和分辨率上表 示系统。示系统。 (3) 好的模型总是和现实相联系的。好的模型总是和现实相联系的。 (1) (4) 建立一组模型从多角度对系统进行描述建立一组模型从多角度对系统进行描述 。 Web应用程序开

4、发的统一建模语言 4.2 UML概述概述 一、一、UML的发展历史的发展历史 二、二、UML的主要特点的主要特点 三、三、UML的结构的结构 Web应用程序开发的统一建模语言 一、一、UML的发展历史的发展历史 对对UML的创建起关键作用的有三位学者,他们分别的创建起关键作用的有三位学者,他们分别 是是Booch方法、方法、OMT方法、方法、OOSE方法的创始人方法的创始人 Booch,Rumbaugh和和Jacobson。 1996年年6月推出了月推出了UML0.9。 1997年年11月推出了月推出了UMLl.1。 1997年年11月,国际对象管理组织月,国际对象管理组织OMG(Object

5、 Management Group)批准把批准把UML1.1作为基于面向对作为基于面向对 象技术的标准建模语言。象技术的标准建模语言。 2005年的年的4月月OMG宣布宣布UML标准成为标准成为ISO所接受的所接受的 一种标准规范。一种标准规范。 2005年年7月月OMG颁布了颁布了UML2.0版本。版本。 Web应用程序开发的统一建模语言 二、二、UML的主要特点的主要特点 统一的标准,易于使用,可视化,表达力强,易于统一的标准,易于使用,可视化,表达力强,易于 在不同背景的人员之间进行交流。在不同背景的人员之间进行交流。 UML可以运用于任何软件开发过程,即前面所讲可以运用于任何软件开发过

6、程,即前面所讲 述的各种软件工程模型都可以采用述的各种软件工程模型都可以采用UML去建模。去建模。 UML内部有扩展机制,可以对一些概念进行进一内部有扩展机制,可以对一些概念进行进一 步地扩展。步地扩展。 UML的一个最重要的特征是用于建模,而不是一的一个最重要的特征是用于建模,而不是一 种方法,它仅仅是一种建模的工具。种方法,它仅仅是一种建模的工具。 为了模型的可视化,为了模型的可视化,UML为为每一个模型元素规定了每一个模型元素规定了 独特的图形表示符号,这些符号简洁明了能够容纳足独特的图形表示符号,这些符号简洁明了能够容纳足 够的语义,并且容易绘制。够的语义,并且容易绘制。 Web应用程

7、序开发的统一建模语言 三、三、UML的结构的结构 UML是一种可视化建模语言,它有自身的内是一种可视化建模语言,它有自身的内 部结构,部结构,UML结构也称为结构也称为UML的概念模型。的概念模型。 UML的结构主要有三部分:的结构主要有三部分: 构造块构造块包括了用于建立模型而采用的基包括了用于建立模型而采用的基 本事物(本事物(thingsthings)或者说叫做基本的模型元素。)或者说叫做基本的模型元素。 公共机制公共机制主要包括规格说明,修饰,公主要包括规格说明,修饰,公 共分类和扩展机制,可以运用于整个共分类和扩展机制,可以运用于整个UMLUML,以达,以达 到特定目标的公共到特定目

8、标的公共UMLUML方法,方法, 架构规则架构规则即系统的组织结构,规定各种即系统的组织结构,规定各种 UMLUML的构造块如何组织在一起的细则。的构造块如何组织在一起的细则。 Web应用程序开发的统一建模语言 1. UML构造块构造块 UML构造块包含如下三个内容,它们是构造块包含如下三个内容,它们是UML的的 事物,关系和图。事物,关系和图。 (1)(1)事物模型的基本元素,可分四类:即结构事事物模型的基本元素,可分四类:即结构事 物、行为事物、分组事物和注解事物。物、行为事物、分组事物和注解事物。 结构事物:表示结构事物:表示UMLUML模型中的名词,它们通常表示模模型中的名词,它们通常

9、表示模 型中的静态部分,描述系统的物理元素或相关概念。型中的静态部分,描述系统的物理元素或相关概念。 共有共有7 7种结构事物。种结构事物。 类(类(class)在面向对象方法中,类是具有相同属性在面向对象方法中,类是具有相同属性 和相同操作对象的抽象。和相同操作对象的抽象。 类 属性 操作 Web应用程序开发的统一建模语言 接口(接口(interface)接口是指类或构件提供特定服务)接口是指类或构件提供特定服务 的一组操作的集合,接口并不实现操作,而仅仅描述的一组操作的集合,接口并不实现操作,而仅仅描述 类或构件的外部可见行为。类或构件的外部可见行为。 协作(协作(collaboratio

10、n)协作定义了交互的操作,是协作定义了交互的操作,是 一些执行者一些执行者(Actor)和其他元素一起工作,提供一和其他元素一起工作,提供一 些合作的动作,这些动作比元素的总和要大。些合作的动作,这些动作比元素的总和要大。 接 口 打印帐单 协 作 供应接口供应接口 请求接口请求接口 Web应用程序开发的统一建模语言 用例(用例(use case)用例描述了一系列的动作,这些动)用例描述了一系列的动作,这些动 作由特定的执行者执行,并产生执行者可观察到的结作由特定的执行者执行,并产生执行者可观察到的结 果。在模型中用例通常用来组织动作事物。用例是通果。在模型中用例通常用来组织动作事物。用例是通

11、 过协作来实现的。过协作来实现的。 主动类主动类(active class)主动类的对象有一个或多个主动类的对象有一个或多个 进程或线程,它和类很相似,只是它的对象所代表的进程或线程,它和类很相似,只是它的对象所代表的 元素的行为和其他元素的行为可以并发。元素的行为和其他元素的行为可以并发。 管理定货 单 用 例 类 属性 操作 主动类 Web应用程序开发的统一建模语言 构件(构件(component)构件是物理的、可替换的系统)构件是物理的、可替换的系统 部分,它实现了一个接口集合。部分,它实现了一个接口集合。 结点(结点(node)结点是一个物理元素,它在运行时存结点是一个物理元素,它在运

12、行时存 在,代表一个可计算的资源,通常占用一些内存并具在,代表一个可计算的资源,通常占用一些内存并具 有处理能力。有处理能力。 构件 构件 结点 结点 Web应用程序开发的统一建模语言 行为事物:行为事物:是是UML模型模型中的动态部分。它们是模型的中的动态部分。它们是模型的 动词,代表时间和空间上的动作,共有两种主要的行动词,代表时间和空间上的动作,共有两种主要的行 为元素。为元素。 交互(交互(interaction)交互是由一组对象在特定上下)交互是由一组对象在特定上下 文中,为达到特定的目的而进行的一系列消息交换而文中,为达到特定的目的而进行的一系列消息交换而 组成的动作。组成的动作。

13、 状态机状态机(state machine)状态机由一系列对象的状状态机由一系列对象的状 态组成。态组成。 交互和状态机是交互和状态机是UMLUML模型中最基本的两个动态建模型中最基本的两个动态建 模元素,它们通常和其他结构元素、主要的类、对象模元素,它们通常和其他结构元素、主要的类、对象 连接在一起。连接在一起。 显示 消息 状态 Web应用程序开发的统一建模语言 分组事物:分组事物是分组事物:分组事物是UMLUML模型中的组织部分,可以模型中的组织部分,可以 把分组事物看成一个盒子,模型可以在其中被封装和把分组事物看成一个盒子,模型可以在其中被封装和 分解。分解。 只有一种分组事物,称为包

14、。只有一种分组事物,称为包。 包是一种将元素分组的机制。结构事物、动作事包是一种将元素分组的机制。结构事物、动作事 物甚至其他的分组事物都有可能放在一个包中。物甚至其他的分组事物都有可能放在一个包中。 注释事物:注释事物是注释事物:注释事物是UMLUML模型的注解部分。模型的注解部分。 包 注释 Web应用程序开发的统一建模语言 (2) UML中的关系中的关系 关系是指把事物组合在一起,说明两个或多个事关系是指把事物组合在一起,说明两个或多个事 物是如何语义相关的。在物是如何语义相关的。在UML中有中有4种基本关系,即种基本关系,即 依赖、关联、泛化和实现。依赖、关联、泛化和实现。 依赖是两个

15、或者多个事物间的语义上的关系,一个依赖是两个或者多个事物间的语义上的关系,一个 元素元素( (被依赖事物的提供者被依赖事物的提供者) )的变化将影响或者提供消的变化将影响或者提供消 息给另一个元素息给另一个元素( (依赖事物的接收者依赖事物的接收者) )。例如,有两个。例如,有两个 元素,如果元素元素,如果元素A A的变化会引起元素的变化会引起元素B B的变化,则称元的变化,则称元 素素B B依赖于元素依赖于元素A A。 依赖关系 Web应用程序开发的统一建模语言 关联是两个事物结构上的关系,通常,关联关系描关联是两个事物结构上的关系,通常,关联关系描 述给定类的单独对象之间语义上的连接,它提

16、供了不述给定类的单独对象之间语义上的连接,它提供了不 同类间对象可以互相作用的连接。同类间对象可以互相作用的连接。 有一种特殊的关联关系称为聚合,它描述了整体有一种特殊的关联关系称为聚合,它描述了整体 和部分的关系,即整体在物理上由部分构成。聚合暗和部分的关系,即整体在物理上由部分构成。聚合暗 示着整体在概念上处于比局部更高的一个级别,而关示着整体在概念上处于比局部更高的一个级别,而关 联暗示两个类在概念上位于相同的级别。联暗示两个类在概念上位于相同的级别。 组合是聚合的一种特殊形式。当每个部分由一个组合是聚合的一种特殊形式。当每个部分由一个 对象所拥有并且每个部分不能独立于其拥有者,这时对象

17、所拥有并且每个部分不能独立于其拥有者,这时 可以用组合表示整体和部分的这种特殊关系。可以用组合表示整体和部分的这种特殊关系。 Employer Employee 关联关联 01 * Company Employee 聚合聚合 1 * Order Order Item 组合组合 1 * Web应用程序开发的统一建模语言 泛化表示两个事物之间的特殊泛化表示两个事物之间的特殊/一般关系。通过一般关系。通过 泛化,特殊事物,即子元素共享了一般事物的结构和泛化,特殊事物,即子元素共享了一般事物的结构和 行为,即父元素的结构和行为。行为,即父元素的结构和行为。 实现是类元之间的语义关系,表示其中一个类元指

18、实现是类元之间的语义关系,表示其中一个类元指 定由另一个类元保证执行的契约。在定由另一个类元保证执行的契约。在UMLUML中,有两个中,有两个 地方用到了实现关系,一是在接口和它的实现类或组地方用到了实现关系,一是在接口和它的实现类或组 件之间,另一个是在用例和它对应的协作之间。件之间,另一个是在用例和它对应的协作之间。 以上列出的仅仅是以上列出的仅仅是UMLUML中中4 4种最基本的关系,通过种最基本的关系,通过 这这4 4种关系,可以构造出更多的关系构造型,从而组种关系,可以构造出更多的关系构造型,从而组 成复杂的模型。成复杂的模型。 泛化泛化 实现实现 Web应用程序开发的统一建模语言

19、( (3) )UML中的图中的图 在在UMLUML中包含了中包含了9 9种图,通过这种图,通过这9 9种图可以分别从种图可以分别从 静态和动态两个方面对系统进行建模。其中的类图,静态和动态两个方面对系统进行建模。其中的类图, 构件图,部署图用来表示系统的静态结构的静态模型;构件图,部署图用来表示系统的静态结构的静态模型; 对象图,用例图,顺序图,协作图,状态图,活动图对象图,用例图,顺序图,协作图,状态图,活动图 用来表示系统动态结构的动态模型。通过这些图可以用来表示系统动态结构的动态模型。通过这些图可以 表示相关的建模元素以及建模元素之间的关系,组成表示相关的建模元素以及建模元素之间的关系,

20、组成 UMLUML模型各种不同的视图。模型各种不同的视图。 Web应用程序开发的统一建模语言 2. UML的公共机制的公共机制 UML中的公共机制使得中的公共机制使得UML变得简单,并且保变得简单,并且保 证概念的完整性。证概念的完整性。UML有有4类公共机制。类公共机制。 (1)(1)规格说明:对于每一个规格说明:对于每一个UMLUML的图形表示都有一个规的图形表示都有一个规 格说明,这个说明提供了对构造块的语法和语义的文格说明,这个说明提供了对构造块的语法和语义的文 字叙述。字叙述。 (2)(2)修饰:修饰:UMLUML为每一个模型元素设置了一个简单的图为每一个模型元素设置了一个简单的图

21、形符号,通过修饰可以更多地描述构造块的细节。形符号,通过修饰可以更多地描述构造块的细节。 (3)(3)公共分类:有两组公共分类。包括类元与实体公共分类:有两组公共分类。包括类元与实体 (类元表示概念,实体表示具体的成分)、接口和实(类元表示概念,实体表示具体的成分)、接口和实 现(接口用来定义契约,而实现就是具体的内容)。现(接口用来定义契约,而实现就是具体的内容)。 也就是说在用也就是说在用UMLUML建模时,有两种主要的划分,建模时,有两种主要的划分, 即对类和对象的划分以及接口和实现的划分。即对类和对象的划分以及接口和实现的划分。 Web应用程序开发的统一建模语言 (4) 扩展机制:扩展

22、机制:UML提供了扩展机制,使得提供了扩展机制,使得UML本身本身 成为可扩展的语言。简单地理解就是成为可扩展的语言。简单地理解就是UML仅仅提供蓝仅仅提供蓝 本,允许派生出新的事物,允许增加新的规则并可以本,允许派生出新的事物,允许增加新的规则并可以 对新的规则进行描述。对新的规则进行描述。 Web应用程序开发的统一建模语言 3. UML的架构规则的架构规则 UML的规则描述了如何构造一个结构良好的模型,的规则描述了如何构造一个结构良好的模型, 如如UML对命名、范围、可见性、完整性等的语义规则对命名、范围、可见性、完整性等的语义规则 进行了描述。在实际的软件开发过程中,开发人员应进行了描述

23、。在实际的软件开发过程中,开发人员应 该尽力遵循该尽力遵循UML规则,构建良好的系统模型。规则,构建良好的系统模型。 4. UML的视图的视图 一个系统可以从不同的角度进行观察。从某个角一个系统可以从不同的角度进行观察。从某个角 度观察到的系统构成系统的一个视图度观察到的系统构成系统的一个视图(View)(View)。视图不。视图不 是简单的图表,它是由若干幅图组成的对系统的某个是简单的图表,它是由若干幅图组成的对系统的某个 功能的一种抽象。通常在开发一个系统时可以构建功能的一种抽象。通常在开发一个系统时可以构建5 5 种视图,如下所示。种视图,如下所示。 Web应用程序开发的统一建模语言 用

24、户模型视图,又可以称为用例视图,它描述了行用户模型视图,又可以称为用例视图,它描述了行 为者所看到的系统所具有的功能。用户模型视图具有为者所看到的系统所具有的功能。用户模型视图具有 极其重要的地位,它的内容决定了其他视图的内容。极其重要的地位,它的内容决定了其他视图的内容。 常通过用例图来构建用户模型视图。常通过用例图来构建用户模型视图。 结构模型视图,又可以称为逻辑视图,它描述了系结构模型视图,又可以称为逻辑视图,它描述了系 统的静态结构和动态行为。静态结构用类图,对象图统的静态结构和动态行为。静态结构用类图,对象图 来描述。动态结构用状态图,时序图,协作图,活动来描述。动态结构用状态图,时

25、序图,协作图,活动 图来描述。图来描述。 构件视图,描述系统中代码构件的组织,各个模块构件视图,描述系统中代码构件的组织,各个模块 以及模块间的依赖关系。以及模块间的依赖关系。 并发视图,描述了系统的并发性。并发视图,描述了系统的并发性。 部署视图,描述了系统的物理部署。部署视图,描述了系统的物理部署。 Web应用程序开发的统一建模语言 4.3 UML的图的图 在在UMLUML的规范中包含了的规范中包含了9 9种图,分别为类图,构件种图,分别为类图,构件 图,部署图,对象图,用例图,顺序图,协作图,状图,部署图,对象图,用例图,顺序图,协作图,状 态图,活动图。通过这些图可以表示相关的建模元素

26、态图,活动图。通过这些图可以表示相关的建模元素 以及建模元素之间的关系,并组成以及建模元素之间的关系,并组成UMLUML模型各种不同模型各种不同 的视图。的视图。 Web应用程序开发的统一建模语言 一、用例图一、用例图 1.1.用例图展示了系统外部的执行者(用例图展示了系统外部的执行者(Actor)与系统)与系统 所提供的用例(所提供的用例(user case)之间的关系。)之间的关系。 2.2.用例图的主要目的是以一种可视化的方式理解系统用例图的主要目的是以一种可视化的方式理解系统 的功能需求。的功能需求。 3.3.用例图由用例,执行者和他们之间的关系构成。通用例图由用例,执行者和他们之间的

27、关系构成。通 过用例图可以建立用例模型,用例模型描述了一个系过用例图可以建立用例模型,用例模型描述了一个系 统的功能,即一个系统可以做什么。统的功能,即一个系统可以做什么。 下图所示是一个定货系统的用例图下图所示是一个定货系统的用例图 Web应用程序开发的统一建模语言 Web应用程序开发的统一建模语言 4.用例建模的主要步骤:用例建模的主要步骤: 首先定义一个系统;首先定义一个系统; 并在该系统中确定执行者;并在该系统中确定执行者; 确定用例,描述每一个用例;确定用例,描述每一个用例; 确定关系(包括用例与执行者之间的关系,执行者确定关系(包括用例与执行者之间的关系,执行者 之间的关系,用例之

28、间的关系);之间的关系,用例之间的关系); 最后确认所建的模型。最后确认所建的模型。 Web应用程序开发的统一建模语言 (1) 如何确定执行者如何确定执行者 执行者是那些可能使用用例的人或外部系统。执执行者是那些可能使用用例的人或外部系统。执 行者不一定是具体的某个人,它代表的是一个角色,行者不一定是具体的某个人,它代表的是一个角色, 是一个虚拟的概念。一个人或者一个外部的系统都可是一个虚拟的概念。一个人或者一个外部的系统都可 以担任执行者。以担任执行者。 Web应用程序开发的统一建模语言 常常通过提问的方式寻找执行者。常常通过提问的方式寻找执行者。 谁使用系统的主要功能(主要使用者)?谁使用

29、系统的主要功能(主要使用者)? 谁从系统中获得信息?谁从系统中获得信息? 谁向系统提供信息?谁向系统提供信息? 谁管理该系统?谁管理该系统? 系统需要与哪些其他的系统进行交互?系统需要与哪些其他的系统进行交互? 该系统需要控制哪些硬件?该系统需要控制哪些硬件? 该系统使用外部资源吗?该系统使用外部资源吗? 对系统产生的结果感兴趣的是哪些人?对系统产生的结果感兴趣的是哪些人? Web应用程序开发的统一建模语言 (2) 如何确定用例如何确定用例 用例是指对系统所提供的功能的一种描述。用例用例是指对系统所提供的功能的一种描述。用例 可大可小,一个用例对应一个具体的执行目标,是执可大可小,一个用例对应

30、一个具体的执行目标,是执 行者与系统之间为达到某个目的的一次典型交互作用。行者与系统之间为达到某个目的的一次典型交互作用。 常常通过提问来寻找用例:常常通过提问来寻找用例: 执行者要求系统提供哪些功能?执行者要求系统提供哪些功能? 执行者将要创建、修改、删除或存储系统中的哪些执行者将要创建、修改、删除或存储系统中的哪些 信息?信息? 系统中所发生的哪些事件需要通知执行者?系统中所发生的哪些事件需要通知执行者? 该系统需要什么输入,输出?该系统需要什么输入,输出? 该系统所有的功能都有相应的用例吗?该系统所有的功能都有相应的用例吗? Web应用程序开发的统一建模语言 (3) 用例描述用例描述 通

31、常用正文来描述。在描述时应该包括以下的内容:通常用正文来描述。在描述时应该包括以下的内容: 用例的目的用例的目的 用例如何启动的用例如何启动的 用例和执行者之间的消息流用例和执行者之间的消息流 用例中可以供选择的消息流用例中可以供选择的消息流 如何通过给执行者一个值来结束用例。如何通过给执行者一个值来结束用例。 Web应用程序开发的统一建模语言 (4) 确定关系确定关系 用例图中的关系包括用例和执行者之间的关系,执用例图中的关系包括用例和执行者之间的关系,执 行者之间的关系,用例之间的关系。行者之间的关系,用例之间的关系。 用例和执行者之间的关系用例和执行者之间的关系 他们之间的关系描述了他们

32、之间的关系描述了“谁使用哪个用例谁使用哪个用例”,最常见,最常见 的关系是关联关系,如图的关系是关联关系,如图4.174.17所示。所示。 执行者之间的关系执行者之间的关系 由于执行者实质上是类,所以它拥有与类相同的关系由于执行者实质上是类,所以它拥有与类相同的关系 描述,一般来说执行者之间存在泛化关系,泛化关系描述,一般来说执行者之间存在泛化关系,泛化关系 的含义是把某些执行者的共同行为提取出来表示为通的含义是把某些执行者的共同行为提取出来表示为通 用的行为。用的行为。 用例之间的关系用例之间的关系 用例之间的关系有包含关系(用例之间的关系有包含关系(IncludeInclude)和扩展关系

33、)和扩展关系 (ExtendExtend)。)。 Web应用程序开发的统一建模语言 二、类图和对象图二、类图和对象图 1.1.类图和对象图之间的关系。类图和对象图之间的关系。 类是抽象的,是具有相同属性和方法的一组对象的类是抽象的,是具有相同属性和方法的一组对象的 抽象表示。对象是类的实例。抽象表示。对象是类的实例。 类图展示了系统中类的静态结构,即类与类之间的类图展示了系统中类的静态结构,即类与类之间的 相互关系。相互关系。 对象图是类图的一种实例化。一张对象图表示的是对象图是类图的一种实例化。一张对象图表示的是 与其对应的类图的一个具体实例,即系统在某一时期与其对应的类图的一个具体实例,即

34、系统在某一时期 或者某一特定时刻可能存在的具体对象实例以及它们或者某一特定时刻可能存在的具体对象实例以及它们 相互之间的具体关系。相互之间的具体关系。 Web应用程序开发的统一建模语言 订单 DateReceived isPrepaid number:String prce:Money Dispatch() close() 客户 Name address CreditR():String 1 * 类图 定货单#005:订货单 DateReceived:25/03/2006 IsPrepaid:25/04/2006 number:String:100 prce:Money:2500 Dispat

35、ch() close() 张某:客户 Name::张某 Address:00201 CreditR():String 1 * 对象图 Web应用程序开发的统一建模语言 2.2.类图和对象图建立步骤类图和对象图建立步骤 (1)(1)确定类确定类 (2)(2)确定关系确定关系 (3)(3)确定对象确定对象 下面具体说明下面具体说明 Web应用程序开发的统一建模语言 (1)(1)确定类确定类 命名类:命名类:类是来自问题领域,一般通过提问的方式类是来自问题领域,一般通过提问的方式 来寻找类。矩形中顶部的格子中写的是类的名字,类来寻找类。矩形中顶部的格子中写的是类的名字,类 的命名应该明确,无歧义,要

36、便于开发人员和用户之的命名应该明确,无歧义,要便于开发人员和用户之 间的理解和交流沟通。间的理解和交流沟通。 定义属性定义属性 可见性可见性 属性名属性名 :类型:类型 = =初值初值 约束特性约束特性 定义操作定义操作 可见性可见性 操作名操作名 (参数表)(参数表) :返回类型:返回类型 约束特性约束特性 Web应用程序开发的统一建模语言 Web应用程序开发的统一建模语言 (2) 确定关系确定关系 确定关系主要是定义类之间的关系,类之间的关系确定关系主要是定义类之间的关系,类之间的关系 有依赖关系、关联关系、有依赖关系、关联关系、泛化关系和实现关系。泛化关系和实现关系。 依赖关系:依赖关系

37、:依赖是两个或者多个事物间的语义上的依赖是两个或者多个事物间的语义上的 关系,一个元素关系,一个元素(被依赖事物的提供者被依赖事物的提供者)的变化将影响的变化将影响 或者提供消息给另一个元素或者提供消息给另一个元素(依赖事物的接收者依赖事物的接收者)。 Web应用程序开发的统一建模语言 关联关系:关联关系: 关联关系用于描述两个或多个特定类的实例(即对象)关联关系用于描述两个或多个特定类的实例(即对象) 之间的关系。之间的关系。 最常见的关联关系可在两个类之间用一条直线连接,直最常见的关联关系可在两个类之间用一条直线连接,直 线上写上关联名。线上写上关联名。 在关联的两端可写上一个被称为在关联

38、的两端可写上一个被称为“重数重数” 的数值范围,的数值范围, 表示该类有多少个对象可与对方的一个对象连接。表示该类有多少个对象可与对方的一个对象连接。 关联可以有方向,表示该关联的使用方向。可以用线旁关联可以有方向,表示该关联的使用方向。可以用线旁 的小实心三角表示方向,也可以在关联上加上箭头表示方的小实心三角表示方向,也可以在关联上加上箭头表示方 向,箭头指向的是消息的接收者。只在一个方向上的关联,向,箭头指向的是消息的接收者。只在一个方向上的关联, 称作单向关联,在两个方向上都有导航表示的关联,称作称作单向关联,在两个方向上都有导航表示的关联,称作 双向关联。双向关联。 Web应用程序开发

39、的统一建模语言 关联关系的特殊形式有组成关联和聚合关联。关联关系的特殊形式有组成关联和聚合关联。 组成关联用于表示类的对象之间的整体和部分的组成关联用于表示类的对象之间的整体和部分的 关系。也就是说整体拥有各部分,部分与整体共存,关系。也就是说整体拥有各部分,部分与整体共存, 如整体不存在了,部分也会随之消失。如整体不存在了,部分也会随之消失。 聚合关联也用于表示类的对象之间的整体和部分聚合关联也用于表示类的对象之间的整体和部分 的关系。但是与组成关联不同之处是,整体是聚集对的关系。但是与组成关联不同之处是,整体是聚集对 象,部分是构成对象,如果构成对象不存在,聚集对象,部分是构成对象,如果构

40、成对象不存在,聚集对 象还可存在。象还可存在。 Web应用程序开发的统一建模语言 泛化关系:泛化关系:泛化关系描述了类和包间的一般元素和特泛化关系描述了类和包间的一般元素和特 殊元素之间的关系,它表示的是类之间的殊元素之间的关系,它表示的是类之间的“is-a”is-a”的关系,的关系, 也就是父类和子类之间的关系。父类是子类的泛化。继承也就是父类和子类之间的关系。父类是子类的泛化。继承 关系与泛化关系相反,继承关系描述的是子类是从父类中关系与泛化关系相反,继承关系描述的是子类是从父类中 继承的。继承的。 实现关系:实现关系:实现关系用来描述类,接口,构件,包之实现关系用来描述类,接口,构件,包

41、之 间的关系。在类和接口之间的实现关系,以及在构件和接间的关系。在类和接口之间的实现关系,以及在构件和接 口之间的实现关系表示类实现了接口所提供的操作。口之间的实现关系表示类实现了接口所提供的操作。 Web应用程序开发的统一建模语言 (3) 确定对象确定对象 对象是类的实例。对象之间的关系是类之间的关对象是类的实例。对象之间的关系是类之间的关 联的实例。对象图是类图的一种实例化。一张对象图联的实例。对象图是类图的一种实例化。一张对象图 表示的是与其对应的类图的一个具体实例,即系统在表示的是与其对应的类图的一个具体实例,即系统在 某一时期或者某一特定时刻可能存在的具体对象实例某一时期或者某一特定

42、时刻可能存在的具体对象实例 以及它们相互之间的具体关系。以及它们相互之间的具体关系。 Web应用程序开发的统一建模语言 三、交互图三、交互图 1.1.交互图的特点交互图的特点 交互图描述的是一组对象之间的交互过程,实际交互图描述的是一组对象之间的交互过程,实际 上就是用上就是用UMLUML形象地表示对象之间方法的调用,消息形象地表示对象之间方法的调用,消息 的传递过程。的传递过程。 2.2.交互图的形式交互图的形式 有两种形式:顺序图和协作图有两种形式:顺序图和协作图 (1)(1)顺序图顺序图 顺序图描述了多个对象之间进行消息传递的动态协顺序图描述了多个对象之间进行消息传递的动态协 作关系,主

43、要显示了对象之间一系列的方法调用的顺序。作关系,主要显示了对象之间一系列的方法调用的顺序。 可以这么说,可以这么说,UMLUML顺序图的典型用途就是显示出方法调用顺序图的典型用途就是显示出方法调用 过程。过程。 Web应用程序开发的统一建模语言 下图显示了在定货系统中,一个定货的交易事件,通下图显示了在定货系统中,一个定货的交易事件,通 过该交易事件可以把客户需要的商品添加到定货单上。过该交易事件可以把客户需要的商品添加到定货单上。 Web应用程序开发的统一建模语言 (2)(2)协作图协作图 协作图也描述了对象之间的动态协作关系,这一协作图也描述了对象之间的动态协作关系,这一 点与顺序图类似。

44、所不同的是它除了显示对象之间所点与顺序图类似。所不同的是它除了显示对象之间所 传递的消息,还显示对象之间的关系。传递的消息,还显示对象之间的关系。 Web应用程序开发的统一建模语言 说明:说明: 顺序图和协作图均可以表示对象间的协作关系,顺序图和协作图均可以表示对象间的协作关系, 若强调交互的时间和顺序的,则使用顺序图;若强调若强调交互的时间和顺序的,则使用顺序图;若强调 交互时对象之间的关系的,则选用协作图,交互时对象之间的关系的,则选用协作图, Web应用程序开发的统一建模语言 四、状态图四、状态图 1.1.状态图的特点状态图的特点 状态图是对类图的一种补充描述,它展示了此类对象所状态图是

45、对类图的一种补充描述,它展示了此类对象所 具有的可能的状态以及某些事件发生时其状态的转移情况。具有的可能的状态以及某些事件发生时其状态的转移情况。 2.2.状态图的符号集包括如下的基本元素状态图的符号集包括如下的基本元素 (1 1)初始状态:用实心圆来表示,在一张状态图中只能有一)初始状态:用实心圆来表示,在一张状态图中只能有一 个初始状态。个初始状态。 (2 2)状态:又称为中间状态,用圆角矩形来表示。)状态:又称为中间状态,用圆角矩形来表示。 (3 3)状态之间的转换:使用具有开箭头的线段来表示,箭头)状态之间的转换:使用具有开箭头的线段来表示,箭头 旁可以标出转移发生的条件。状态转移可以

46、伴随有某个动作,旁可以标出转移发生的条件。状态转移可以伴随有某个动作, 它表明当转移发生时系统要做什么,用文本说明是什么事件它表明当转移发生时系统要做什么,用文本说明是什么事件 引起这状态改变的。引起这状态改变的。 (4 4)结束状态:用内部包含实心圆的圆表示。在一张状态图)结束状态:用内部包含实心圆的圆表示。在一张状态图 中可能有多个结束状态。中可能有多个结束状态。 Web应用程序开发的统一建模语言 (3)绘制状态图方法)绘制状态图方法 要绘制状态图,首先绘制起点和一条指向该类的要绘制状态图,首先绘制起点和一条指向该类的 初始状态的转换线段。状态本身可以在图上的任意位初始状态的转换线段。状态

47、本身可以在图上的任意位 置绘制,然后只需使用状态转换线条将它们连接起来。置绘制,然后只需使用状态转换线条将它们连接起来。 亮灯状态的状态图示例 Light turn on blink turn off Web应用程序开发的统一建模语言 定货单某个状态图例子定货单某个状态图例子 完 成 后台数据库处理 客户付款 打印帐单 已付款打印中 提交定货单 已录入已处理 Web应用程序开发的统一建模语言 五、活动图五、活动图 1.1.活动图的特点活动图的特点 活动图描述系统中各种活动的执行顺序,通常用于描述活动图描述系统中各种活动的执行顺序,通常用于描述 一个操作中所要进行的各项活动的执行流程以及可选的方

48、一个操作中所要进行的各项活动的执行流程以及可选的方 式。式。 活动图不仅可以描述在处理某个活动时,两个或者更多活动图不仅可以描述在处理某个活动时,两个或者更多 类对象之间的过程控制流,而且,它也常被用来描述一个类对象之间的过程控制流,而且,它也常被用来描述一个 用例的处理流程,或者某种交互流程。用例的处理流程,或者某种交互流程。 Web应用程序开发的统一建模语言 2.2.活动图与状态图的异同点活动图与状态图的异同点 (1) (1) 相同点相同点 活动图与状态图属于活动图与状态图属于UMLUML中的行为图,都可以用于描中的行为图,都可以用于描 述系统的动态模型和组成对象间的交互关系。述系统的动态

49、模型和组成对象间的交互关系。 (2) (2) 不同点不同点 活动图是以活动为中心的,而状态图是以状态为中心的。活动图是以活动为中心的,而状态图是以状态为中心的。 活动图用来描述一个过程中的一系列连续的活动的顺序,活动图用来描述一个过程中的一系列连续的活动的顺序, 而状态图更适合于描述一个对象在一个生命周期中的离散而状态图更适合于描述一个对象在一个生命周期中的离散 的不连续的的某些状态。的不连续的的某些状态。 Web应用程序开发的统一建模语言 3.3.活动图的符号集活动图的符号集 (1)(1)实心圆表示活动图的起点,带边框的实心圆表示实心圆表示活动图的起点,带边框的实心圆表示 终点。终点。 (2

50、)(2)圆角矩形表示执行的过程或活动。圆角矩形表示执行的过程或活动。 (3)(3)菱形表示判定点,说明某些表达式的选择性路径。菱形表示判定点,说明某些表达式的选择性路径。 (4)(4)箭头表示活动之间的转换,各种活动之间的流动箭头表示活动之间的转换,各种活动之间的流动 次序。箭头上的文字表示继续转换所必须满足的条件,次序。箭头上的文字表示继续转换所必须满足的条件, 总是使用格式总是使用格式“ 条件条件 ”来描述。来描述。 (5)(5)粗线条表示分叉与结合,表示了并行进行的过程,粗线条表示分叉与结合,表示了并行进行的过程, 即并发流的开始和结束。即并发流的开始和结束。 (a)(b)(c)(d)(

51、e) (f) Web应用程序开发的统一建模语言 4.4.活动图的类型活动图的类型 (1)(1)基本活动图基本活动图 基本活动图与状态图类似,也包括了初始状态,基本活动图与状态图类似,也包括了初始状态, 结束状态以及中间状态,每个活动之间就是一种状态结束状态以及中间状态,每个活动之间就是一种状态 的变迁。的变迁。 (2)(2)带泳道的活动图带泳道的活动图 活动图中的泳道显示了在图中谁去执行此动作或活动图中的泳道显示了在图中谁去执行此动作或 者任务,也就是该任务由哪个类来完成的。者任务,也就是该任务由哪个类来完成的。 Web应用程序开发的统一建模语言 Web应用程序开发的统一建模语言 Web应用程

52、序开发的统一建模语言 六、构件图六、构件图 1.1.构件图的特点构件图的特点 构件图提供系统的物理视图。构件图提供系统的物理视图。 构件图可以方便地显示构件,接口以及它们之间的各种构件图可以方便地显示构件,接口以及它们之间的各种 关系,从而便于人们分析和发现当修改某个构件时可能对关系,从而便于人们分析和发现当修改某个构件时可能对 那些构件产生影响,以便对它们做相应的修改或更新。那些构件产生影响,以便对它们做相应的修改或更新。 构件可以是源代码构件、二进制目标码构件、可执行构构件可以是源代码构件、二进制目标码构件、可执行构 件或文档构件。件或文档构件。 2.2.构件图的示例图构件图的示例图 We

53、b应用程序开发的统一建模语言 Web应用程序开发的统一建模语言 七、部署图七、部署图 1.1.部署图的特点部署图的特点 部署图描述系统中硬件和软件的物理配置情况和系统体部署图描述系统中硬件和软件的物理配置情况和系统体 系结构。系结构。 部署图表示该软件系统如何部署到硬件环境中,并根据部署图表示该软件系统如何部署到硬件环境中,并根据 它们之间的连接关系,将相应的结点连接起来,并说明其它们之间的连接关系,将相应的结点连接起来,并说明其 连接方式。连接方式。 在部署图中,一个节点可以代表一台实际的物理设备,在部署图中,一个节点可以代表一台实际的物理设备, 如计算机和各种外部设备,或代表一个虚拟机器节

54、点(例如计算机和各种外部设备,或代表一个虚拟机器节点(例 如,一个大型机节点)。如,一个大型机节点)。 2.2.部署图的示例图部署图的示例图 Web应用程序开发的统一建模语言 客户A: 个人电脑PC 客户B: 个人电脑PC 数据库服务 器: VAX 服务器:02 TCP/IP协议 TCP/IP协 议 DecNet协议 Web应用程序开发的统一建模语言 在医院的病房里,将病症监视器安置在每个病床,在医院的病房里,将病症监视器安置在每个病床, 对病人进行监护。监视器将病人的病症信号(组合)对病人进行监护。监视器将病人的病症信号(组合) 实时地传送到中央监护系统进行分析处理。在中心值实时地传送到中央

55、监护系统进行分析处理。在中心值 班室里,值班护士使用中央监护系统对病员的情况进班室里,值班护士使用中央监护系统对病员的情况进 行监控,监护系统实时地将病人的病症信号与标准的行监控,监护系统实时地将病人的病症信号与标准的 病诊信号进行比较分析,当病症出现异常时,系统会病诊信号进行比较分析,当病症出现异常时,系统会 立即自动报警,并打印病情报告和更新病历。系统根立即自动报警,并打印病情报告和更新病历。系统根 据医生的要求随时打印病人的病情报告,系统还定期据医生的要求随时打印病人的病情报告,系统还定期 自动更新病历。自动更新病历。 医院病房监护系统医院病房监护系统 Web应用程序开发的统一建模语言

56、监视监视 病情病情 更新病历更新病历 病房 中 央 值 班 室 产生产生 病情报告病情报告 Web应用程序开发的统一建模语言 系统名称:医院病房监护系统系统名称:医院病房监护系统 根据分析系统主要实现以下功能:根据分析系统主要实现以下功能: 1、病症监视器可以将采集到的病症信号(组合),、病症监视器可以将采集到的病症信号(组合), 格式化后实时的传送到中央监护系统。格式化后实时的传送到中央监护系统。 2、中央监护系统将病人的病症信号与标准的病症信、中央监护系统将病人的病症信号与标准的病症信 号库里的病症信号的正常值进行比较,当病症出现异号库里的病症信号的正常值进行比较,当病症出现异 常时系统自

57、动报警。常时系统自动报警。 3、当病症信号异常时,系统自动更新病历并打印病、当病症信号异常时,系统自动更新病历并打印病 情报告。情报告。 4、值班护士可以查看病情报告并进行打印。、值班护士可以查看病情报告并进行打印。 5、医生可以查看病情报告,要求打印病情报告,也、医生可以查看病情报告,要求打印病情报告,也 可以查看或要求打印病历。可以查看或要求打印病历。 6、系统定期自动更新病历。、系统定期自动更新病历。 Web应用程序开发的统一建模语言 (一)建立系统的用例图(一)建立系统的用例图 通过以下六个问题识别角色通过以下六个问题识别角色 (1)谁使用系统的主要功能?谁使用系统的主要功能? (2)

58、谁需要系统的支持以完成日常工作任务?谁需要系统的支持以完成日常工作任务? (3)谁负责维护,管理并保持系统正常运行?谁负责维护,管理并保持系统正常运行? (4)系统需要应付(或处理)哪些硬设备?系统需要应付(或处理)哪些硬设备? (5)系统需要和哪些外部系统交互?系统需要和哪些外部系统交互? (6)谁(或什么)对系统运行产生的结果(值)谁(或什么)对系统运行产生的结果(值) 感兴趣?感兴趣? Web应用程序开发的统一建模语言 通过回答这六个问题以后,再进一步分析可以识通过回答这六个问题以后,再进一步分析可以识 别出本系统的四个角色:值班护士,医生,病人,别出本系统的四个角色:值班护士,医生,病

59、人, 标准病症信号库。标准病症信号库。 通过分析可以初步识别出系统的用例为:中央通过分析可以初步识别出系统的用例为:中央 监护,病症监护,提供标准病症信号,病历管理,监护,病症监护,提供标准病症信号,病历管理, 病情报告管理。顶层用例图为:病情报告管理。顶层用例图为: 提供标准提供标准 病症信号病症信号 病历管理病历管理 病人病人 标准病症信号库标准病症信号库 医生医生 值班护士值班护士 病症监护病症监护 病情报病情报 告管理告管理 中央监护中央监护 使用使用 使用使用 使用使用 Web应用程序开发的统一建模语言 将用例细化,可以得到分解的用例:将用例细化,可以得到分解的用例: 1、中央监护分

60、解为、中央监护分解为 (a) 分解信号分解信号: 将从病症监护器传送来的组合病症信号将从病症监护器传送来的组合病症信号 分分 解为系统可以处理的信号。解为系统可以处理的信号。 (b) 比较信号比较信号: 将病人的病症信号与标准信号比较将病人的病症信号与标准信号比较 。 (c) 报警报警: 如果病症信号发生异常(即高于峰值),发如果病症信号发生异常(即高于峰值),发 出报警信号。出报警信号。 (d) 数据格式化数据格式化: 将处理后的数据格式化以便写入病历将处理后的数据格式化以便写入病历 库库 。 Web应用程序开发的统一建模语言 2、病症监护分解为:、病症监护分解为: (e) 信号采集信号采集

温馨提示

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

评论

0/150

提交评论