顺序图
时序图是可视化地展示对象与对象之间的联系的图,与其他的图相比,它跟侧重于表现为了完成一个用例,对象之间是怎么协同工作的。
顺序图是UML两种交互图之一(另一种是协作图)
- 顺序图强调时间顺序
- 协作图强调先后顺序
建模元素
对象
对象命名的三种方式:
- 对象名:类名
- :类名
- 对象名
(下划线是可选的)
对于staruml
添加Actor可以在右键添加Actor
(一般都是以角色开始)
生命线
从对象上向下延伸的虚线,表示对象存在的时间
控制焦点
代表对象活跃的时间区间,所谓活跃,就是该对象在执行内置逻辑,运行代码,类似于在代码里表示{},是用一个小矩形表示。
控制焦点可重叠,两个控制焦点重叠,就相当于{{}}
消息
消息分为发送消息和返回消息,发送消息又根据发送形式不同,分为同步消息和异步消息
发送消息类似于代码中的调用关系,A对象调用B对象,就相当于A对象向B对象发送了调用消息,需要B执行相关逻辑,箭头指向消息接收方,也就是B
同步消息代表着调用之后,要一直等待,等待消息处理并返回;异步消息则可以马上回来,去做别的事情,所以如果是同步消息,并且需要画返回消息,则控制焦点就需要拉长,直到返回消息回来,而异步消息就没有这个限制
返回消息就是发生调用之后返回的结果,有返回消息,之前必须要有发送消息。
自关联消息
对象内方法调用
迷路消息和拾取消息
迷路消息,意思是消息发出去了,没有被处理或者接受者不在这个系统里,没有被处理的情况,不存在于函数调用中,存在于消息队列中,当消息队列中的消息出列被处理的时候,发现不存在处理者;
拾取消息,意思是来自其他系统的消息。
控制逻辑
参考资料
- https://www.cnblogs.com/jimmyai/p/staruml_sequence.html