程序员要学会画哪些图
本文介绍了多种常用图表类型的绘制方法与应用场景。主要包括:1)泳道图的横向纵向划分方式;2)系统架构图的四层结构;3)流程图、时序图的基本元素;4)UML类图、ER图的数据库设计应用;5)甘特图的三条绘制原则。文章还推荐了使用PlantUML、Mermaid等文本绘图工具的方法,并提供了相关学习资源链接。内容涵盖各类图表的核心要素和实际应用要点,为技术图表绘制提供了实用指南。
·
泳道图
- 分为横向和纵向泳道,可分开也可结合
- 纵向一般划分为职能或者不同的业务模块
- 横向一般划分为不同环节或者时间点
示例:

系统架构图
一般来说可分为:
- 访问层:访问设备、用户群体
- 应用层:各端提供哪些服务、不同设备使用方式、不同设备技术选型等
- 服务层:提供哪些后端服务
- 数据层:数据库存储哪些数据、存储方式、数据库技术选型
- 核心业务流程:有哪些核心业务流程
示例:


流程图
流程图各种元素名称和作用。

示例:

时序图
基本元素与关系:

| 元素 | 图形 | 含义 | 备注 |
|---|---|---|---|
| 角色(Actor) | ![]() |
系统外部参与者:人、外部系统、子系统等 | 常作为发起者/触发者出现在最左侧或最上方 |
| 对象(Object) | 参与交互的对象/实例(或类) | 命名常见3种:对象名:类名 、 :类名 (匿名对象)、 对象名: (只写对象名) | |
| 生命线(LifeLine) | ![]() |
对象在时间维度上的存在(时间线) | 表示对象随时间推进的“存在期”,消息沿时间自上而下 |
| 控制焦点/激活条(Activation) | ![]() |
对象在某段时间内正在执行/占用控制权 | 常用于同步调用:表示方法执行区间、可嵌套(调用栈效果) |
| 简单消息(Message) | 对象之间的信息传递/调用 | 常见3 类:同步、异步、返回(见下三行) | |
| 同步消息(Synchronous Message) | 发送方把控制权交给接收方并等待返回 | 常对应“函数调用/阻塞调用”,接收方通常出现Activation | |
| 异步消息(Asynchronous Message) | 发送方不等待接收方返回,继续执行 | 常对应“事件/消息队列/并发执行”,不一定有返回消息 | |
| 返回消息(Return Message) | 表示过程调用的返回值/返回控制权 | 也可不画(很多图会省略返回消息以简化) | |
| 自反消息 | 对象内部方法调用自身/调用同对象其他方法 | 常配合Activation的嵌套显示递归或内部调用链 |
示例:

UML类图
下面的文章讲的挺好的,不赘述了:https://www.processon.com/knowledge/classdiagram
示例:

ER图
比较简单,一般用于数据库设计
文章教程:https://www.processon.com/knowledge/ertu
示例:

甘特图
甘特图的绘制原则一般有以下3条:
- 任务具体可执行:每项任务必须是具体的可执行的工作,最好有明确的优先级;
- 任务分配合理:人力资源一定要和工作内容匹配,让合适的人做合适的事;
- 时间安排合理:时间期限不能由管理层拍脑门敲定,具体的执行人员一定要参与时间的评估,要给任务预留缓冲时间。
示例:


此外还可使用AI生成PlantUML、Mermaid、xml文本,通过文本绘图方式绘图,具体可参考以下文章:https://juejin.cn/post/7496777696912949258?searchId=20260130144213D735083B2A9ADE1800F5
如有错误欢迎补充指正。
更多推荐





所有评论(0)