UML序列图总结(Loop、Opt、Par和Alt)
序列图主要用于展示对象之间交互的顺序。
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
序列图中涉及的元素:
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 片段中。 |
from: http://www.cnblogs.com/cy568searchx/p/6227238.html
UML序列图总结(Loop、Opt、Par和Alt)相关推荐
- 描述时序的好帮手——UML序列图
一.UML序列图的定义 UML是一种描述上下文不同对象之间,通信.操作.执行细节的序列图.它以时间为基础,并在纵轴上标注发送.接收信息的结点与内容,从而直观地显示对象交互的顺序. UML序列图可用于表 ...
- visio2013-软件UML序列图01
Visio2013绘制软件UML序列图 绘图形状选择 1. 图形选择 2. 子图说明 对象:序列图中的对象是类的实例,它可以是系统的参与者或者任何有效的系统对象: ...
- PowerDesigner建立UML序列图
UML序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一 ...
- [ 利器篇 ] - 快速画一张UML序列图
最近几个项目组的团队进行沟通,有APP交付组的,也有嵌入式设备的交付组,还有云端开发的交付组.几个组一起实现一个涉及APP / Device / Cloud 功能开发,开完讨论会之后,如何用一张图画出 ...
- UML设计java程序_利用UML序列图设计Java应用程序详解
[IT168 技术文章] Java应用程序由许多类所构成,是Java实现面向对象应用程序的核心.类图主要描述Java应用程序中各种类之间的相互静态关系,如类的继承.抽象.接口以及各种关联.要利用UML ...
- 【软件工程】UML序列图
一.概述 序列图(时序图)是一种软件工程行化建模方法,用于可视化系统或应用程序中多个对象之间 的交互.在序列图中,每个对象都表示为竖直线,对象之间的消息则表示为水平箭头 从一个对象指向另一个对象. 序 ...
- UML序列图 - 示例总汇
UML Sequence Diagrams是交互图,详细说明了如何执行操作.它们捕获协作环境中对象之间的交互.序列图是时间焦点,它们通过使用图表的垂直轴来直观地显示交互的顺序,以表示消息的发送时间和时 ...
- 软件工程里的UML序列图的概念和总结
俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现-- 时序图也叫序列图(交互图),属于软件 ...
- 用visio画UML序列图
2019独角兽企业重金招聘Python工程师标准>>> 今天尝试使用visio画了一个序列图. 话不多说,先打开visio,新建一个UML序列. 先新建几个对象生命线 加入几个激活 ...
最新文章
- mysql5.7 temp_MySQL5.7-学习笔记(kylix)-2019.3.29-tempundo
- 郑州网络推广教你如何“悄悄”做网站SEO,惊艳竞争对手?
- java swing 例子(一些)
- c与c十十与python_浅要分析Python程序与C程序的结合使用
- c语言编程用进退法求搜索区间代码,用c对函数进行优化的问题
- 多路查找树之2-3树的删除原理 - 数据结构和算法81
- heartbeat+DRBD+mysql高可用集群实战
- 永远不要因为这个工作不好而辞职、、、、
- 浅谈PHP数字字符串比较
- Delphi书籍 教程下载
- 超级网际搜索(SuperSearch) - 3月30日最新版V5.1.28.94,内置140个搜索引擎
- 数学模型——数学与人类文明的桥梁
- 中国柔性材料行业发展建议及竞争态势研究报告2021年版
- Windows 使用 ssh 命令行 通过密钥连接到 云服务器
- Falsy Bouncer(算法)
- 蓝桥杯-决赛A组第九届java
- 从链家网上爬取租房数据并进行数据分析
- VUE项目中调用高德地图
- 新一配:金融学的历史起源和主要分类【转载】
- QString自动补全