【UML】时序图

定义
时序图:(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。

作用
时序图描述类系统中类与类之间的交互,将各类之间交互建模成消息互换,类与类间相互交换完成期望行为的消息,当执行一个用例行为时,时序图中的每一条消息对应了一个类操作或状态机中引起转换的触发事件。

理解
时序图就像是一条蚂蚁搬家一样,蚂蚁为什么不会迷路呢?它们会散发出一种气味,它们依靠这种气味就不会迷路,然后大家团结协作把食物搬回巢中,如果途中“道路”被破坏也可以找到家,这个好像蚂蚁有着超强的记忆力。
对象是蚂蚁;蚂蚁走的路就像是一条生命线;散发的气味就是之间传递的消息;激活就是“迷路”再次找到回家的路。
小蚂蚁回家的路并不是一番风顺的接下来详细是怎么回家的吧。

详细介绍
时序图包括四个元素:对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Message)

1、对象(Object)
对象代表时许图中的对象在交互中所扮演的角色。时序图中对象的 符号和对象中对象所用的符号一样,都是使用矩形将对象名称包含起来,并且对象名称下有下划线,将对象置于时序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示是在交互的过程中被创建的。

2、生命线(Lifeline)
生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。对象和生命线结合在一起称为对象的生命线。对象的生命线包含矩形的对象图标以及图标下面的生命线。

3、激活(Activation)
时序图可以描述对象的激活(Activation)和去激活(Deactivation)。激活代表时序图中的对象执行一项操作的时期。激活和可以被理解为C中的一对"{}"中的内容。
激活表示该对象被占用以完成某个任务;去激活指的是对象处于空闲状态,在等待消息。
在UML中,为了表示对象是激活的,可以将对象的生命线扩展成矩形,矩形称为激活条或控制期,对象就是在激活条的顶部被激活的。
对象的就是在激活条的顶部被激活的。对象在完成自己的工作后被去激活,这通常发生在一个消息箭头离开对象生命线的时候。

4、消息(Message)
消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模。
消息用于在实体间传递消息。允许实体请求其他的服务,类角色通过发送或接受消息进行通信。消息可以激发某个操作,唤起信号或导致目标对象的创建或撤销。
消息序列可以用两种图来表示,时序图和协作图。时序图强调消息的传递顺序,协作图强强调交换信息的对象间的关系。
消息是两个对象间的单路通信,从发送到接收方的控制信息流。消息可以用于在对象间传递参数。消息可以是信号,即明确的、命名的、对象间的异步通信;也可以是调用,即具有返回控制机制的操作的同步调用。

符号含义
在这里插入图片描述绘制两个对象之间的异步消息
在这里插入图片描述在两个对象之间绘制消息
在这里插入图片描述绘制反身消息
在这里插入图片描述显示过程调用返回的消息
在这里插入图片描述绘制两个对象之间的过程调用

建模规则
(1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。
(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其按从左到右的方向放在是时序图中。
(3)设置每个对象在交互中扮演的角色,根据对象的重要性,将其按从左到右的方向放在时序图中。
(4)从引发某个交互的信息开始,在生命线之间从上向下的顺序画出随后的消息。
(5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。
(6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。
(7)给某个控制流的每个消息附上前置或后置条件,这可以更详细的说明这个控制流。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值