用例图导出 draw.io(diagrams.net):如何二次编辑与提交文档
讲清用例图从工具导出为 draw.io(diagrams.net)可编辑文件的做法:选择格式、分层与命名、字体与对齐、导入校验,以及团队提交/评审时的注意事项。
很多团队的用例图画在不同工具里:有人用 diagrams.net(原 draw.io),有人用 Visio、StarUML、PlantUML,甚至有人只在 PPT 里摆形状。等到要评审、要归档、要在同一个仓库里协作时,最常见的问题是:
- 只剩一张 PNG/JPG,别人没法二次编辑
- 拿到的文件能打开,但字体、箭头、对齐全乱了
- 提交到文档平台后,图变成“不可选中”的图片
这篇文章把“把用例图导出成 draw.io(diagrams.net)可编辑文件”这件事拆开讲清楚:你应该导出什么、怎么导入验证、怎么整理图层与命名,最后怎么提交给团队让别人接得住。
先确认:你要的不是“高清”,而是“可编辑”
导出高清 PNG 解决的是“看得清”,导出到 draw.io 解决的是“改得动”。如果你接下来会遇到这些场景,优先考虑可编辑导出:
- 评审意见要改参与者(Actor)名称、调整用例边界
- 要拆分一个用例、补充 include/extend 关系
- 同一张图要出多个版本(不同角色/不同范围)
- 要把图和需求文档一起进仓库做版本管理
diagrams.net 支持什么:两种主流交付方式
在团队协作里,最常用的是下面两种:
- .drawio(推荐)
- 本质是 XML(可读性一般,但能 diff/合并)
- 在 diagrams.net 打开编辑最稳
- 适合进 Git 仓库
- SVG(可编辑但需要验证)
- 部分工具导出 SVG 后,导入 diagrams.net 仍可编辑
- 但不同工具对 SVG 的“可编辑性”实现不一致,容易出现文字变路径、组合丢失
如果你本来就用 diagrams.net 画图:直接保存 .drawio 或 “File → Save as” 即可。
如果你用的是其他工具:目标通常是 尽量导出为“可保留形状/文本”的格式,再导入 diagrams.net。
通用流程:从任意工具到 draw.io 的 6 步
下面是一套“尽量少踩坑”的通用步骤,你不必一次做到完美,但建议按顺序走。
第 1 步:在源工具里做一次“导出前整理”
导出之前先做这 4 件事,能显著减少导入后的错位:
- 统一字体:尽量全图使用同一种字体(如 思源黑体/微软雅黑),避免混用
- 对齐与间距:用工具自带的 Align/Distribute,把 Actor、用例椭圆、关系线拉直
- 减少“奇怪的效果”:阴影、渐变、手绘风格、复杂箭头样式都可能导入失败
- 把图拆分成合理大小:一张图太大时,导入更容易卡或错位(可以按模块拆成两张)
第 2 步:选择最可能保留编辑信息的导出格式
你可能会看到很多导出选项:PNG/PDF/SVG/EMF/Visio/…
经验上,优先尝试顺序:
- SVG(优先):看能否在 diagrams.net 中继续选中单个形状与文字
- PDF(备选):多数情况下导入后会变成图片/路径,编辑性不一定好
- PNG(不推荐用于可编辑):只有展示价值,没有二次编辑价值
如果你的工具支持导出 Visio(VSDX) 或 drawio(少数工具/插件提供),那当然最好,直接走官方兼容链路。
第 3 步:导入 diagrams.net,并立刻做“可编辑性校验”
打开 diagrams.net(或你们的自建版本),导入后先别急着改图,先做两项检查:
- 检查文字是否还是文字:双击用例名称,能否进入编辑?
- 检查线是否还是线:点选 include/extend 的虚线箭头,能否调整端点?
如果你发现:
- 文字变成了不可编辑的路径
- 整张图只能选中一坨
那就说明当前导出链路不适合“可编辑交付”。此时要回到第 2 步换格式,或者改为“在 diagrams.net 里重画”,别在错误链路上硬修。
第 4 步:整理图层、分组、命名(让别人接得住)
团队协作最怕的不是“画得丑”,而是“别人不敢动”。建议做这些最小整理:
- Actor 一组、用例一组、关系线一组:至少保证移动 Actor 不会把线拉断得一塌糊涂
- 系统边界命名清晰:边界框标题写“系统名/子系统名”,别写“系统边界”四个字就结束
- 关键元素命名:对重要用例/模块,给分组起名(右侧格式面板里可设置)
- 避免过度组合:组合太深会让编辑体验很差,保持 1–2 层即可
第 5 步:做一次“导出/提交前的视觉一致性修复”
导入后最常见的小毛病:字体不一致、线宽不一致、箭头样式不一致。
建议你在 diagrams.net 里做一次统一:
- 统一字体、字号(例如:Actor 12pt,用例 12pt,边界标题 14pt)
- 统一线条样式(include/extend 的虚线、泛化的空心三角)
- 统一颜色(尽量黑白灰;彩色仅用于强调)
目标是:同一类元素看起来像同一个人画的。
第 6 步:保存为 .drawio,并按团队方式提交
- 如果进仓库:建议把文件命名为
usecase-xxx.drawio,并与对应需求文档同目录 - 如果发给同事:优先发
.drawio,同时附一张 PNG 方便快速预览 - 如果要贴到在线文档:贴 PNG 用于阅读,
.drawio放在附件/云盘用于编辑
提交/评审时的实用约定(建议团队统一)
下面这些约定不复杂,但能让协作顺畅很多:
- 文件命名:
usecase-<模块>-<范围>.drawio,例如usecase-payment-checkout.drawio - 一个文件一张主图:不要把十张图塞进一个文件的十个页面(除非你们约定就是这样)
- 图上标注版本信息:右下角加小字:范围/作者/日期(不要太大,避免遮挡)
- 变更记录写在 PR/文档里:图里不写长段“修改说明”,把修改点写到提交说明中
常见问题排查
1) 导入后文字全乱、对不齐怎么办?
优先检查:
- 你导出的字体在当前环境是否存在(缺字体会被替换)
- 源工具是否用了大量自动换行/文本框自适应
处理建议:
- 在 diagrams.net 中统一字体(Format → Text)
- 尽量把长文本改成短名称,把解释放到文档正文
2) include/extend 的箭头样式不对,如何快速修?
在 diagrams.net 中:
- 选中关系线 → 设置线型为虚线
- 箭头端点选择合适样式(通常 include/extend 用开放箭头)
- 在线上加标签“<
> / < >”并保持格式一致
3) 只拿到 PNG,能不能“转成 draw.io”?
严格来说不行。PNG 没有形状与文本的结构信息,导入后最多是底图。
可行的做法是:
- 把 PNG 作为背景锁定
- 在 diagrams.net 上面重画关键元素(Actor、用例、关系)
如果你经常遇到“只剩 PNG”的情况,建议从源头要求:交付时同时提供 .drawio(可编辑)+ PNG(预览)。
需要更快?用在线生成器先把骨架搭起来
当你只是想把“模块—参与者—用例—关系”先落地成一张可编辑图,再慢慢调整排版,在线生成器会更省时间。
你可以用这个工具先生成一个基础版本(支持导出后再到 diagrams.net 继续改):
如果你想把团队现有的需求描述直接变成用例图,也可以先生成一个“可讨论的草稿”,在评审里再一起改。
另外,如果你已经确定了用例列表,但不确定 include/extend 或泛化该怎么画,可以先用生成器出一版,再对照本文的检查清单逐项调整:
最后给你一份提交前检查清单(可复制到 PR)
- 提交的是
.drawio(可编辑),并附预览 PNG(如需要) - Actor/用例/关系线可单独选中并编辑
- 字体、字号、线宽、箭头样式统一
- 系统边界命名清晰,范围明确
- include/extend/generlization(泛化)方向正确、标注一致
- 图中没有过长段落,解释放在文档正文
把“可编辑的用例图”交付出来之后,团队协作会轻松很多:该改就改,不用每次都从头重画。