时序图 | UML (统一建模语言)2025年3月25日 | 阅读 4 分钟 时序图表示系统中消息的流动,也被称为事件图。它有助于设想几种动态场景。它将任何两个生命线之间的通信描述为按时间顺序排列的事件序列,以便这些生命线在运行时参与。在 UML 中,生命线由垂直条表示,而消息流由垂直虚线表示,该虚线延伸到页面的底部。它包含了迭代和分支。 时序图的目的- 用于建模系统中活动对象之间的高级交互。
- 用于建模协作中对象之间的交互,以实现用例。
- 它可以对通用交互或某些特定的交互实例进行建模。
时序图的符号生命线时序图中单个参与者由生命线表示。它位于图的顶部。  参与者与主题交互的实体所扮演的角色称为参与者。它在系统的范围之外。它代表角色,包括人类用户和外部硬件或主题。参与者可以代表也可以不代表物理实体,但它纯粹描述了实体的角色。一个参与者可以扮演几个不同的角色,反之亦然。  激活它由生命线上的一条细长矩形表示。它描述了元素执行操作的时间段,矩形的顶部和底部分别与初始化时间和完成时间相关联。  消息消息描述了对象之间的交互,并用箭头表示。它们在生命线上按顺序排列。消息和生命线构成了时序图的核心。 以下是列出的消息类型 - 调用消息: 它定义了交互生命线之间的特定通信,表示目标生命线已调用操作。
 - 返回消息: 它定义了交互生命线之间的特定通信,表示信息从相应调用者消息的接收者流出。
 - 自消息: 它描述了一种通信,特别是在交互的生命线之间,表示已调用同一生命线的消息。
 - 递归消息: 为递归目的发送的自消息称为递归消息。换句话说,可以说递归消息是自消息的一个特例,因为它表示递归调用。
 - 创建消息: 它描述了一种通信,特别是在交互的生命线之间,描述目标(生命线)已被实例化。
 - 销毁消息: 它描述了一种通信,特别是在交互的生命线之间,描述销毁目标生命周期的请求。
 - 持续时间消息: 它描述了一种通信,特别是在交互的生命线之间,它描述了在建模系统时消息的时间流逝。

注意注释是可以将多个备注附加到元素的功能。它基本上携带了对建模者有用的信息。  序列片段- UML 2.0 引入了序列片段,这使得创建和维护准确的时序图非常容易。
- 它由一个名为组合片段的框表示,该框包含时序图内部的一部分交互。
- 片段的类型由片段运算符显示。
 片段类型以下是列出的片段类型; 运算符 | 片段类型 |
---|
alt | 可选的多个片段:只会执行条件为真的片段。 | opt | 可选:只有在提供的条件为真时,才会执行片段。它类似于只有一个跟踪的 alt。 | par | 并行:并行执行片段。 | loop | 循环:片段运行多次,交互的基础由保护条件显示。 | region | 关键区域:一次只能有一个线程执行一个片段。 | neg | 负面:片段显示了毫无价值的通信。 | ref | 参考:在另一个图中描绘的交互。为此,绘制一个框架以覆盖通信中涉及的生命线。可以解释参数和返回值。 | sd | 时序图:它用于包围整个时序图。 |
时序图示例下面给出了在线书店的高级时序图示例。 任何在线客户都可以搜索图书目录,查看特定图书的描述,将图书添加到购物车并进行结帐。  时序图的优点- 它探索了实时应用。
- 它描述了不同对象之间的消息流。
- 它易于维护。
- 它易于生成。
- 实现正向和反向工程。
- 它可以根据系统中的新变化轻松更新。
时序图的缺点- 在生命线太多的情况下,时序图会变得更加复杂。
- 如果消息流的顺序发生变化,可能会产生不正确的结果。
- 由于每个序列都需要不同的符号来表示,因此可能会使图表更加复杂。
- 序列的类型由消息的类型决定。
|