实践者的实战评测与全面指南:帮助您理解、创建并利用用例图,实现有效的系统需求建模
🎯 新增引言
当我第一次在软件工程课程中接触到 UML 用例图时,我得承认——我感到不知所措。小人儿、椭圆、带构造型的虚线箭头,比如<<include>>和<<extend>>……感觉就像在学习一种秘密语言。但在参与了多个实际项目,并深入使用 Visual Paradigm 等工具后,我逐渐认识到用例图是需求工程中最具威力却最被低估的产物之一。

本指南从一个与你处境相同的人的角度出发:一位试图弥合利益相关者期望与技术实现之间差距的产品专业人士、开发者或学生。无论您是在记录新功能、协调跨职能团队,还是准备认证考试,这份全面的指南都将帮助您不仅学会绘制用例图,更关键的是学会以用例的思维去思考。
我们将涵盖:
-
✅ 用例图真正是什么(以及它们不是什么)
-
✅ 基于 OMG UML 规范的可视化符号参考
-
✅ 在 Visual Paradigm 中分步创建流程
-
✅ 保持图表简洁有效的专业技巧
-
✅ 如何记录会议笔记并将其转化为可执行的场景
让我们开始吧。
📘 什么是用例图?(整体概览)
一个用例图在最简单的层面上,是用户与系统交互的表示,展示了用户与不同用例之间的关系。一个UML用例图是正在开发的新软件程序的主要系统/软件需求形式。

💡 来自实践经验的关键洞察: 用例指定了系统的预期行为(做什么),而不是实现它的具体方法(怎么做)。这种关注点的分离正是它们在利益相关者沟通中如此有价值的原因。
用例图的优势在于:
-
🎯 提供系统功能的高层级、终端用户视角
-
🗣️ 促进技术人员与非技术人员之间的沟通
-
🧭 作为系统实际需要完成功能的“蓝图”
-
🔗 与详细规范、顺序图或用户故事相链接
它们不展示的内容(这没有关系):
-
❌ 实现目标时步骤的执行顺序
-
❌ 详细的用户界面流程或数据库模式
-
❌ 实现逻辑或算法复杂性
⚠️ 实践者警告: 如果你的用例图包含超过20个用例,你很可能使用不当。保持简洁。使用包来分组相关功能。让其他图表处理细节。
🧩 用例图符号:视觉参考指南

以下是我在书签中保存的完整符号参考。每个元素都包含官方OMG UML规范摘录,供需要正式精确性的读者使用。
| 图标 | 名称 | 用途与我的实用建议 |
|---|---|---|
| 用例 | 表示可通过系统实现的用户目标。实用提示:将用例命名为动词-名词短语,如“下单”或“生成报告”,以提高清晰度。 | |
| 关联 | 连接参与者与他们参与的用例。表示交互关系,而非数据流。 | |
| 参与者 | 与系统交互的外部实体。记住:参与者代表的是角色(例如“客户”),而不是具体的人(例如“约翰·多伊”)。 | |
| 系统 | 系统边界。用例位于内部;参与者位于外部。明确范围。 | |
| 包含 | 强制行为重用。基础用例总是执行被包含的用例。 | |
| 扩展 | 可选/条件性行为。扩展仅在特定条件和定义的扩展点上执行。 | |
| 依赖 | 一个元素依赖另一个元素进行规范或实现。在用例图中应谨慎使用。 | |
| 泛化 | 继承关系。具体分类器继承一般分类器的特征。 | |
| 实现 | 将规范与其实现关联起来。在类图或组件图中更为常见。 | |
| 协作 | 描述角色如何协作以实现功能。抽象了实例的细节。 |
🔍 深入剖析:核心符号详解
用例

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

参与者是与系统交互的实体。尽管在大多数情况下,参与者用于表示系统的用户,但实际上参与者可以是任何需要与系统交换信息的事物。因此,参与者可以是人、计算机硬件、其他系统等。
OMG UML 规范:
“参与者指定了由用户或其他与主体交互的系统所扮演的角色……参与者建模的是与主体交互但外部于主体的实体所扮演的角色类型。”
— UML 超结构规范 v2.4.1
包含与扩展:关键区别
| 关系 | 何时使用 | 方向 | 我的经验法则 |
|---|---|---|---|
<<包含>> |
当行为是 总是 必需 | 基础 → 包含 | “此步骤是主流程的必需步骤” |
<<扩展>> |
当行为是 条件性的或可选的 | 扩展 → 基础 | “只有在满足X条件时才会发生” |


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

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

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

-
释放鼠标按钮,直到它到达您偏好的位置。
-
选择 关联 -> 用例 来自资源目录。

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

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

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

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

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

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

-
最后,为包命名。

附加功能:业务用例
UML 图表工具还支持业务参与者和用例的表示。要将普通用例显示为业务用例:
-
右键单击一个用例并选择 模型元素属性 > 业务模型.

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

📝 需求捕获:用例备注与会议流程
彻底改变我需求流程的一个功能: 用例备注。虽然与用户会面是需求捕获的重要部分,但多次会议对于明确用户真正需求至关重要。用例备注旨在帮助您记录需求捕获会议期间的讨论内容。
访问用例备注
-
右键单击用例 → 打开用例详细信息…

-
打开 用例备注 选项卡。

以结构化方式输入备注
打开后,您将看到一个包含四个要点的预设模板: 工作流程, 业务逻辑, 决策,以及后续事项.

✏️ 我的模板增强: 我添加了两个自定义部分:
利益相关方关切: 记录提出的异议或风险
验收标准: 尽早起草可测试的条件
使用嵌套笔记
通过创建多个嵌套笔记,可以记录各种与用例相关的想法。按 Tab 来缩进, Shift+Tab 来减少缩进。

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

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

-
看吧:一个新的场景已生成,笔记文本作为场景名称,子笔记作为步骤。

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













