序列图主要用于展示对象之间交互的顺序。
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
序列图中涉及的元素:
1. 生命线:
生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。
2. 同步消息
发送人在它继续之前,将等待同步消息响应。
3. 异步消息
在发送方继续之前,无需等待响应的消息。
4. 注释
5. 约束
约束的符号很简单;格式是: [Boolean Test]
6. 组合片段
组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。
常用的组合片段有:
抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。
抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。
选项(Opt)
包含一个可能发生或不发生的序列
循环(Loop)
片段重复一定次数。 可以在临界中指示片段重复的条件。
并行(Par)
下表列出了常用的组合片段:
片段类型 |
名称 |
说明 |
Opt |
选项 |
包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。 |
Alt |
抉择 |
包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。 |
Loop |
循环 |
片段重复一定次数。 可以在临界中指示片段重复的条件。 Loop 组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。 |
Break |
中断 |
如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。 |
Par |
并行 |
并行处理。 片段中的事件可以交错。 |
Critical |
关键 |
用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。 |
Seq |
弱顺序 |
有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。 |
Strict |
强顺序 |
有两个或更多操作数片段。 这些片段必须按给定顺序发生。 |
有关如何解释序列的片段
默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。
以下片段类型可用于更改此释义:
片段类型 |
名称 |
说明 |
Consider |
考虑 |
指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。 在“Messages”属性中键入该列表。 |
Ignore |
忽略 |
此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。 在“Messages”属性中键入该列表。 |
Assert |
断言 |
操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。 |
Neg |
否定 |
此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。 |
UML序列图总结(Loop、Opt、Par和Alt)的更多相关文章
-
UML序列图参考资料
UML各个图的说明:http://www.uml.org.cn/oobject/201509015.asp?artid=16901 UML类图的说明:https://www.cnblogs.com/a ...
-
UML序列图的理解:
UML序列图的理解:UML序列图是指一个对象的方法在处理过程中调用其他对象的图:重点是要突出调用其他对象的序列:
-
UML 序列图
序列图 序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互.显示不同的业务对象如何交互,对于交流当前业务如何进行很有用.序列图是一个用来记录系统需求,和整理系统设计的好图.序列图 ...
-
UML 序列图详解
现在是二月,而且到如今你或许已经读到.或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化.考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG ...
-
【夯实PHP基础】UML序列图总结
原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...
-
【UML】UML序列图总结
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图. 纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色. 类元角色用生命线表示. 当对象存在时,角色用 ...
-
UML序列图总结
转载请注明出处:htt://blog.csdn.net/tianhai110 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在 ...
-
(转)UML序列图总结
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
-
UML序列图总结(转)
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
随机推荐
-
CAShapeLayer(持续更新)
CAShapeLayer 之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识. 普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般 ...
-
python爬虫抓网页的总结
python爬虫抓网页的总结 更多 python 爬虫 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自 ...
-
BZOJ 4027 [HEOI 2015] 兔子与樱花 解题报告
这个题看起来好神的感觉.实际上也好神... 我们可以考虑设 $f_u$ 表示以 $u$ 为根的子树中最多能删多少个点, 再设 $g_u$ 表示以 $u$ 为根的子树中删了 $f_u$ 个点之后,$u$ ...
-
Nodejs实现代理服务器配置
var net = require('net'); var local_port = 8893; //在本地创建一个server监听本地local_port端口 net.createServer(fu ...
-
【数据库】mysql深入理解乐观锁与悲观锁
转载:http://www.hollischuang.com/archives/934 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时 ...
-
Golang微服务:micro实践
micro 使用 工具安装 使用protoc生成代码,依赖两个插件:protoc-gen-go.protoc-gen-micro micro 工具 go get -u github.com/micro ...
-
VC使一个对话框不显示
//add this void CbkDlg::OnNcPaint() { ShowWindow(SW_HIDE); CDialog::OnNcPaint(); } 初始化时 ...
- Redis梳理
-
第21章 RTX 低功耗之睡眠模式
低功耗是 MCU 的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验. 本章节为大家讲解 M3/4的低功耗方式之睡 ...
-
DB2 Check Pending Script
转载 http://www.zinox.com/archives/144 Thanks to Max Petrenko of DB2 Toronto Lab for sharing a very us ...