在快节奏的敏捷开发世界中,文档往往声誉不佳。它被视为缓慢、僵化且与实际代码脱节。然而,仍有一项工件对于协调利益相关者、定义范围以及推动用户故事不可或缺:那就是“用例图.
对于产品经理、业务分析师和敏捷团队而言,用例图并非为了创建完美的架构蓝图,而是为了沟通。它们提供了一张高层次的地图,展示“谁与系统交互,以及“什么他们能够实现的目标,而无需陷入技术层面的“如何实现”细节中。”

本指南专为绝对初学者和敏捷实践者设计,旨在帮助他们利用用例图来澄清需求、识别缺失功能,并通过“Visual Paradigm.
📘 什么是用例图?(宏观视角)
一个“用例图在最简单的层面上,是用户与系统交互的表示,展示了用户与不同“用例之间的关联,用户在这些用例中参与其中。一个“UML用例图是正在开发的新软件程序系统/软件需求的主要形式。”

💡 来自经验的关键洞察:用例指定了“预期行为(做什么),而非实现它的确切方法(怎么做)。这种关注点的分离正是它们对利益相关者沟通如此有价值的原因。”
用例图擅长之处:
-
🎯 提供系统功能的高层次、最终用户视角
-
🗣️ 促进技术方与非技术方利益相关者之间的对话
-
🧭 作为系统实际必须做什么的“蓝图”
-
🔗 链接到详细规格说明、序列图或用户故事
它们未展示的内容(这也没关系):
-
❌ 为实现目标而执行步骤的顺序
-
❌ 详细的用户界面流程或数据库模式
-
❌ 实现逻辑或算法复杂度
⚠️ 从业者警示: 如果您的用例图包含超过20个用例,您可能误用了它。保持简洁。使用包来分组相关功能。让其他图表处理细节。
🧩 核心概念与符号:视觉参考指南
在绘制之前,您需要了解基本构建块。以下是完整的符号参考。每个元素都包含OMG UML官方规范的摘录,供需要形式化精确性的读者参考,但我们将重点介绍它们在敏捷环境中的实际应用。

| 图标 | 名称 | 用途与我的实践笔记 |
|---|---|---|
| 用例 | 表示可通过系统实现的用户目标。专业提示:将用例命名为动词-名词短语(如“下订单”或“生成报告”)以提高清晰度。 | |
| 关联 | 将参与者与其参与的用例连接起来。表示交互,而非数据流。 | |
| 参与者 | 与系统交互的外部实体。请记住:参与者代表角色(例如“客户”),而非具体的人(例如“约翰·多伊”)。 | |
| 系统 | 系统边界。用例位于内部,参与者位于外部。明确范围。 | |
| 包含 | 强制行为复用。基础用例始终执行被包含的用例。 | |
| 扩展 | 可选/条件行为。扩展仅在特定条件下于定义的扩展点执行。 | |
| 依赖 | 一个元素在规范或实现上依赖于另一个元素。在用例图中应谨慎使用。 | |
| 泛化 | 继承关系。具体分类器继承通用分类器的特性。 | |
| 实现 | 将规范与其实现相连接。在类图/组件图中更为常见。 | |
| 协作 | 描述角色如何协作以实现功能。抽象掉实例细节。 |
🔍 深入解析:核心符号详解
用例

用例代表通过访问系统或软件应用程序可实现的用户目标。在 Visual Paradigm 中,您可以利用子图功能,在用例下创建子序列图,以描述用例中用户与系统之间的交互。您还可以使用“事件流编辑器”来描述用例场景。
OMG UML 规范:
“用例是系统执行的一组动作的规范,该动作会产生一个可观察的结果,通常对系统的一个或多个参与者或其他利益相关者具有价值。”
— UML 超结构规范 v2.4.1,第 606 页
参与者

参与者是与系统进行交互的实体。尽管在大多数情况下,参与者用于表示系统的用户,但实际上,参与者可以是任何需要与系统交换信息的对象。因此,参与者可以是人、计算机硬件、其他系统等。
OMG UML 规范:
“参与者指定了与主题交互的用户或任何其他系统所扮演的角色……参与者建模了与主题交互但位于主题外部的实体所扮演的角色类型。”
— UML 超结构规范 v2.4.1
包含与扩展:关键区别
初学者最常犯的错误之一是混淆<<include>>和<<extend>>。以下是简单规则:
| 关系 | 何时使用 | 方向 | 我的经验法则 |
|---|---|---|---|
<<include>> |
当行为是始终必需的 | 基础 → 包含 | “此步骤是主流程的强制要求” |
<<扩展>> |
当行为是条件性或可选的 | 扩展 → 基础 | “仅当满足条件 X 时才会发生” |


💡 现实世界示例:
下订单包含验证支付(始终必需)
下订单可被扩展为应用促销码(仅当用户拥有代码时)
🛠️ 如何绘制用例图:我的 Visual Paradigm 工作流程
在测试了多种 UML 工具后,我选择了 Visual Paradigm,因为它在严谨性和易用性之间取得了良好平衡。以下是我经过实战检验的敏捷团队工作流程:
步骤 1:创建图表
-
选择图表 > 新建从应用程序工具栏中。
-
在新建图表窗口中,选择用例图.
-
单击 下一步.
-
输入图表名称和描述。该 位置字段可让您选择用于存储图表的模型。
-
单击 确定.
步骤 2:定义系统边界
要在用例图中创建系统,请选择 系统在图表工具栏上,然后在图表窗格中单击它。最后,在创建新系统时为其命名。

✅ 最佳实践:清晰命名您的系统(例如,“电子商务平台”而非“系统 1”)。这将成为您的范围锚点。
步骤 3:添加参与者
要在用例图中绘制参与者,请选择 参与者在图表工具栏上,然后在图表窗格中单击它。最后,在创建新参与者时为其命名。

🎯 专业提示:从主要参与者(发起用例的参与者)开始,然后添加次要参与者(支持的系统或角色)。
步骤 4:创建用例(智能方式)
除了通过图表工具栏创建用例外,您还可以通过资源目录创建:
-
将鼠标悬停在源形状上(例如,一个参与者)。
-
点击 资源目录按钮并将其拖出。

-
松开鼠标按钮,直到它到达您希望的位置。
-
选择关联 -> 用例来自资源目录。

-
源形状与新创建的用例已连接。最后,为新创建的用例命名。

步骤 5:处理长用例名称
如果用例太宽,您可以通过拖动填充选择器来调整其大小以获得更好的外观。结果,用例名称将自动换行。

⌨️ 键盘快捷键:按Alt + Enter以手动强制换行。
步骤 6:添加<>和<>关系
对于扩展:
-
将鼠标移至用例上方,按住并拖出其资源目录按钮。
-
在希望的位置松开鼠标按钮,并选择扩展 -> 用例.
-
为新用例命名并定义扩展点。

对于包含:
-
相同的从资源目录拖拽方法。
-
选择包含 -> 用例.
-
为包含的用例命名。

步骤 7:使用包进行组织(如有需要)
当图表中存在大量用例时,您可以使用包对其进行组织。
-
选择包在图表工具栏上。

-
拖动鼠标以创建一个包围这些用例的包。

-
最后,为包命名。

附加内容:业务用例
UML 图表工具还支持表示业务参与者和业务用例。要将普通用例显示为业务用例,请执行以下操作:
-
右键单击用例并选择模型元素属性 > 业务模型.

-
选择后,用例的左侧边缘将显示一个额外的斜杠。

📝 需求捕获:用例笔记与会议工作流
一项彻底改变我需求流程的功能:用例笔记。虽然与用户会面是需求捕获的重要组成部分,但多次会议对于澄清用户的真实需求至关重要。用例笔记旨在帮助您在需求捕获会议期间记录讨论内容。
访问用例笔记
-
右键单击用例 →打开用例详情…

-
打开用例笔记选项卡。

结构化输入笔记
打开后,您将看到一个预定义的模板,包含四个要点:工作流, 业务逻辑, 决策,和后续跟进.

✏️ 我的模板增强:我添加了两个自定义部分:
干系人关切:记录提出的异议或风险
验收标准:尽早起草可测试的条件
处理嵌套笔记
可以通过创建多个嵌套笔记来记录不同类型的用例相关想法。按Tab键进行缩进,Shift+Tab键减少缩进。

🚀 从笔记到场景:一键演进
当干系人描述期望的系统行为时,您可以将笔记转换为正式的场景:
-
将鼠标悬停在包含行为描述的父级笔记项上。

-
点击项目符号旁边的向下箭头 → 事件流程 > 新建场景.

-
完成:将生成一个新场景,其中笔记文本作为场景名称,子笔记作为步骤。

🔁 我使用的迭代工作流:
会议 → 笔记 → 草稿场景 → 干系人评审 → 优化后的用例 → 关联的序列图
🎯 结论:何时使用(以及何时跳过)用例图
在多年将用例图应用于初创企业和企业项目后,以下是我为敏捷团队提炼的建议:
✅ 在以下情况下使用用例图:
-
您需要让业务利益相关者与开发人员就“什么”系统应该做什么”达成一致
-
您正在为新产品或重大功能发布记录范围
-
您希望尽早识别缺失的参与者或边界情况交互
-
您正在为敏捷冲刺准备用户故事(用例 = 史诗级粒度)
❌ 在以下情况下考虑替代方案:
-
您正在建模高度技术性的内部系统交互(请尝试组件图或部署图)
-
您需要指定实时行为或并发(状态机或序列图更为合适)
-
您的受众是 exclusively 偏好代码优先规范的开发人员
最终思考:
用例图并非追求完美——它们旨在“沟通”。一张能让大家达成共识的略有瑕疵的图表,远比一张“正确”却束之高阁、无人使用的图表更有价值。
🌟 我的黄金法则:如果您无法在 5 分钟内向非技术利益相关者解释您的用例图,请进一步简化它。
从简单开始。根据反馈进行迭代。让图表随着您对问题领域的理解而演进。这正是用例建模成为战略优势的方式——而不仅仅是一项文档工作。
📚 Visual Paradigm 推荐资源
- 什么是 UML?:来自 Visual Paradigm 学习指南的初学者友好型 UML 概念、图表类型和建模原则介绍。
- 为什么要进行 UML 建模?:采用 UML 的实际理由,涵盖改善沟通、减少歧义以及提升设计文档质量等益处。
- 什么是用例图?:核心指南,解释用例图的目的、范围及其在行为型 UML 图表中的定位。
- 用例图符号指南:所有 UML 用例图符号、关系及 OMG 规范摘录的全面视觉参考。
- 如何在 UML 中绘制用例图:在 Visual Paradigm 中创建用例图的逐步教程,包括系统边界、参与者、关系和组织技巧。
- 输入用例会议记录:高级工作流指南,用于在用例笔记中记录利益相关者的讨论,并将其演变为正式的场景和需求。











