UML——时序图

5. 时序图(顺序图SequenceDiagram)

5.1 概述

官方文档对时序图的定义:时序图描述了在参与交互的对象中发生的事件(从激活的角度来说明),以及这些对象如何通过相互发送消息进行通信。

时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

时序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。

时序图的优点:时序图强调消息事件的发生顺序,更方便于阐述事件流的过程;

时序图的缺点:时序图难以表达对象之间的关系。

浏览时序图的方法是:从上到下查看对象间交换的消息。

5.2 时序图元素

时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。


时序图中包括如下元素:角色,对象,生命线,

激活期和消息

(1)  参与者(Actor:与系统、子系统或类发生交互作用的外部用户,可以是人、甚至其他的系统或者子系统。

(2)  对象(Object:对象代表时序图中的对象在交互中所扮演的角色。对象从左到右布置在顺序图的顶部。对象的表示方法是:矩形框中写有对象或类名,且名字下面有下划线。

对象在生命线上的两种状态

1)休眠状态、

2)激活状态。

对象的左右顺序并不重要,但是为了画图画的清晰整洁起见,通常应遵循一下两个原则

1)把交互频繁的对象尽可能地靠拢。

2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边。

对象包括三种命名方式

第一种方式只显示对象名不显示类名。

  第二种方式包括对象名和类名;

  第三种方式只显示类名不显示对象名,即表示他是一个匿名对象;

(3)  生命线(Lifeline):代表对象在一段时期内的存在。每个对象底部中心都有一条垂直的虚线,这就是对象的生命线。生命线从对象创建开始到对象销毁时终止。

(4)  消息(Message:对象之间的交互是通过相互发消息来实现的。消息由一个对象的生命线指向另一个对象的生命线。

消息形式:调用(Call)、 返回( Return)、发消息(  Send)、创建实例(  Create)、销毁实例(  Destroy)

消息的类型

1)   简单消息:它不强调消息的类型,仅表示一个交互。


2)   同步消息(SynchronousMessage:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。例如:你叫我去吃饭,正好我有空就和你去吃饭;如果我没空,你就一直等,直到我忙完了才和你一起去吃饭。




3)   异步消息(AsynchronousMessage:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。例如:你叫我去吃饭,然后自己先去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。



4)   自关联消息(Self-Message:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。


5)  返回消息(Return Message:返回消息表示从过程调用返回。



(5)  激活期(Activation):时序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。当一个对象没有被激活期时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。

三国演义中赤壁之战的时序图





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值