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

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

一、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(统一建模语言)

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

相关推荐
福兮说3 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
紧跟先前的步伐4 小时前
Go AI Agent 实战 03|Token、上下文窗口与模型调用成本
java·人工智能·golang
const_qiu5 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友
Promising_GEO5 小时前
GEE实战02期:从卫星波段开始:利用 Sentinel-2 自己计算 NDVI
java·sentinel·遥感·空间分析
大文说跨境5 小时前
亚马逊多账号管理浏览器怎么选?云登/紫鸟/AdsPower 对比
java·前端·自动化
CoderYanger5 小时前
Java EE 进阶:4.Spring Web MVC 入门(第一弹)
java·开发语言·前端·spring·面试·java-ee·mvc
顽疲5 小时前
java springboot vue 养老系统源码详解:请假 care_leave 销假与床位停费日扣实践
java·vue.js·spring boot
XIAEE6 小时前
一个即时通讯项目是怎么长出来的:(Spring Boot 3 + Vue 3 微前端 + 悟空 IM + LiveKit)
java·spring
n87656 小时前
Playwright Java WEB UI 自动化实现框架与逻辑
java·前端·ui