初识时序图

时序图是UML用例图中的一种,也称为序列图或顺序图。通常,我们使用时序图来展示对象之间消息传递的时间顺序,包括发送消息、接收消息、处理消息和返回消息等。

时序图的作用是什么?

1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间顺序;
3、可以直观的描述并发进程。

时序图组成元素

角色

系统角色,可以是人、机器、其他系统、子系统;在时序图中用人形头像表示。

对象(Object)

对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:

第1种方式包括对象名和类名,例如:直播课时:课时,在时序图中,用“对象:类”表示;

第2种方式只显示类名,即表示它是一个匿名对象,例如::课程;在时序图中,用“:类”表示;

第3种方式只显示对象名不显示类名,例如:讲师;在时序图中,用“对象”表示。

命名方式的选择

三种命名方式均可,哪种最容易让阅读该时序图的人理解,就选择哪种。

对象的排列顺序

对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。

生命线(Lifeline)

生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象底部中心都有一条垂直的虚线,这就是对象的生命线。

消息

通常,我们用箭头来表示两个对象之间的消息传递。箭头的方向通常是从发送方指向接收方,这样我们就能清楚地知道消息是从哪个对象发送到哪个对象了。
消息的传递一般有以下几种方式:
同步消息
发送者将消息传递给接收者后,会停止活动,等待接收者返回结果,然后才能继续进行下一个事务。这就像我们通常说的同步调用一样。在时序图中,这种等待消息响应的情况用带实心箭头的实线表示。

异步消息
消息的发送者将消息传递给接收者后,会继续自己的活动,而不必等待接收者返回结果才能继续进行下一个事务。这就像我们通常说的异步调用一样。在时序图中,这种不需要等待消息响应的情况用带线型箭头的实线表示。

返回消息
返回消息表示接收方给发送方返回结果,用带线型箭头的虚线表示。

4)自关联消息
自身调用自身的方法,即该对象自身就能完成事务的处理,不需要依赖其他对象,例如数据库对象自身校验数据就会产生自关联消息。

时序图案例分享

为了大家更好的了解时序图,我给大家画了一个案例。是学生查询课程成绩的案例。学生首先向教务系统发起查询【成绩查询课程列表】请求,“课程系统”返回学生的课程列表,接着“教务系统”再拿着学生的信息和相应的课程信息去“成绩系统”查询成绩,“成绩系统”将成绩信息返回给“教务系统”,“教务系统”再给学生展示成绩。

发表评论