时序图的使用习惯
是什么#
一种UML交互图, 通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
使用场景#
梳理业务流程#
刚好最近接手一个业务模块,参考原有文档&与交接人的沟通&相关代码梳理出一份时序图,并上传至项目文档空间里
时序图角色#
角色Actor#
系统角色,可以是人或者其他系统和子系统
对象Object#
以一个矩形表示
生命线LifeLine#
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
消息message#
同步消息, 一条实线和实心箭头表示
返回消息, 小于号和虚线表示
自关联消息
控制焦点Activation#
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
画时序图的工具#
推荐#
draw.io
个人喜好#
plantuml语法直接写,不需要画图,强迫症接受不了拖拽手动画图
语法#
官方文档地址:https://plantuml.com/zh/sequence-diagram
示例:#
@startuml
autonumber
actor 小B
participant 大数据
participant 业务定时任务
participant 业务
database DB
participant 对接系统
participant ELK
actor 开发
大数据 -> DB: 计算好业务数据推到中间表
activate 业务定时任务
业务定时任务 -> 业务定时任务: 计算处理相关字段的逻辑
业务定时任务 -> DB: 定时任务将@startuml
autonumber
actor 小B
participant 大数据
participant 业务定时任务
participant 业务
database DB
participant 对接系统
participant ELK
actor 开发
大数据 -> DB: 计算好业务数据推到中间表
activate 业务定时任务
业务定时任务 -> 业务定时任务: 计算处理相关字段的逻辑
业务定时任务 -> DB: 定时任务将数据同步到结果表
deactivate 业务定时任务
activate 业务
小B -> 业务: 修改业务数据并审核
业务 -> DB: 审核入库
deactivate 业务
activate 业务定时任务
业务定时任务 -> DB: 定时去库中拿已审核的数据
DB --> 业务定时任务: 拿到数据
业务定时任务 -> 对接系统: 定时推给对接系统生成促销活动
对接系统 --> 业务定时任务: 同步失败时
业务定时任务 -> ELK: 错误日志写到ELK里
deactivate 业务定时任务
activate ELK
ELK -> ELK: ELK将符合策略的错误日志过滤出来
ELK -> 开发: ELK通过邮件微信等方式通知开发
deactivate ELK
@enduml数据同步到结果表
deactivate 业务定时任务
小B -> 出清: 修改业务数据并审核
出清 -> 业务: 审核入库
activate 业务定时任务
业务定时任务 -> DB: 定时去库中拿已审核的数据
DB --> 业务定时任务: 拿到数据
业务定时任务 -> 对接系统: 定时推给对接系统生成促销活动
对接系统 --> 业务定时任务: 同步失败时
业务定时任务 -> ELK: 错误日志写到ELK里
deactivate 业务定时任务
activate ELK
ELK -> ELK: ELK将符合策略的错误日志过滤出来
ELK -> 开发: ELK通过邮件微信等方式通知开发
deactivate ELK
@enduml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~