转载: https://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html https://cloud.tencent.com/developer/article/1330326

时序图简介

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

时序图元素

对象(Object)

对象包括三种命名方式:

  • 第一种方式包括对象名和类名;
  • 第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;
  • 第三种方式只显示对象名不显示类名。

image.png

生命线(Lifeline)

生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。

控制焦点(Focus of Control)

控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示,如下图。

image.png

消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。如下图所示:

image.png

  • 同步消息=调用消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
  • 异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
  • 返回消息(Return Message):返回消息表示从过程调用返回。

自关联消息(Self-Message)

表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。

image.png

Combined Fragments

  • Alternative fragment(denoted “alt”)标示 if…then…else
  • Option fragment(denoted “opt”)标示 Switch
  • Parallel fragment(denoted “par”)标示同时发生
  • Loop fragment(denoted “loop”)标示 for
  • Break 标示退出循环

loop

当没有指定循环边界默认范围为 [0,无穷大]

image.png

如果只指定了一个值,那么默认执行该值次数:

image.png

指定了循环边界,则最少执行最小值值,最多执行最大值次数:

image.png

实现 dowhile 方式,至少执行一次,如果 size<0 则退出:
image.png

alt

条件判断,如果 n>0 则执行 agree 函数否者执行 reject 函数

image.png

opt

switch,当满足不同条件执行不同方法:

image.png

break

n=10 时候执行 save 并退出循环

image.png

par

同时进行,比如多个线程同时执行任务

image.png

作者:殷建卫 链接:https://www.yuque.com/yinjianwei/vyrvkf/hdbt4h

来源:殷建卫 - 架构笔记 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。