Uml时序图 - littleboy12580/learning_python GitHub Wiki
时序图的基本组成
时序图是用来显示对象之间交互的图,这些对象是按时间顺序排列的;时序图中显示的是参与交互的对象及其对象之间消息交互的顺序;它更加注重消息的出现顺序而非消息本身;时序图由以下部分组成:对象,生命线,消息,控制焦点,组合片段。其基本结构如图所示:
对象
对象包括三种命名方式:
- 第一种方式包括对象名和类名;
- 第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;
- 第三种方式只显示对象名不显示类明。
一般而言使用第一种或第二种来表示对象
生命线
生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图所示:
消息
消息分为3种,同步消息,异步消息和返回消息;
同步消息
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制;这样的消息就是同步消息。在UML中同步消息用实线线段加黑色实心闭合箭头来表示。
异步消息
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制;这样的消息就是异步消息;异步消息的接收者和发送者是并发工作的;在UML中异步消息用实线线段加黑色开放箭头表示
返回消息
返回消息表示从过程调用返回;在UML中用虚线加黑色开放箭头表示
下图展现了3种消息的表示:
自关联消息
自关联消息表示方法的自身调用以及一个对象内的一个方法调用另外一个方法;其在UML中的表示如下图:
组合片段
在时序图中有一些组合片段如Alternative fragment(简称 “alt”) ,Option fragment (简称 “opt”),Loop fragment(简称 “loop”)可以做到一些条件判断或循环等流程的表示。
Alternative fragment
alt和if...else...类似,用来表示选择流程语句,其用法示例如下图:
Option fragment
opt和switch流程语句类似,用来表示择取,其用法示例如下图:
Loop fragment
loop和for循环类似,用于循环流程,其用法示例如下图: