时序图(Sequence Diagram)是显示对象之间交互的图,是按时间顺序排列的。
时序图中显示的是参与交互的对象及其对象之间消息交互的顺序。
时序图包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。
类图与时序图之间的关系
对象(Actor)
对象是类的实例,对象是通过类来创建的,类是创建对象的模版。
生命线(Lifeline)
表示对象的生存时间,生命线从对象创建开始到对象销毁时终止。
[图片上传中…(image.png-e0a08-1676692163830-0)]
对象状态
对象在生命线上有两种状态:休眠状态、激活状态。
当一个对象没有被激活时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。
当一条消息被传递给对象的时候,它会触发对象的某个行为,该对象被激活。激活用一个细长的矩阵框(在生命线上)表示。
矩形框的高度表示对象执行一个操作所经历的时间段,矩形的顶部表示动作的开始,底部表示动作的结束。
对象接收消息后可以由自己来完成,也可以通过其他对象的操作来完成。
消息(Message)
对象之间的交互是通过相互发消息来实现的。
消息从源对象指向目标对象,一旦发送便将控制从源对象转移到目标对象。
时序图中,消息的阅读顺序是严格自上而下的。
消息分类
- 简单消息
- 同步消息
消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息接收者的回应消息。
- 异步消息
消息的发送者将消息发送给消息的接受者后,不用等待回应的消息,即可开始另一个活动。
示例
参考:[UML]UML系列——时序图(顺序图)sequence diagram - wolfy - 博客园 (cnblogs.com)