后端通识 - 后端工程开发常用的流程图类别

后端开发常用流程图类型 + 使用场景(直接复制用于文档、架构图、需求文档)

一、UML 系列(后端项目最主流)

1. 用例图 Use Case Diagram (功能)

作用:站在使用者视角,描述系统提供哪些能力适用:需求分析、对外平台、用户 / 管理员功能边界

2. 类图 Class Diagram (类之间关系)

作用:实体、DTO、Service、数据库模型、类之间关系(继承 / 关联 / 聚合)适用:领域模型设计、DDD 领域对象、微服务实体设计

3. 时序图 Sequence Diagram ⭐后端高频 TOP1 (接口调用流程时间顺序)

后端开发使用最多 横向参与者,纵向时间顺序,展示接口调用流程、同步 / 异步、跨服务交互场景:

  • 登录流程、下单流程
  • 微服务之间 RPC 调用
  • 网关→服务→MQ→消费者完整链路

4. 活动图 Activity Diagram (流程分支流转)

作用:业务流程、分支判断、循环、任务流转(类似标准流程图)场景:审批流、订单状态流转、退款业务、多种分支业务判断

5. 状态图 State Diagram (实体状态周期变化)

作用:描述单个实体生命周期状态变化场景:订单状态、支付状态、工单、审批节点、任务调度状态

6. 组件图 Component Diagram (模块依赖关系)

作用:系统内部模块、依赖关系场景:模块化拆分、分层架构展示

7. 部署图 Deployment Diagram (服务部署关系)

作用:服务部署拓扑、服务器 / 容器、中间件物理部署场景:上线架构、集群部署、阿里云 ECS/RDS/Redis/MQ 拓扑


二、架构类图表(技术方案、架构文档)

1. 架构图(分层架构图 / 系统架构图)

常见叫法:

  • 分层架构图(Controller → Service → Mapper)
  • 微服务架构图
  • 领域架构图(DDD)展示模块划分、依赖、中间件(Redis、MQ、DB、网关)

2. 数据流图 DFD(Data Flow Diagram)

关注:数据从哪里来、经过哪些处理、流向哪里、存储在哪场景:ETL、数据同步、报表、向量数据入库(你的 PostgreSQL 向量库流程很适合)

3. C4 架构图(现代后端架构推荐)

分层:Context(上下文)→ Container(容器 / 服务)→ Component(组件)→ Code(代码)适合微服务大型项目,标准技术架构文档。


三、业务流程 & 运维流水线相关

1. BPMN 流程图(业务流程建模)

专门用于复杂审批流、工作流(Flowable、Camunda)

和普通活动图区别:支持泳道、任务执行人、流程引擎解析

2. CI/CD 流水线图

场景:代码提交 → 编译 → 测试 → 打包 Jar → 部署就是你之前学习的 GitLab CI-CD 流程图表

3. ER 图(实体关系图 ERD)⭐后端必备

数据库表结构、表与表外键、关联关系MySQL / PostgreSQL 建表设计必画。


四、消息 & 并发场景专用

1. 泳道图(可以是活动图 / 时序图变种)

按角色 / 服务划分泳道:前端、网关、A 服务、B 服务、MQ、定时任务多人 / 多服务协作业务流程首选。

2. 事件风暴图 Event Storming(DDD 领域驱动)

领域建模,命令、事件、聚合根,复杂业务中台项目


快速选型对照表(后端日常直接照这个选)

表格

需要表达什么 优先选用图表名称
接口调用、跨服务请求链路 时序图
订单 / 工单多分支业务流程 活动图(泳道图)
订单状态、实体状态变更 状态图
数据库表结构设计 ER 图
系统整体模块、微服务拓扑 架构图 / C4 图
领域对象、类之间关系 类图
CI-CD 自动部署流程 活动图 / 流水线流程图
数据同步、向量入库数据流 数据流图 DFD
审批引擎工作流 BPMN 流程图

补充小知识(画图工具对应)

  • PlantUML:时序图、类图、活动图(代码生成图表,开发最爱)
  • Draw.io/ Excalidraw:架构图、泳道图、数据流图
  • PowerDesigner / Navicat:ER 图
  • MiGrate、flowable-modeler:BPMN 流程

补充:UML全称是什么,UML是用来做什么的?

UML 全称:Unified Modeling Language(统一建模语言)

作用:用于软件系统进行可视化、详述、构造和文档化的标准化建模语言。

相关推荐
金銀銅鐵7 小时前
带您看懂字节码指令(二):空循环里有什么
java·后端·ai编程
吴名氏.9 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
.痞老板.10 小时前
java ee--多线程(进阶)
java·java-ee
深入云栈11 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
wang_shu_mo_ran12 小时前
MyBatis 从入门到进阶(一)
java·spring·mybatis
量化分析码农13 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
猫猫不是喵喵.14 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
瑞雪兆丰年兮14 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
曲径海盗14 小时前
Try-Except怎么用,3个追问解答在自动化下的应用
java·jvm·oracle
Cosolar15 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github