一、时序图
时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,较下级对象依次放在 右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。这样就提供了控制流随着时间推移的清晰的可视化轨迹。
纵向是时间轴,横轴是对象,对象的生命周期沿竖线向下延伸
二、时序图元素
1、角色
系统角色,可以是人、及其甚至其他的系统或者子系统
2、对象
对象包括三种命名方式:
第一种方式包括对象名和类名;
第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;
第三种方式只显示对象名不显示类明。
3、生命线
生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图
4、控制焦点
控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示
5、消息
同步消息 实线+加粗箭头
异步消息 实线+箭头
返回消息 虚线+箭头
消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:
- 同步消息=调用消息(Synchronous Message)(消息的发送者发送完了 只能等待接受者)
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
- 异步消息(Asynchronous Message)(消息的发送者发送完了 可以继续活动)
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
- 返回消息(Return Message)
返回消息表示从过程调用返回
6、自关联消息
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法
7、时序图实例:
8、时序图和协作图是可以相互转化的,只要按F5就可以轻松转化。
中央控制序列图
分布控制序列图
范例:[自调用、调用、创建、销毁、自销毁、同步、异步消息]
循环与条件:[loop 、alt、 opt、 guard警戒]