适用场景
需求规格说明书、毕业论文的需求分析章节、课程设计。Mermaid 没有专门的用例图语法,这里用流程图来画:胶囊形当用例,subgraph 当系统边界,参与者放在边界外面,效果与 UML 用例图一致,改起来只用改文字。
怎么改成你的
- 参与者:
R[读者]这样的矩形节点,一个角色一行,放在subgraph外面。 - 用例:
subgraph里面的每一行,写成「动词 + 名词」,如「借阅图书」。 - 参与者与用例之间用不带箭头的
---连接。 - 包含关系写成
A -. 包含 .-> B(做 A 一定会做 B),扩展关系写成C -. 扩展 .-> A(特定条件下 C 才发生)。 - 参与者用矩形、用例用胶囊形,两者一眼能分开;Mermaid 画不了 UML 的小人图标。
Mermaid 代码
use-case-diagram.mmd
flowchart LR
R[读者]
L[管理员]
subgraph SYS[图书管理系统]
U1([查询图书])
U2([借阅图书])
U3([归还图书])
U4([登录])
U5([缴纳逾期罚款])
U6([图书入库])
U7([管理读者信息])
end
R --- U1
R --- U2
R --- U3
U6 --- L
U7 --- L
U2 -. 包含 .-> U4
U3 -. 包含 .-> U4
U5 -. 扩展 .-> U3让 AI 按这个结构生成一份
把下面这段发给豆包、DeepSeek、Kimi 或元宝,再把它的回复整段粘贴到编辑器,会自动识别其中的代码。
prompt.txt
请用 Mermaid 的 flowchart LR 语法画一张用例图。系统是图书管理系统,参与者有读者和管理员,写成 R[读者] 这样的矩形节点,放在 subgraph 外面;用例放在名为「图书管理系统」的 subgraph 里,也用胶囊形 ([文字]),包括查询图书、借阅图书、归还图书、登录、缴纳逾期罚款、图书入库、管理读者信息。参与者与用例之间用 --- 连接;包含关系写成 A -. 包含 .-> B,扩展关系写成 C -. 扩展 .-> A。只输出 mermaid 代码块。
常见问题
- Mermaid 能画用例图吗?
Mermaid 目前没有专门的用例图类型。用流程图的胶囊形节点表示用例、subgraph 表示系统边界,就能画出同样结构的图,本模板就是这种画法,渲染和导出都没有问题。
- 包含和扩展有什么区别?
包含(include)表示基础用例每次执行都会用到被包含的用例,例如借阅图书一定要先登录。扩展(extend)表示在特定条件下才会发生的附加行为,例如归还时逾期了才需要缴纳罚款。箭头方向:包含从基础用例指向被包含用例,扩展从扩展用例指向基础用例。
- 用例图要画多细?
一张图画一个子系统,用例控制在 10 个以内。用例是用户能完成的一件完整的事,「点击按钮」「填写表单」这种步骤不算用例,应该放到流程图或用例描述里。
同类模板
更新于 2026-11-11