时序图的使用习惯

是什么#

一种UML交互图, 通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

使用场景#

梳理业务流程#

刚好最近接手一个业务模块,参考原有文档&与交接人的沟通&相关代码梳理出一份时序图,并上传至项目文档空间里

时序图角色#

角色Actor#

系统角色,可以是人或者其他系统和子系统

对象Object#

以一个矩形表示

生命线LifeLine#

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

消息message#

同步消息, 一条实线和实心箭头表示

返回消息, 小于号和虚线表示

自关联消息

控制焦点Activation#

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

画时序图的工具#

推荐#

processon

draw.io

plantuml

个人喜好#

plantuml

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

posted @   yks43  阅读(365)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示
主题色彩