一、 时序图
时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。
二、 作用
1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间顺序;
3、可以直观的描述并发进程。
三、 组成元素
- 角色
系统角色,可以是人、机器、其他系统、子系统。 对象位于时序图的左边,通常用一个小人表示。 - 对象
对象,在不同的构图软件中,有不同的角色。一般是描述一个对象、一个模块、一个系统。对象位于时序图的顶部,以一个矩形表示。
对象命名:
第一种方式包括对象名和类名,例如:直播课时:课时,在时序图中,用“对象:类”表示;
第二种方式只显示类名,即表示它是一个匿名对象,例如: :课程;在时序图中,用“:类”表示;
第三种方式只显示对象名不显示类名,例如:讲师;在时序图中,用“对象”表示。
对象排列顺序
对象的左右顺序并不重要,但是为了作图清晰整洁,通常应该遵循以下二个原则:把交互频繁的对象尽可能的靠拢把初始化整个交互活动的对象放置在最左端。 - 生命线
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(时间线),以一条垂直的虚线表示,对象间的消息存在与二条虚线间。 - 控制焦点/激活期
它代表时序图在对象时间线上某段时期执行的操作,以一个很窄的矩形表示。 - 消息
表示对象之间发送的信息。消息分为四种类型。
消息类型 表示
同步消息 实心箭头 + 实线
异步消息 空心箭头 + 实线
返回消息 实心箭头 + 虚线
自关联消息 实心箭头 + 实线
自关联消息:表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。 - 组合片段
抉择
抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。
选项
包含一个可能发生或不发生的序列;
循环
片段重复一定次数,可以在临界中指示片段重复的条件。 - 并行
并行处理。片段中的事件可以交错。 - 四、 图例