第02章 UML概述

合集下载

2-UML简介

2-UML简介

分组事物(Grouping things)
可以把分组事物看成是一个"盒子",模型可以
在其中被分解。目前只有一种分组事物,即 包(package)。结构事物、动作事物甚至 分组事物都有可能放在一个包中。包纯粹是 概念上的,只存在于开发阶段,而组件在运 行时存在。
注释事物(Annotational things)
UML的统一
Grady Booch
Ivar Jacobson
“UML是一种用于具体说明、形象化、并记载
开发中的面向对象系统的工作的语言。它表 现了Booch、OMT和对象符号, 以及大量的 其它方法学的最佳观念的统一。通过统一这 些面向对象方法使用的符号,统一的建模语 言为基于广泛的用户经验基础形成的面向对 象分析和设计领域中的 事实上的标准提供了 基础。”
行为事物(Behavioral things)

行为事物指的是UML模型中的动态部分,代表语句 里的“动词”,表示模型里随着时空不断变化的部 分,包含三类:
交互(interaction):交互是由一组对象之间在特定上下
文中,为达到特定的目的而进行的一系列消息交换而组 成的动作; 状态机(state machine):状态机由一系列对象的状态 组成。 活动(activity):描述了计算过程执行的步骤序列。
UML的资料爆炸性增长
工具爆炸性增长
已经有100多种/Tools/Newindex1.htm
3、UML的基本概念
UML 简介
• 统一建模语言UML(Unified Modeling Language)是 一种绘制软件蓝图的标准语言。 • 可以用UML对软件密集型系统进行可视化、详述、构 造和文档化。 • 从企业信息系统到基于Web的分布式应用,甚至严格 的实时嵌入式系统都适合于用UML来建模。 • 它是一种富有表达力的语言,可以描述开发所需要的 各种视图,然后以此为基础开发系统。

02 第二章 UML通用知识点概述

02 第二章 UML通用知识点概述

2.2常用UML元素
3 模型元素——结构事物——用例
用例(Use Case):描述系统所提供的功能,定义了系统是 如何被参与者使用的
用例表现为对系统的功能描述。
2.2常用UML元素
3 模型元素——结构事物——主动类
主动类能自动地启动控制活动,至少拥有一个进程或线 程
在许多UML工具中,主动类的表示和一般类的表示并无 区别
组合关系是关联关系的一种,是强的关联关系;同样,关联和 组合在语法上无法区分,必须考察具体的逻辑关系。
节点是系统运行时切实存的物理对象,表示某种可计算 资源,往往具有一定的存储能力和处理能力
在Rational Rose中包含两种节点,分别是设备节点和处 理节点
设备节点
处理节点
2.2常用UML元素
3 模型元素——行为事物
结构事物描述模型的静态部分,而行为事物描述模型的 动态部分
行为事物包括:交互(Interaction) 和 状态机(State Machine)
表述对象在它的生命周期中所经历的状态序列以及它们 对那些事件的响应
状态
注意:这是圆 角矩形
2.2常用UML元素
3 模型元素——分组事物
大型软件通常会包含大量的类,因此存在大量的结构事 物和行为事物,为了能够更加有效地对其整合,就需要 进行分组。分组事物就是用于组织管理的。
UML提供了“包(Package)” 来完成这一目标
2.2常用UML元素
3 模型元素——关系
UML要建立并描述软件模型,其构成包括了事物以及事 物之间的关系。
UML中事物间的关系主要包含: 1. 依赖关系 2. 关联关系 3. 泛化关系 4. 实现关系 5. 组合关系 6. 聚合关系

第2章 UML通用知识点概述

第2章 UML通用知识点概述

2、图
序 列 图
序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几 乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系, 还可以很详细地显示对不同对象的不同调用。 序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显 示消息或调用的序列;水平维度显示消息被发送到的对象实例。
UML统一建模语言
二、常用的UML元素分析
1、视图
活 动 视 图
活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用 来描述执行算法的工作流程中涉及的活动。 通常活动视图用于对计算流程和工作流程建模。活动视图中的状态 表示计算过程中所处的各种状态。 活动视图是在假定整个计算处理的过程中没有外部事件引起的中断 的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。
UML统一建模语言
二、常用的UML元素分析
2、图
用 例 图
用例图描述了系统提供的一 个功能单元。用例图的主要目的 是帮助开发团队以一种可视化的 方式理解系统的功能需求,包括 基于基本流程的“角色”关系, 以及系统内用例之间的关系。 使用用例图可以表示出用例 的组织关系,这种组织关系包括 整个系统的全部用例或者是完成 相关功能的一组用例。 在用例图中画出某个用例方 式是在用例图中绘制一个椭圆, 然后将用例的名称放在椭圆的中 心或椭圆下面的中间位置。
三、UML的通用机制
2、修饰
在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本 符号可视化地表达了模型元素最重要的信息。 用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加 修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些 变化。
UML统一建模语言
三、UML的通用机制

UML概述

UML概述

元,是系统参与者与系统之间进行的一次交互作用。
2.2.1 视图
3、交互视图
• 交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序 关系,是描绘系统中各种角色或功能交互的模型。交互视图显示了跨 越多个对象的系统控制流程。

我们通过不同对象间的相互作用来描述系统的行为,是通过两种
方式进行的,一种是以独立的对象为中心进行描述,另外一种方式是
以相互作用的一组对象为中心进行描述。

交互视图可运使用两种图的形式来表示:序列图和协作图。
4、状态机视图
• 状态机视图是通过对象的各种状态来建立模型来描述对象随时间变 化的动态行为。状态机视图也是通过不同对象间的相互作用来描述系 统的行为的,不同的它是以独立的对象为中心进行描述。

状态机视图中,每一个对象都拥有自己的状态,这些状态之间的
包括业务、业务规则、业务流程、工作流程;软件域主要包括软件组 成、软件结构、软件部署等。
为什么建模
• 开发软件活动包括两个方面工作: – 第一是对业务和业务规则的理解和表示; – 第二是规划和设计软件系统。
• 由于业务规模和复杂度不断增加,软件的规模和复杂度也不断增长, 人们对业务的理解、对软件的设计和构造越来越困难,只有借助UML 这种建模语言来表示和理解业务;借助UML语言来设计和构造软件系 统,通过UML来表示和展现系统组成和交互。在软件开发活动中, UML主要用于两个方面的建模:对业务建模和对要构造的软件建模。

2.1 UML概述
• UML在项目开发过程中的作用
– 提供一种易用的、具有可视化建模能力的语言 – 为面向对象建模语言的核心概念提供了可扩展性和规约机制 – 支持高级的开发概念 – 集成了优秀的开发实践成果和经验

UML概述

UML概述

3.2 UML语言概述
1. UML结构 UML使一种建模语言,它具有语言的显著特点:词汇表 和语法。
1) 2) 3) 4)
UML的三种基本的建筑块:事物、关系、图。 UML中的事物包括四种:结构事物、行为事物、分组事物、注释事物 UML中的关系包括四种:依赖、关联、泛化、实现 UML中的图包括九种:类图、对象图、用例图、顺序图、协作图、状态图、 活动图、构件图、实施图(部署图)
建模语言UML
3.1 UML概述
1. UML的发展史
总的来说,UML( Unified Modeling Language )是一种定义良好,易于表达, 功能强大且普遍实用的建模语言。它溶入了软件工程领域的新思想、新方法和新 技术。它不仅可以支持面向对象的分析与设计,更重要的是能够有力地支持从需 求分析开始的软件开发的全过程。
联结表示两个或多个并发控制流的同步。联结有多个输入转 移和一个输出转移。在联结以上,与各路径有关的活动是并行的。 在联结处,并发的流同步,即每个流都要等到所有的输入流都到 达同步条以后,同步条才将多个输入控制流合并,输出一个控制 流,再执行后面的活动。
在上图中,活动Activity3和Activity4是并发进行的,通过同 步条分叉和联结。
ActionState
动作状态的图标
ActivityState entry/draw
活动状态的图标
(2)转移 转移表示从一个动作或活动状态传递 到下一个动作或活动状态的路径。当状态 的动作或活动完成时,控制流立即传递到 下一个动作或活动状态。 简单的、顺序的转移是常见的,但不 是惟一的。转移可以有分支,它根据一个 布尔表达式的值选择一种可能的转移路径。 (3)分支 一个分支可以有一个进入转移、两个 或多个离去转移。在每个离去转移上放置 一个布尔表达式,当布尔表达式为真时, 转移发生。 转移的分支与所有的程序设计分支一 样,各个分支的条件不能矛盾或重叠,同 时所有的分支应该覆盖所有的可能性。

UML概述

UML概述

OOPSLA ´95 Unified Method 0.8
Booch ´93 Other methods Booch ´91
OMT - 2 OMT - 1 OOSE
Fragmentation Fragmentation
Contributions to the UML
Meyer Harel Gamma, et al Before and after Statecharts Frameworks and patterns, conditions HP Fusion Booch Operation descriptions and Booch method message numbering Rumbaugh OMT Jacobson OOSE Embley Singleton classes and high-level view Wirfs-Brock Responsibilities
Information Maintenance
2.3 UML视图和应用领域
一个UML的例子 (HelloWorld)
在Web浏览器中,显示“Hello, World!”的 Java applet程序:
import java.awt.Graphics; public class HelloWorld extends java.applet.Applet { public void paint (Graphics g) { g.drawString("Hello, World!", 10,10); } }
2.2 UML的构成
事物 结构事物 行为事物 分组事物 注释事物 依赖 关联 泛化 实现 用例图 , 顺序图等 9 种
基本构造 块
关系 图

UML通用知识点概述

UML通用知识点概述

27/89
一、 Rational Rose的四种视图模型
4、部署视图
部署视图考虑的是整个解决方案的实际部署情况,所描述的是在当 前系统结构中所存在的设备、执行环境和软件的运行时体系结构,它是 对系统拓扑结构的最终物理描述。
系统的拓扑结构描述了所有硬件单元,以及在每个硬件单元上执行的 软件的结构。
在这样的一种体系结构中,我们可以通过部署视图查看拓扑结构中的 任何一个特定的节点,了解正在该节点上组件执行情况,以及该组件中 包含了哪些逻辑元素(例如类、对象、协作等),并且最终能够从这些 元素追溯到系统初始的需求分析阶段。
❖ 如果不需要特定的语言环境,单击Cancel就可 以直接进入主界面
9/89
Rational Rose主界面
10/89
Rational Rose的界面组成
❖Rational Rose的界面主要有6个部分组成:分 别是菜单(menu)、浏览器(browser)、 文档窗口(document window)、图窗口 (diagram window)、日志窗口(log window)和工具栏(toolbar)
15/89
区工 作
工作区由四部分构成,浏览器、文 档区、图形编辑区和日志区。
浏览器和文档区位于Rational Rose 2003工作区域的左侧。
浏览器是一种树形的层次结构,可以 帮助我们迅速的查找到各种图或者模型 元素。
文档区用于对Rational Rose 2003中
所创建的图或模型元素说明。
16/89
区工 作
编辑区包含了图形工具栏和图的编辑区域,在图的编辑区域中可以根据图 形工具栏中的图形元素内容绘制相关信息。
在图的编辑区添加的相关模型元素会自动地在浏览器中添加,这样使浏览器 和编辑区的信息保持同步。我们也可以将浏览器中的模型元素拖动到图形编辑区

UML概述本章将对UML的基本内容进行介绍包括其起

UML概述本章将对UML的基本内容进行介绍包括其起

初始 起点
状态间 的转换
判 断 点
状 态
终止 点
5. 活动图用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程.
泳 道
开 始
活 动
结 束
6. 构件图指出某些功能实际存在于哪些地方.
构件可以是源代码组件、二进制组件或可执行的组件。 确保最终系统将会被接受。
7. 部署图用于表示该软件系统如何部署到硬件环境中。它是显示在系统中的不同的 构件在何处物理运行以及如何进行彼此的通信。
图之间的作用:系统的部署图利用系统物理结构的节点显示属于该节点的构件, 然后使用构件图显示该构件包含的类,接着使用交互图显示该类对象参与的交互, 最终到达某个用例。
2.2.3 模型元素 把可以在图中使用的基本概念统称为模型元素。模型元素使用相关的语义、 元素的正式定义、确定的语句来表达准确的含义。
2.3 UML的公共机制
在UML中共有4种贯穿于整个统一建模语言并且一致应用的公共机制,这4 种公共机制分别是规格说明、修饰、通用划分和扩展机制。 又分为通用机制和扩展机制。
6. 物理视图 物理视图包含两种视图,分别是实现视图和部署视图。
物理视图对自身的实现结构建模。 物理视图提供了将系统中的类映射成物理构件和节点的机制。 实现视图将系统中可重用的块包装成为具有可替代性的物理单元即构件。 部署视图表示运行时的计算资源(节点)的物理布置。
7. 模型管理视图 模型管理视图是对模型自身组织进行的建模,是由自身的一系列模型元素(如类、 状态机和用例)构成的包所组成的模型。
模型元素划分为事物和关系。
1. 事物 事物是UML模型中面向对象的基本模块,它们在模型中属于静态部分。
(1)结构事物(Structural Thing)7种P41 (2)行为事物(Behavioral Thing)两类P42 (3)分组事物(Grouping Thing)包 (4)注释事物(Annotational Thing)注解
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HelloWorld类图 1

注释
HelloWorld类图 2
继承关系
依赖关系
HelloWorld顺序图
HelloWorld构件图
2.8 一个UML的例子
import java.awt.Graphics; class HelloWorld extends java.applet.Applet { public void paint(Graphics g) { g.drawString(“Hello, World!”, 10, 10); } }
2.2 UML的历史
UML之前的OO方法:
Shlaer/Mellor的OOSA方法, 1988
R. WirfsBrock的职责驱动CRC卡片方法, 1990
P. Coad & E. Yourdon的OOA/OOD方法, 1991 Grady Booch的Booch方法, 1991 James Rumbaugh的OMT, 1991 Ivar Jacobson的OOSE方法, 1992 · · · · · ·
顺序图
(sequence diagram)
协作图
(collaboration diagram)
2.5 UML中的视图 表示系统的概念设计和
子系统结构等 说明代码的结构
逻辑视图 (Logical View) 实现视图 表示系统功能性需求 (Implementation View)
说明系统中并发执行和 用例视图 定义硬件结点的物理结构 同步情况 (Use Case View) 进程视图 (Process View) 部署视图 (Logical View)
UML
规则
命名 范围 可见性 完整性 可执行 规范说明 修饰 通用划分 扩展机制
公共机制
2.4 UML的构成
活动图
(activity diagram)
状态图
(state diagram)
需求
用例图
(use case diagram)
类图
(class diagram) (简单的)
类图
(class diagram) (复杂的)
第2章 UML概述
2.1 为什么需要UML
使用(或建立)模型在软件开发中的意义: 更好的理解问题 加强参与人员之间的沟通
尽早发现错误或疏漏的地方
获取设计结果 为生成代码提供依据
2.1 为什么需要UML
Unified Modeling Language是一种绘制软件蓝图的标准 语言,可以用UML对软件密集型系统的制品进行可视 化、详述、构造和文档化。 UML统一了各种不同的软件分析和设计的建模语言, 成为系统建模语言的事实上的标准。
2.2 UML的历史
UML 2.0 UML 1.5 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9&0.91 Unified Method 0.8 UML合作伙伴意见
Booch'93
其它方法
OMT-2 OMT-1 OOSE
Booch'91
2.3 UML的特点
统一的标准, 已经被OMG接受为标准建模语言 面向对象, 支持面向对象开发
可视化, 表示能力很强大
独立于开发过程, 可以适用于不同软件过程
概念明确, 表示简洁, 结构清晰, 容易学习和掌握
2.4 UML的构成
基本构造块事物来自关系 图结构事物 行为事物 分组事物 注释事物 依赖 关联 泛化 实现 用例图, 顺序图等9种
2.6 UML的应用领域
UML最常用的是进行软件系统建模 UML还可以描述非软件系统, 如机构组成或工作流等 UML可以应用于系统开发的各个阶段
2.7 支持UML的工具
Rational Rose Borland Together ArgoUML StarUML Microsoft visio ……
相关文档
最新文档