当前位置: 首页 > news >正文

绘图之时序图

参考博文

UML时序图(Sequence Diagram)学习笔记-CSDN博客

程序员必备画图技能之—时序图 - 程序员自由之路 - 博客园

时序图简述 - 掘金

时序图学习5_组合片段 - 博客园

一、什么是时序图

时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML(Unified Model Language,统一建模语言)交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。

二、时序图的作用

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

三、时序图的元素

我们在画时序图时会涉及下面7种元素:

  • 角色(Actor)
  • 对象(Object)
  • 生命线(LifeLine)
  • 控制焦点(Activation)
  • 消息(Message)
  • 自关联消息
  • 组合片段。

其中前6种是比较常用和重要的元素,最后的组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,再单独介绍组合片段元素。

2.1 角色(Actor)

系统角色,可以是人或者其他系统和子系统。以一个小人图标表示

image-20251208170935246

2.2 对象(Object)

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

image-20251208170957591

  • 对象名和类名。例如:华为手机:手机
  • 只显示类名,不显示对象,即为一个匿名类。例如::手机
  • 只显示对象名,不显示类名。例如:华为手机

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

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

  1. 把交互频繁的对象尽可能的靠拢;
  2. 把初始化整个交互活动的对象放置在最左端。

2.3 生命线(LifeLine)

时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表示

image-20251208171015107

2.4 控制焦点(Activation)

控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示

image-20251208171039024

2.5 消息(Message)

表示对象之间发送的信息。消息分为三种类型。

  • 同步消息(Synchronous Message)
    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示

image-20251208171054210

  • 异步消息(Asynchronous Message)

    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示

image-20251208171117450

  • 返回消息(Return Message)
    返回消息表示从过程调用返回。以小于号和虚线表示

image-20251208171131253

2.6 自关联消息

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示

image-20251208171555066

2.7 举例

举例一个时序图的列子,看下上面几种元素具体的使用方式。

该时序图仅表示用户登录成功的情况。实际操作中存在各种原因引起登录失败的问题,如网络异常、用户名密码错误、验证码错误等。

image-20251209092032265

2.8 组合片段

组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下。组合片段都不太常用

组合名称 组合含义
ref 引用其他地方定义的组合片段
alt 在一组行为中根据特定的条件选择某个交互
opt 表示一个可选的行为
break 提供了和编程语言中的break类拟的机制
par 支持交互片段的并发执行
loop 说明交互片段会被重复执行
seq 强迫交互按照特定的顺序执行
strict 明确定义了一组交互片段的执行顺序
neg 用来标志不应该发生的交互
region 标志在组合片段中先于其他交互片断发生的交互
ignore 明确定义了交互片段不应该响应的消息
consider 明确标志了应该被处理的消息
assert 标志了在交互片段中作为事件唯一的合法继续者的操作数

这里列出几个常用组合片段,时序图学习5_组合片段 - 博客园

alt(Alternative)

表示条件选择的意思,类似if else。alt需填写参数。

image-20251208173709383

ref(InteractionUse)

表示引用的意思,某部分交互被定义在另一个图中。可将一个规模较大的图划分为若干个规模较小的图,方便图的管理和复用。ref不用要填写参数。

image-20251208173828873

引用的身份认证时序图

image-20251208173851564

opt(Option)

表示当警戒值为真(符合条件)的情况下进行执行处理的意思。opt需要填写参数

image-20251208173935612

loop

表示循环执行的意思,当条件为真的时候执行循环。也可以写成loop(n)来表示循环n次,与java或者C#等中的for循环比较相似。loop需填写参数。

image-20251208174044991

break(Break)

表示中断处理,跳转的意思,类似java代码中break语句。break需填写参数。

image-20251208174104580

par(Parallel)

表示并行处理,同时发生的意思。par可不用填写参数。

image-20251208174126164

四、时序图绘制工具

微软Visio挺好用,开源免费的drawio更佳,甚至可以在线使用。

五、时序图绘制

5.1 时序图的画法

时序图的绘制步骤可简单总结如下

  1. 划清边界,识别交互语境 

  所谓划清边界是是指要确定好绘制时序图的范围。

  所谓识别交互语境就是要知道自己绘制时序图的前提和背景。

  1. 梳理时序图中的角色和对象都有哪些

  2. 对象之间有哪些交互消息

5.2 时序图的绘制技巧

  1. 从初始消息开始画,依次画出随后消息,并给每个消息分配序号,方便理解。
  2. 角色和对象用名词,消息用动词。
  3. 角色放在时序图的开始位置,对象重要程度或使用频率从左到右排列。这就要根据时间的流程考虑了,是一个比较主观的事情。
  4. 控制焦点两端要以消息元素封顶,控制焦点不要超过消息元素。

但实际的绘制软件中,绘图的对齐焦点可能不在控制焦点的最两端,如drawio,而是距离最边缘有一小段距离,也是没问题的。

image-20251208172819901

http://www.jsqmd.com/news/68045/

相关文章:

  • 头部压铸车间通风降温工业冷风机厂家,注塑车间降温/工厂车间降温通风/铸造车间通风降温/铁皮棚车间通风降温工业冷风机品牌口碑推荐
  • 新华区农村自建房找谁好?河北沧州新华区自建房公司 / 机构深度评测口碑推荐榜
  • 2025 年 12 月局放在线检测,变频电缆局放在线检测,高压电机局放检测厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 【IEEE出版 | EI检索】第五届人工智能与大数据国际学术研讨会 (AIBDF 2025)
  • 怎样确定不同品牌的示波器和探头的兼容性?
  • 禅道 需求管理--让需求“有迹可循”
  • 安利6个flac转mp3工具,简单好用!
  • 2025年北京企业贷款服务推荐:企业贷款服务哪家优?
  • 2025年常州岩棉隔断十大品牌推荐:医院岩棉隔断哪家品质好
  • 2025年长三角地区泡沫混凝土厂商榜单:诚信的泡沫混凝土供应
  • 2025年折弯机上下模高评价厂家推荐榜
  • 2025年工业测温温度计品牌排名:低温温度计、温度计按需定制
  • 崩溃了!N8N升级后插件全变红?教你2招完美解决!
  • 2025 全球电感品牌 TOP10:创新驱动 + 场景深耕,引领行业高质量发展
  • 10款AI降重工具精选:轻松通过AIGC检测的专业方案
  • 2025工会活动组织公司TOP5权威推荐:甄选口碑服务商,解
  • 禅道添加产品
  • netstat常用参数
  • 2025年高端家居源头工厂TOP10权威榜:真正能落地整屋高定的在这里
  • 2025年工会活动策划公司推荐:工会活动策划公司哪家可靠
  • AI重构客户管理全链路 纷享销客ShareAI定义智能CRM新范式
  • 2025年长三角地区发泡混凝土自流平供应商十大排行榜,精选推
  • 2025年十大宁波轻质气泡混凝土品牌厂家排行榜,高强度轻质气
  • latex写论文时用visio生成eps图片格式方法及去除边框方法
  • [译] AI 应该只以我们能够跟上的速度运行
  • 告别繁琐!MapStruct-Plus 让对象映射效率飙升,这波操作太香了!
  • 2025年316不锈钢水管品牌排名:AQUApipe不锈钢水
  • 禅道的产品研发
  • 2025年深圳有实力的微信朋友圈广告品牌企业排行榜,看哪家服
  • 2025年北京企业BIP系统选型避坑排行榜,好业财/好会计/制造云/供应链云/人力云/协同云/好生意/税务云/财务云BIP管理系统找哪家