用户流程图回答的是“用户为了完成目标,要经过哪些决定和反馈”,不是把所有页面名称排成一列。画法可以固定为:先写任务终点,再列用户动作和系统反馈,最后补异常、权限和返回路径。每个节点都应能对应一个可观察结果。
可以用墨刀流程图从“申请退款”案例开始,先画用户泳道,再加入客服和支付系统。比起直接罗列页面,这种画法更容易发现补材料、审核拒绝和超时后的去向。

先选对图的范围,不要把站点地图当流程图
站点地图回答“有哪些页面及层级”,用户流程图回答“怎样完成一个任务”;用户旅程图更侧重不同阶段的需求、接触点与情绪。画退款流程时,不需要先放入商城所有页面,只保留会改变退款进度的动作、判断和反馈。订单详情中的浏览商品、分享订单等行为,可以留在相邻流程里。
在画布左上角写下范围句:“已登录用户为一笔可申请退款的订单提交申请,跟踪处理结果,最终看到退款到账或明确的不予退款原因。”再注明不包含的内容,例如退货物流和商家结算。范围句能阻止讨论不断扩展,也能提醒团队:拒绝、撤销等终点同样需要被画出来。
从任务终点倒推主路径
先写“退款到账并收到通知”这个可验证终点,再向前倒推:用户提交申请、确认金额、补充凭证,系统校验订单,客服审核,支付服务处理。每一步区分“用户做了什么”和“系统回应什么”,避免把接口名当成用户步骤。
| 节点 | 用户动作 | 系统反馈 | 可验证结果 |
|---|---|---|---|
| 填写原因 | 选择原因并提交 | 显示待审核 | 申请号可复制 |
| 补充材料 | 上传凭证 | 提示格式和大小 | 材料出现在申请详情 |
| 审核拒绝 | 查看拒绝原因 | 说明可否再次提交 | 规则允许时回到可编辑状态 |
给节点编号,先连通再画精细页面
- 画起点“用户从订单详情申请退款”,把开始条件写在旁边,例如订单已支付、用户拥有该订单。
- 画用户动作“选择退款原因并填写凭证”,之后接系统判断“必填信息是否完整”。校验未通过回到填写节点,并保留已输入内容。
- 提交成功后画“生成申请号,状态为待审核”。此时任务已经进入处理阶段,返回订单详情也应能再次找到申请。
- 审核结果分成通过、需补材料、拒绝三条线。“需补材料”回到凭证填写,再次提交后回到审核队列;拒绝则到结果说明页,是否允许重新申请由规则决定。
- 审核通过后进入退款处理。确认最终退款完成后,才显示“已退款”;若支付服务只返回受理成功,仍显示“退款处理中”并支持查询。不能把受理成功直接写成已经到账。
可以给申请填写、待审核、补材料和退款结果分别编号R01、R02、R03、R04,并在节点旁引用对应原型页面。编号不会因为页面改名而失去关联;如果R03的凭证要求变了,就能沿着连接它的判断条件检查影响,而不用重读整篇需求。

节点文字建议使用“动词+对象”,例如“提交退款申请”“显示拒绝原因”;状态写成“待审核”“待补材料”“退款处理中”。“退款页”只能告诉团队页面叫什么,无法说明用户做了什么。页面可以承载多个状态,一个状态也可能由多个端展示,不要强行让每个流程节点等于一张页面。
异常分支要连接回任务
网络失败不等于申请被拒绝;权限不足也不等于数据为空。为每个异常标注触发条件、可见反馈、恢复动作和责任方。比如上传超时保留已选文件并允许重试,订单已退款则提示查看记录,不再显示重复提交按钮。
优先补会改变结果的异常
| 发生位置 | 容易画错的分支 | 更完整的去向 |
|---|---|---|
| 提交申请时超时 | 直接回填写页,让用户再提交 | 先查询是否已生成申请;已生成则进入详情,未生成再允许重试 |
| 审核要求补材料 | 画“补材料”后就结束 | 回到可编辑凭证页,保留原材料;提交后返回待审核 |
| 支付服务未返回结果 | 直接连到“退款失败” | 显示退款处理中,提供查询入口;结果明确后再流向成功或失败 |
| 申请期间订单状态变化 | 仍按进入页面时的判断提交 | 提交前校验最新状态;不能继续时说明原因并返回订单或已有退款记录 |
异常数量不是越多越好。先覆盖会导致数据重复、资金状态误判、任务中断的分支,再增加低频设备问题。每条异常线至少能回答“用户现在看见什么、还能做什么、下一步回哪里”;只有一个红色叉号的终点,不能帮助设计反馈界面。
泳道和连线怎样保持可读
泳道只在角色交接时切换,系统自动动作可放在系统泳道。判断节点用完整问题,例如“订单是否满足退款条件?”,分支线上标“是/否”。主流程从左到右或从上到下保持一个方向,回环单独标注原因,避免线条交叉遮住节点。
判断条件写互斥,交接信息写在线上
二分判断可以使用“订单是否满足退款条件?”并标是/否;有三个结果时,直接写“审核结果”,连线分别标通过、补材料、拒绝,不要让三条线都叫“继续”。条件应让同一笔申请在同一时刻只落入一条确定路径;无法确定的状态需要独立分支,不能悄悄归到失败里。
用户到客服泳道的连线上写“申请号+原因+凭证”,客服到系统的连线上写“审核决定+理由”。这样泳道表示的不只是部门位置,还说明交接需要什么。若某段支付处理过于复杂,可以折叠为子流程,在主图保留进入条件和可能返回的结果,避免把技术调用细节挤满用户流程。
用五次走查找出断开的路径
画完先不用讨论配色。让一位未参与绘图的同事分别扮演正常申请者、漏填凭证者、需要补材料者、提交超时者和收到拒绝者,从起点顺着箭头走到底。每次记录停住的节点,以及缺少的是业务规则、页面反馈还是负责角色。
- 正常路径:申请号出现后,用户能否离开再回来继续查看进度?
- 缺少凭证:校验失败是否保留原因与其他已填字段?
- 补充材料:再次提交后回到哪种状态,是否复用同一申请号?
- 提交超时:能否判断申请是否已受理,避免重复申请?
- 审核拒绝:原因是否可见,重新申请入口是否符合规则?
如果不同角色对同一判断给出不同答案,先在节点旁写清分歧与待定规则,再调整连线。流程图的价值常常在这里:在高保真页面完成之前,把需要决策的业务问题暴露出来。
交付一张图和三份配套清单
完成后输出:用户任务列表、节点状态表、异常分支表和原型链接。研发可据此确认接口、状态码和权限;设计可据此补反馈;产品可据此安排验收任务。将流程图与原型页面编号关联,后续规则变化时能快速找到受影响节点。