第02章 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通用知识点概述
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统一建模语言
二、常用的UML元素分析
1、视图
活 动 视 图
活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用 来描述执行算法的工作流程中涉及的活动。 通常活动视图用于对计算流程和工作流程建模。活动视图中的状态 表示计算过程中所处的各种状态。 活动视图是在假定整个计算处理的过程中没有外部事件引起的中断 的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。
UML统一建模语言
二、常用的UML元素分析
2、图
用 例 图
用例图描述了系统提供的一 个功能单元。用例图的主要目的 是帮助开发团队以一种可视化的 方式理解系统的功能需求,包括 基于基本流程的“角色”关系, 以及系统内用例之间的关系。 使用用例图可以表示出用例 的组织关系,这种组织关系包括 整个系统的全部用例或者是完成 相关功能的一组用例。 在用例图中画出某个用例方 式是在用例图中绘制一个椭圆, 然后将用例的名称放在椭圆的中 心或椭圆下面的中间位置。
三、UML的通用机制
2、修饰
在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本 符号可视化地表达了模型元素最重要的信息。 用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加 修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些 变化。
UML统一建模语言
三、UML的通用机制
UML概述
元,是系统参与者与系统之间进行的一次交互作用。
2.2.1 视图
3、交互视图
• 交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序 关系,是描绘系统中各种角色或功能交互的模型。交互视图显示了跨 越多个对象的系统控制流程。
•
我们通过不同对象间的相互作用来描述系统的行为,是通过两种
方式进行的,一种是以独立的对象为中心进行描述,另外一种方式是
以相互作用的一组对象为中心进行描述。
•
交互视图可运使用两种图的形式来表示:序列图和协作图。
4、状态机视图
• 状态机视图是通过对象的各种状态来建立模型来描述对象随时间变 化的动态行为。状态机视图也是通过不同对象间的相互作用来描述系 统的行为的,不同的它是以独立的对象为中心进行描述。
•
状态机视图中,每一个对象都拥有自己的状态,这些状态之间的
包括业务、业务规则、业务流程、工作流程;软件域主要包括软件组 成、软件结构、软件部署等。
为什么建模
• 开发软件活动包括两个方面工作: – 第一是对业务和业务规则的理解和表示; – 第二是规划和设计软件系统。
• 由于业务规模和复杂度不断增加,软件的规模和复杂度也不断增长, 人们对业务的理解、对软件的设计和构造越来越困难,只有借助UML 这种建模语言来表示和理解业务;借助UML语言来设计和构造软件系 统,通过UML来表示和展现系统组成和交互。在软件开发活动中, UML主要用于两个方面的建模:对业务建模和对要构造的软件建模。
•
2.1 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概述
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通用知识点概述
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的基本内容进行介绍包括其起
初始 起点
状态间 的转换
判 断 点
状 态
终止 点
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)注解
UML基础与Rose建模实用教程(第三版)
第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例
chap02UML详细介绍
模版参数
Shape
Shape
(标准图形)
+ Draw ()
(变体图形)
+ Start() : int + Stop() : int
抽象类
- 10 -
接口
UML
模版类
3. 类图
3.3 类图中的关系及解释 3.3.1 关联关系 ※ 描述了类的结构之间的关系。具有方向、名字、角色和多重性等 信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚 合与组合
UML表示法
ClassDiagram
名字 关系的名字是“使用”
方向 双向关联(省略箭头)
+diagram use
角色 类的角色是“事物 “
1..*
多重性 (用数字和*表示) 1…*:1个或多个 1个类图有1个或多个类 1个类属于1个或多个类图
+thing Class
实例
1..*
UML
- 11 -
关联关系
Java代码 public abstract class Vehicle { private float fMaxSpeed; public abstract int Start(); public abstract int Stop(); public abstract int Run(float fSpeed); }
UML表示法
依赖关系
UML
- 12 -
UML表示法 聚合关系 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系
组合关系 语义更强的聚合,部分和整体具有相同的生命周期
UML表示法
部分 整体
chapter02 UML概述
山东科技大学(泰山科技学院)信息工程系
UML范老师
2.2 UML的概念范围
顺序图
顺序图表示了对象之间传送消息的时间顺序。每一个类元 角色用一条生命线来表示—即用垂直线代表整个交互过程 中对象的生命期。生命线之间的箭头连线代表消息。顺序 图可以用来进行一个场景说明—即一个事务的历史过程。 顺序图的一个用途是用来表示用例中的行为顺序。当执行 一个用例行为时,顺序图中的每条消息对应了一个类操作 或状态机中引起转换的触发事件。
山东科技大学(泰山科技学院)信息工程系 UML范老师
2.2 UML的概念范围
2、用例视图
用例视图是被称为参与者的外部用户所能观察到的系统功能 的模型图。用例是系统中的一个功能单元,可以被描述为参 与者与系统之间的一次交互作用。用例模型的用途是列出系 统中的用例和参与者,并显示哪个参与者参与了哪个用例的 执行。 用例也可以有不同的层次。用例可以用其他更简单的用例进 行说明。在交互视图中,用例做为交互图中的一次协作来实 现。
山东科技大学(泰山科技学院)信息工程系 UML范老师
2.2 UML的概念范围
UML 还包括多种具有扩展能力的组件,这些扩展能力有限 但很有用。这些组件包括约束、构造型和标记值,它们适用 于所有的视图元素。
山东科技大学(泰山科技学院)信息工程系
UML范老师ຫໍສະໝຸດ 2.2 UML的概念范围主要的域 视图
静态视图 结构 用例视图 类图 用例图
图
主要概念
类、关联、泛化、依赖关系、实现、接口 用例、参与者、关联、扩展、包括、用例泛化
实现视图
部署视图 状态机视图 活动视图
构件图
部署图 状态机图 活动图 顺序图 协作图
构件、接口、依赖关系、实现
统一建模语言uml_02
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
1. 泛化关系
参与者之间也存在着这种泛化关系 比如,你建模了一个数据库管理员和一个备 份管理员,然后你发现他们的工作中有一部 分是重叠的,那么,你就可以创建一个称为 系统管理员的参与者作为数据库管理员和备 份管理员的泛化
2.3.2 用例
Booch等人在1999年出版的Unified Modeling Language User Guide中将用例定 义为
“若干动作序列集合的描述,包括由系统执行 并产生可观察的、对某参与者有价值的结果的 变体”
Rational统一过程(Rational Unified Process, RUP)将用例定义为
2013-7-3
11
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.1 参与者
planner
图2-1 参与者的符号
2013-7-3
12
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.1 参与者
在UML2.0中,参与者的符号被表示为图2-2 的形式:
2.3.2 用例
Storage System
Stock In
Stock Out storeman Estimate Available Inventory
图2-7 库管员的系统边界
2013-7-3 25
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.2 用例
2.3用例图的表示方法
UML概述
22
2.7 支持UML的工具 支持UML的工具
• Rational Rose • Borland Together • ArgoUML • StarUML • Microsoft visio • ……
23
成功地使用用例的概念是面向对象技术走向第二代的标志
11
2.2 UML的历史 UML的历史
12
2.3 UML的特点 UML的特点
统一的标准, 已经被OMG接受为标准建模语言 统一的标准 已经被 接受为标准建模语言 面向对象, 面向对象 支持面向对象开发 可视化, 可视化, 表示能力很强大 独立于开发过程, 独立于开发过程 可以适用于不同软件过程 概念明确, 表示简洁, 结构清晰, 概念明确 表示简洁 结构清晰 容易学习和掌握
面对众多的方法, 面对众多的方法,用户难以辨别是否适合于自己当前工作 的需要。 的需要。 不同的表示方法妨碍了用户之间的交流。 不同的表示方法妨碍了用户之间的交流。 不同的方法本身也在不断地融合。 不同的方法本身也在不断地融合。
•
UML统一了各种不同的软件分析和设计的建模语言,成 统一了各种不同的软件分析和设计的建模语言, 统一了各种不同的软件分析和设计的建模语言 为系统建模语言的事实上的标准。 为系统建模语言的事实上的标准。
10
2.2 UML的历史 UML的历史
•
三种方法受到推崇
• • •
Booch:Booch ’93《Object-Oriented Analysis and : 《 Design with Applications 》 OMT:Rambaugh’91《Object-Oriented Modeling and : 《 Design》 》 OOSE: Ivar Jacobson’92《Object-Oriented Software 《 Engineering》 》
UML概述
应用于关联的4种修饰: •关联名 •角色名 •多重性 •限定符与约束符
16
面向对象技术基本概念
聚合与组合
聚合(Aggregation)是一种 描述类之间的整体与部分的 组成关系。
17
面向对象技术基本概念
组合(Composition)
组合(Composition)是一种特殊的聚合,它的每个部分体都是必须 的。如下图所示。
24
UML定义
UML(Unified Modeling Language)统一建模语言,是一种 面向对象的建模语言,它的主要作用是帮助用户对软件系统 进行面向对象的描述和建模(建模是通过将用户的业务需求 映射为代码,保证代码满足这些需求,并能方便地回溯需求 的过程),它可以描述这个软件开发过程从需求分析直到实 现和测试的全过程。
11
面向对象技术基本概念
抽象类
抽象类(Abstract Class) 是一种不能直接产生实例的 类,它的作用仅仅是为了其 他的非抽象类继承和重用。
12
面向对象技术基本概念
上图表示了抽象类的应用。其中文本编辑器独立于平台,为 此定义了一个独立于平台的窗口对象类“Window”,它是 一个抽象类,在类名“Window”下标有约束{abstract}。类 “Window”包含有两个方法的名称“toFront()”和 “toBack()”,但是没有方法实现。类“Window”本身不能 有实例,但它有两个特化的子类“Windows Window”和 “Mac Window”,它们包含了方法“ toFront()”和 “toBack()”在不同平台上的实现。在本例中,类 “ Window”的作用是作为文本编辑器类“ Text Editor”的 一个接口。
13
UML概述——精选推荐
UML概述什么是UML?统⼀建模语⾔(UML)维基百科给出如下定义:UML即统⼀建模语⾔(Unified Modeling Language),它是⼀种开放的⽅法,⽤于说明、可视化、构建和编写⼀个正在开发的、⾯向对象的、软件密集系统的制品的开放⽅法。
UML展现了⼀系列最佳⼯程实践,这些最佳实践在对⼤规模,复杂系统进⾏建模⽅⾯,特别是在软件架构层次已经被验证有效。
UML是⼀种图形化语⾔,⽀持模型化和软件系统开发UML”4+1”视图逻辑视图关注的静态元素是:层、⼦系统、类、接⼝,⽤类图来描述。
关注的动态因素是协作关系,⽤时序图、协作图、状态图等来描述。
是否需要在架构设计中体现类和类之间的关系?这取决于设计的层级。
开发视图(实现实体)关注的元素是程序包(SDK、解析器、中间件)、⽂件组织结构、编译依赖关系、⽬标单元(jar、exe、dll等)。
它和逻辑视图的静态元素通常有映射关系。
运⾏视图(进程视图)关注进程、线程、对象等运⾏时概念,以及相关的并发、同步、通信等问题。
运⾏架构和开发架构的关系:开发架构⼀般偏重程序包在编译时期的静态依赖关系,⽽这些程序运⾏起来之后会表现为对象、线程、进程,运⾏架构⽐较关注的是这些运⾏时单元的交互问题。
部署视图关注“⽬标程序及其依赖的运⾏库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和⽹络来配合软件系统的可靠性、可伸缩性等要求。
部署视图和运⾏视图的关系:运⾏视图特别关注⽬标程序的动态执⾏情况,⽽部署视图重视⽬标程序的静态位置问题;部署视图还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的。
UML语⾔是⼀种可视化的的⾯向对象建模语⾔,描述软件模型的静态结构、动态⾏为及模块组织与管理。
三个基本的部分事物(Things)U ML中重要的组成部分,在模型中属于最静态的部分,代表概念上的或物理上的元素关系(Relationships)关系把事物紧密联系在⼀起图(Diagrams)图是很多有相互相关的事物的组4种类型的事物结构事物(Structural things)动作事物(Behavioral things)分组事物(Grouping things)注释事物(Annotational things)UML中的关系依赖(Dependencies)关联(Association)泛化(Generalization)实现(Realization)UML中的9种图类图(Class diagram)对象图(Object diagram)⽤例图(Use case diagram)时序图(Sequence diagram)协作图(Collaboration diagram)状态图(Statechart diagram)活动图(Activity diagram)组件图(Component diagram)部署图(Deployment diagram)⽤例图⽤例图的组成⽤例(use case):表⽰驱动的业务⽬标参与者(Actor):整个建模的中⼼业务⼯⼈(business worker):系统中的被动参与者活动图活动图组成起始点(Initial node)边(Edge)选择(Decision)合并(Merge)分⽀(Fork)汇合(Join)活动终⽌点(Activity final node)类图类图:展⽰软件模型的静态结构、类的内部结构(属性和操作)以及和其他类的关系例: Clock类的完整表⽰属性表⽰[可见性] 属性名[重数][‘:’类型][‘ =’初始值][{约束特征}]可见性(访问控制性)分为+(公有)、#(受保护)或 -(私有)操作表⽰:[可见性] 操作名[‘(‘参数列表’)’][‘:’返回类型] ][{约束特征}]Clock类的简洁表⽰对象图对象图表⽰⼀组对象及它们之间的联系。
第二章UML的概述
实现关系(Realization)
• 实现关系将一种模型元素(如类)与另一种模型 元素(如接口)连接起来,其中接口只是行为的 说明而不是结构或者实现。真正的实现由前一个 模型元素来完成。 • 在UML图中,实现关系一般用带有一条带有空心 箭头的虚线来表示 。
2.3UML的公共机制
• 2.3.1 UML的通用机制 • 1.规格说明(Specification) • 元素语意的文本描述,用来描述细节。
2.修饰(adornment)
• 对标准的表示符号增加细节描述。
• 3.通用划分(common division) • 类和对象的划分 • 接口和实现的划分
2.3.2 UML的扩展机制
• 1. 构造型(stereotype) • 构造型扩展机制是指在已有的模型元素基础上 建立一种新的模型元素。该类与现有的元素相 差不多,只不过比现有的元素多一些特别的语 义罢了。版类与产生该版类的原始元素的使用 场所是一样的。版类可以建立在所有的元素类 型上,比如:类、结点、组件、笔记、关系、 (关联、通用化和依赖)。UML语言中已经预 定义了一些版类,这些预定义的版类可以直接 使用。从而免去了再定义新版类的麻烦,使得 UML语言用起来比较简单。
2.2.3模型元素
• 1、UML中的事物 • 事物是UML模型中面向对象的基本模块,在 模型中属于静态部分。事物作为对模型中最 具代表性的成分的抽象。
• UML中的事物(Things)包括结构事物、行为事 物、分组事物和辅助事物(也称注释事物)。
结构事物(Structure Things)
结构事物是UML中的名词部分。负责描述静态 概念和客观元素。 结构事物主要包括7种,分别是类、接口、协作、用 例、主动类、构件和节点。 • 类(Class)是具有相同属性、相同方法、相同语 义和相同关系的一组对象的集合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ……