流程图符号大全:起止/处理/判断/输入输出/数据/连接符怎么用

流程图符号大全:起止/处理/判断/输入输出/数据/连接符怎么用

很多人第一次画流程图,卡的不是“不会画”,而是两件更具体的事:

同一件事到底该用“处理矩形”还是“输入/输出平行四边形”?

判断菱形画上去了,但分支条件写不清楚,最后整张图看起来像在猜谜。

流程图符号并不需要背大全;真正影响可读性的,是符号选择的一致性和写法的规范。这篇文章按“交付可用”为目标,把最常见的符号讲透,同时补齐你在项目里最容易踩的坑:分支怎么写、数据怎么标、跨页怎么连、怎么导出给别人看。

如果你手上是一段“文字步骤”,希望快速生成一张排版干净的流程图(并能导出 draw.io 或高清 PNG),可以直接用这个入口把文本喂给工具再微调:

流程图在线制作 - AI生成 | 自动排版

注:文中讲的是通用流程图(flowchart)符号习惯,不等同于 BPMN 的完整规范;但你照着做,画出来的图在产品、研发、运维、教学场景都能被快速读懂。

先给结论:90% 的流程图,靠 7 个符号就够了

你可以把流程图拆成 5 类信息:范围(开始/结束)、动作(处理)、分支(判断)、交互(输入输出)、存储(数据/数据库)、连接(连接符/跨页)。

最常用的 7 个符号就是:

起始(Start)

结束(End)

处理(Process)

判断(Decision)

输入/输出(I/O)

数据/数据库(Data/DB)

连接符(Connector,含跨页/跨区)

“符号大全”真正的价值,不是堆满图形,而是告诉你:什么时候必须用它、用错会带来什么误读、怎么写才算合格。下面从这 7 个开始。

1) 起始 / 结束:把流程边界讲明白

起始(Start,常见是圆角矩形/椭圆)

什么时候用:

标记流程的入口(触发条件)

提醒读者“从哪里开始读”

推荐写法:

不要只写“开始”,最好带上触发:

“用户提交申请”

“定时任务触发(每天 02:00)”

“收到回调通知”

常见误用:

一个图里出现 3 个“开始”,但彼此不解释差异。若确实有多个入口,建议在标题或注释里说明“入口 A/B/C”,或者改用连接符把入口汇聚到同一处。

结束(End)

什么时候用:

标记流程终止的状态(成功/失败/中止/超时)

推荐写法:

“结束:返回成功”

“结束:提示错误(原因:库存不足)”

“结束:进入人工处理队列”

注意:

一个流程可以有多个结束,但每个结束都要“像状态”一样清楚,避免出现一堆“结束”让人不知道到底结束在什么结果上。

2) 处理(Process):所有“动作步骤”都归它,但名字要像动作

处理通常用矩形。

什么时候用:

系统执行的动作:写入、校验、计算、发送、生成

人做的动作也可以用处理(若不需要强调“手工/人工”区别)

命名规范(强烈建议):

用“动词 + 宾语 + 必要的限定”

“校验验证码有效期”

“计算订单应付金额(含优惠)”

“写入支付流水”

避免:

只写名词:

“验证码” (这是数据,不是动作)

“用户信息” (这是数据,不是动作)

只写泛化动词:

“处理一下”“操作”“执行” (别人看不懂你到底干了什么)

一个实用小技巧:

如果你把每个处理节点都读成一句话,“系统/人 + 这个动作”,能顺畅读出来,基本就合格。

3) 判断(Decision):菱形不是装饰,它要求你把条件写完整

判断通常用菱形。

什么时候用:

需要分支:是/否、成功/失败、满足/不满足、存在/不存在

分支写法(重点):

判断节点本身写“问题/条件”,分支线上写“答案/结果”。

推荐:

判断节点: “验证码是否有效?”

出边标注: “是” / “否”

或者:

判断节点: “库存 ≥ 购买数量?”

出边标注: “是(继续下单)” / “否(提示缺货)”

硬规则:

**每一条出边都必须有标签。**不标注就是让读者猜。

常见的两条出边:

“是/否”

“通过/失败”

“成功/失败”

“存在/不存在”

常见误用:

菱形里写“判断”,出边不写条件。

菱形里写一堆处理动作(把判断当成处理用)。

一个判断节点分出 4 条线,但没有清楚的互斥条件;这种情况更适合把条件拆成多个判断,或者用“多分支选择”表达(见后文扩展符号与写法)。

4) 输入/输出(I/O):强调“交互/接口”,别跟处理混在一起

输入/输出常用平行四边形。

什么时候用:

用户输入:填写表单、输入验证码、上传文件

系统输出:展示结果、返回错误码、推送通知

与外部系统交互(你希望读者一眼看到“边界”):调用第三方接口、接收回调

推荐写法:

输入类:

“输入:手机号 + 验证码”

“上传:发票图片”

输出类:

“输出:返回 200 + token”

“输出:提示错误(验证码过期)”

为什么要区分 I/O 与处理:

处理强调“系统内部做了什么”;I/O 强调“边界发生了什么”。

当你要做系统分析/接口联调/故障排查时,I/O 节点能迅速把“问题可能在谁那里”标出来。

5) 数据 / 数据库(Data/DB):把“读写什么”说清楚,别只画个圆柱

数据/存储常见有两种画法:

数据/文件:可以是带底边的矩形、文档形状,或工具里的 Data 图形

数据库:最常见是圆柱体(DB)

什么时候用:

你希望读者知道关键数据落在哪里、流程依赖哪些数据

你在讲一致性/幂等/对账时,需要明确“写入发生在这里”

推荐写法:

“读取:用户表(user)”

“写入:订单表(order)”

“更新:库存表(stock)”

“记录:操作日志(audit log)”

常见误用:

画了 DB 圆柱,但不写表/集合/文件名,也不写读还是写。最后读者只知道“跟数据库有关”,不知道风险点在哪里。

一个更工程化的建议:

在数据节点里写“动作 + 数据对象”,而不是只写数据对象:

不推荐:“订单表”

推荐:“写入订单表(创建)”

6) 连接符(Connector):它的作用是“降噪”,不是“让图更复杂”

连接符常见有:

同页连接符(小圆点/圆圈字母)

跨页连接符(Off-page connector,常用五边形/箭头形)

什么时候必须用连接符:

流程太长,线条交叉到难以阅读

需要跨页/跨区(例如从“用户端”跳到“后台系统”)

需要把相同子流程复用(例如“风控校验”在多个入口都会走)

连接符标注规则:

连接符要成对出现(A → A,或 1 → 1),且标注要唯一。

在连接符旁边写一句“去哪儿/从哪儿来”:

“A:跳转到【支付处理】段落”

“B:来自【异常处理】分支”

反例:

连接符只画一个不画配对。

连接符用来“偷懒”省略关键步骤(读者会以为你没想清楚)。

7) (扩展)子流程/预定义过程:当一个块太大,别硬塞进一个矩形

在实际项目里,流程往往会出现“一个步骤背后其实是十几个步骤”。这时你有两种更清晰的表达:

子流程(Subprocess)

常见画法是带双边线或带“+”的小标记。

什么时候用:

你在主流程里只想强调“这里会进入一段更细的流程”

你准备在另一张图里展开细节

推荐写法:

“子流程:风控校验(见风控流程图)”

“子流程:发票开具(见开票流程)”

预定义过程(Predefined process)

如果某段流程是团队里“约定俗成、反复复用”的标准步骤,可以用预定义过程强调它的可复用性。

注意:

这不是“模板库堆文本”。它表达的是“这是一个稳定可复用的模块”。

8) (扩展)文档 / 报表:当输出是“文件形态”时,用它更直观

文档符号通常是底部波浪的矩形。

适用:

生成对账单、导出报表、生成合同/发票 PDF

需要交付“文件”给人或系统

推荐写法:

“生成:对账单 PDF”

“输出:发票(PDF/电子发票号)”

9) (扩展)人工/手工操作:当你必须强调“人介入”,不要用普通处理糊过去

一些工具里会提供“手工输入/人工操作”的符号(例如梯形)。

什么时候值得强调:

审核、复核、人工客服处理

需要明确“这里不是自动化”,否则读者会误解系统能力

推荐写法:

“人工审核:材料完整性”

“客服处理:更改收货地址”

符号之外,更决定专业度的是:连线与布局规则

符号选对了,如果连线乱,图依然不可读。下面这些规则比“多认识几个符号”更值。

1) 统一方向:从上到下或从左到右,别来回折返

大多数中文读者习惯:从上到下。

只有在屏幕宽、需要泳道(角色)时,才考虑从左到右。

一个简单自检:

让别人从起始开始“用手指跟着读”。如果他经常需要回头找箭头,说明方向没统一。

2) 箭头必须清晰,线条尽量直角,减少交叉

箭头表示方向:没有箭头的线很容易被误读成“关联”而非“顺序”。

直角线更便于排版与跨区阅读。

3) 分支的默认习惯:是/成功放右边或下方,否/失败放左边或旁边

这不是硬标准,但团队内统一后,读者的阅读成本会显著下降。

4) 回路(循环)要写“退出条件”,否则像死循环

当出现“重试/循环”时,建议在回到前面之前加一个判断节点:

“是否超过重试次数?”

“是否超时?”

把“可退出”画出来,读者才知道这段循环是受控的。

只给 1 个小例子:用最少符号写出“可交付”的流程

下面这个例子刻意很短,只演示符号与条件写法(你不需要靠例子堆砌)。如果你有一段更长的文字步骤,建议直接用文本生成工具先出图,再按本文规范微调:

流程图在线制作 - AI生成 | 自动排版

开始 用户提交表单

用户提交表单 输入 校验字段

校验字段 判断 是否通过校验?

是否通过校验? -是 处理 写入数据库

是否通过校验? -否 输出 返回错误信息

写入数据库 输出 返回成功

返回错误信息 结束

返回成功 结束

你会发现:

判断节点是“问题句”,分支线是“答案”

输出节点明确“返回什么”

结束节点是“状态”,而不是空洞的“结束”

常见错误清单(对照改一遍,图会立刻变清晰)

节点名全是名词:

错:“用户信息 → 订单信息 → 支付信息”

对:把每步改成动作:“读取用户信息 → 创建订单 → 发起支付”

判断没有条件标签:

错:菱形分两条线,但线不写“是/否”

对:每条出边都写标签,必要时写“失败原因/后续动作”

把外部交互画成内部处理:

错:“调用第三方支付”画成普通处理,读者看不出边界

对:用 I/O 或明显的边界标注,或在节点名里写“外部接口”

数据库节点只画不写:

错:一个圆柱体叫“数据库”

对:写“读取/写入 + 表/集合/文件 + 关键字段(可选)”

线条乱穿、交叉:

对:用连接符拆段;必要时把流程分成“主流程 + 异常流程”两张图

异常分支不闭合:

错:失败分支一路飘到图外

对:失败分支也要回到某个结束状态,或明确进入“人工处理/重试队列”

什么时候不该用流程图?(以及该用什么)

你要描述“角色与事件驱动的时序”——更适合时序图(Sequence Diagram)。

你要描述“组织流程、泳道、事件、中间消息”——更适合 BPMN。

你只想列步骤,不需要分支/循环——用清单或 SOP 文档可能更快。

但如果你的目标是:把一个过程讲清楚,让别人能照着实现/验收/排查,流程图依然是最通用、成本最低的表达。

交付与导出:让别人打开就能用(而不是糊成一团)

流程图经常不是画给自己看的,而是要交付给:同事、甲方、老师、评审、客户或未来的自己。

导出前的最后检查

字体大小是否在 12–16 左右(打印/投屏可读)

线条是否有明显交叉导致误读

判断分支是否全都标注了条件

是否在图的角落写了“版本/日期/作者/范围”(可选但很有用)

导出格式怎么选

需要继续编辑、团队协作:优先 draw.io(或兼容格式)

需要发群里、写文档、贴到需求里:优先 PNG(建议 2x 或更高清)

需要打印或嵌入 PDF:可考虑 SVG/PDF(看工具支持)

如果你希望“从文本直接生成 + 自动排版 + 一键导出 draw.io/PNG”,这类场景用文本生成会比拖拽快很多:

流程图在线制作 - AI生成 | 自动排版

FAQ:关于流程图符号,你最可能会问的 8 个问题

Q1:流程图符号必须完全按某个国际标准吗?

不必。多数团队使用的是“行业习惯 + 工具默认”。关键是:同一张图内部一致、对读者无歧义。

如果你在做跨团队/对外文档,尽量靠近常见习惯(开始/结束、处理、判断、I/O、数据、连接符),可读性会更好。

Q2:判断节点一定只能两条分支吗?

不一定,但两条分支最清晰。多分支(例如 A/B/C)也可以做,但你要保证:

条件互斥且覆盖完整

每条分支都标注清楚

否则建议拆成多个判断,让读者一步步跟得上。

Q3:什么时候用“连接符”,什么时候把图拆成两张?

连接符适合:图还能在同一页/同一屏里读完,只是局部交叉太多。

拆图适合:主流程已经很长,或需要把“异常处理/重试/人工介入”单独讲。

经验上:当读者需要频繁缩放/拖拽才能读完整张图时,就该考虑拆图了。

Q4:I/O 平行四边形里要写“输入/输出”四个字吗?

不强制,但写上会更友好,尤其在图里同时出现“用户输入”“系统返回”“外部接口”时:

“输入:……”

“输出:……”

“外部:调用 XXX API”

Q5:数据库圆柱体是不是只能表示数据库?缓存/队列怎么画?

圆柱体更多是“持久化存储”的视觉隐喻。缓存/消息队列也可以用数据存储类符号表示,但建议在节点名里直接写清楚:

“写入:Redis 缓存(key=…)”

“投递:MQ 队列(topic=…)”

比纠结形状更重要的是“读/写/投递/消费”动作明确。

Q6:流程图里要不要写错误码、字段名、SQL?

通常不建议写到流程图节点里(会让图变成代码块)。更好的方式:

节点里写“发生了什么”

细节放在注释/附录/链接文档里

只有当错误码本身是关键分支条件(例如不同错误走不同处理)时,才把它写在分支标签里。

Q7:泳道算不算“流程图符号”?

泳道更多是布局而不是节点符号,但它非常实用:当你要说明“谁负责哪一步”时,用泳道比用文字括号更清楚。

一个常见泳道划分是:用户端 / 业务服务 / 外部系统 / 数据库。

Q8:我只有一段需求文字,怎么最快变成一张看得懂的流程图?

最快的路径通常是:

先把文字按“动作/判断/输入输出/数据”拆开,写成简短行

用工具自动排版成图

再按本文的命名与分支规范做一次清理

如果你想直接从文本生成并导出交付文件,可以用:

流程图在线制作 - AI生成 | 自动排版

最终检查清单(复制到你的脑子里就够了)

开始/结束写清楚触发与结果状态

处理节点都是“动词 + 宾语”,不写空泛词

每个判断的出边都有条件标签

I/O 节点明确是输入、输出还是外部交互

数据节点写清楚读/写与数据对象

线条尽量不交叉,必要时用连接符或拆图

导出时保证清晰度(发文档用 PNG 2x,协作用 draw.io)

把这些做到位,你的流程图就不只是“画出来了”,而是能被别人拿去实现、拿去评审、拿去排查的工作产物。

相关数据

365bet体育在线滚球 蒋牧童作品集[共17本]作者:蒋牧童
bat365app官网入口登录 三監之亂

三監之亂

07-25 访问量: 910
bat365app官网入口登录 刷牙时要刷舌头吗?医生:你可能是搞错了,口臭才会一直存在