0%

什么是时序图

该篇文章是UML知识的扩充。

什么是时序图

源文链接:https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-timing-diagram/

时序图是UML交互图,用于显示当图的主要目的是推理时间时的交互。

img

时序图侧重于沿线性时间轴在生命线内和生命线之间变化的条件。时序图描述了单个分类器的行为和分类器的交互,重点关注导致生命线建模条件变化的事件发生时间。

一、时间图概览

1.1 状态时间线表示

从一种状态到另一种状态的变化由生命线级别的变化表示。对于对象处于给定状态的时间段,时间线与该状态平行运行。状态变化表现为从一个水平到另一个水平的垂直变化。与状态图或序列图中的情况一样,更改的原因是收到消息、导致更改的事件、系统内的条件,甚至只是时间的流逝。

img

1.2 价值生命线代表

下图显示了 UML 时序图的另一种表示法。每次状态变化时,它都会在相互交叉的两条水平线之间显示对象的状态。

img

二、时序图的基本概念

时序 UML 图的主要元素 - 生命线、时间线、状态或条件、消息、持续时间约束、时序标尺。

2.1 生命线

时序图中的生命线在帧的内容区域内形成一个矩形空间。生命线是一个命名元素,它代表交互中的个人参与者。它通常水平对齐以从左到右阅读。

img

多条生命线可以堆叠在同一框架内,以模拟它们之间的交互。

img

2.2 时序图中的状态时间线

状态或条件时间线表示一组有效状态和时间。状态从上到下堆叠在生命线的左边距。

img

与状态或序列图中的情况一样,更改的原因是收到消息、导致更改的事件、系统内的条件,甚至只是时间的流逝。

2.3 多个分隔

可以在同一个时序图中堆叠几条不同对象的生命线。一条生命线高于另一条生命线。从一个对象发送到另一个对象的消息可以使用简单的箭头来描述。每个箭头的起点和终点指示每条消息的发送时间和接收时间。

img

2.4 状态生命线

状态生命线显示项目状态随时间的变化。X 轴以选择的任何单位显示经过的时间,而 Y 轴标有给定的状态列表。状态生命线如下所示:

img

2.5 价值生命线

价值生命线显示项目价值随时间的变化。X 轴以所选单位显示经过的时间,与状态生命线相同。该值显示在水平线对之间,水平线在每次值变化时交叉。

img

2.6 时间线和约束

我们可以使用时间线的长度来指示对象通过从左到右读取它保持在特定状态的时间。要关联时间测量,您可以在框架的底部在线显示刻度线。

下面的示例显示在序列开始后三个时间单位接收到 Login 事件。要显示相对时间,您可以使用变量名称及时标记特定实例。该图将接收到 sendMail 事件的时间标记为时间

img

您可以在约束中使用相对时间标记来指示必须在指定的时间内接收到消息。

2.7 状态和价值生命线并排

状态和价值生命线可以以任意组合依次排列。消息可以从一条生命线传递到另一条生命线。每个状态或值转换都可以具有定义的事件、指示事件何时必须发生的时间约束以及指示状态或值必须有效多长时间的持续时间约束。

img

三、交互图之间的模型一致性

时序图应始终与相关的时序图和状态机保持一致。为此,我们可以在生命线中为序列图中的每个对象附加状态。然后,通过检查对象之间传递的消息与生命线中附加的状态,我们可以更容易地得出相应的时序图。下面的 Carpark 示例显示了两个交互图之间的模型一致性。

img

上图是停车场示例的时序图,下图是停车场示例对应的时序图。时序图的各个部分参考时序图的内容。

img

-------- The End Thanks For Reading --------