用例图是统一建模语言(UML)中的行为图之一,统一建模语言(UML)它提供了系统预期功能的高层次图形化视图。它通过展示用户(参与者)与他们执行的功能(用例)之间的关系,来定义系统做什么系统通过展示用户(参与者)与他们执行的功能(用例)之间的关系来实现其功能。

在需求收集与分析阶段,该图至关重要,因为它从商业角度确立了系统的边界和范围。
1. 用例图的核心元素
用例图仅使用少数几个基本元素,使其成为最易于阅读和创建的UML图之一。
A. 系统边界

系统边界是一个矩形,用于视觉上定义所考虑系统的范围。方框内的所有内容都属于系统;方框外的所有内容都是外部的。
- 符号表示: 一个大的矩形。
- 目的: 为了清晰地区分系统与与其交互的外部实体(参与者)的责任。
B. 参与者

参与者代表任何与系统交互以实现目标的外部实体。参与者并不必须是人类;它可以是另一个系统、硬件设备,甚至是一个特定的时间事件。
- 符号表示: 一个标有角色名称的简笔人形图。
- 定义:参与者是一个角色,而不是某个具体的人。例如,“客户”是一个参与者,而“简·多”是该角色的一个实例。
- 参与者类型:
- 主要参与者:发起交互以实现预期目标(例如,客户发起购买行为)。
- 次要参与者: 为系统提供服务(例如,支付网关).
- 被动参与者: 受用例影响但不发起用例(例如,仓库系统 接收发货通知)。
C. 用例

用例代表一个单一且完整的功能需求,或一组能为参与者带来可衡量价值的动作。它们应以简单的主动动词和名词来表述。
- 符号表示: 位于系统边界内的椭圆。
- 示例: 下单, 登录账户, 处理退款, 生成报告.
- 关键规则: 用例必须始终由参与者发起,并且必须为一个或多个参与者提供有价值的结果。
2. 用例图中的关系
关系将参与者与用例连接,也将用例彼此连接,定义了复杂性和流程逻辑。
A. 通信关联
这是最简单且最常见的关系,表示参与者参与某个用例。
- 符号表示: 一条实线连接参与者与用例椭圆。
- 目的: 显示哪些功能由哪些角色启动或使用。
B. 包含关系(<<包含>>)
当一个特定用例(扩展用例)向另一个用例(基础用例)添加可选或条件性行为时,使用包含关系。包含的用例对于基础用例完成其功能是必需的。
- 符号表示: 一条从基础用例指向包含的用例的虚线箭头,标注为
<<包含>>. - 用法: 用于从多个用例中提取出共有的行为。
- 示例: 下单 包含 用户认证.
C. 扩展关系(<<扩展>>)
当一个特定用例(扩展用例)向另一个用例(基础用例)添加可选或条件性行为时,使用扩展关系。
- 符号表示: 一条从扩展用例 到 基础用例,标记为
<<扩展>>. - 用法: 描述替代、异常或特殊行为。只有在满足特定条件时才会发生扩展。
- 示例: 处理付款 是基础用例,而 应用忠诚度折扣 扩展 处理付款 在以下条件下
[如果忠诚度等级为黄金].
- 示例: 处理付款 是基础用例,而 应用忠诚度折扣 扩展 处理付款 在以下条件下
D. 泛化关系(继承)
此关系表示一个参与者或一个用例是另一个的特化版本。
- 符号表示: 一条实线,带有空心三角形箭头,从特化元素指向更一般的元素。
- 用法:
- 参与者: 系统管理员 是 的泛化注册用户.
- 用例: 信用卡支付 是 的泛化处理付款.
3. 逐步示例:一个在线学习平台
想象一下,对一个在线学习平台的核心功能进行建模。
| 元素 | 类型 | 描述 |
|---|---|---|
| 学生 | 参与者 | 主要用户角色。 |
| 讲师 | 参与者 | 创建和管理内容。 |
| 参加课程 | 用例 | 学生的首要功能。 |
| 查看进度 | 用例 | 对学生非常有价值的功能。 |
| 验证用户 | 用例 | 两个参与者都需要的通用必经步骤。 |
| 创建课程 | 用例 | 讲师的主要功能。 |
| 生成完成证书 | 用例 | 可选功能,用于扩展参加课程. |
流程建模
- 系统边界:绘制一个大框,包含所有用例。
- 生命线:将学生和教师参与者放在框外。
- 通信:连接学生到选课和查看进度。连接教师到创建课程.
- 包含: 选课和创建课程两者都连接到用户认证用例,使用
<<包含>>箭头,因为登录对两者都是必需的。 - 扩展: 生成完成证书 用例连接到 参加课程 一个
<<扩展>>箭头,表示它仅在以下条件下发生[课程完成100%后].

摘要
UML用例图是一种强大而简单的建模工具,专注于 功能需求 和 用户视角。通过明确定义参与者、用例和系统边界,您可确保所有利益相关者——从业务分析师到开发人员——对系统设计目标达成一致且无歧义的理解 什么系统被设计用来做什么。它是更详细行为模型(如时序图)的起点。
有关UML的补充信息以及AI如何帮助您可视化它,请访问我们的 UML资源中心.











