用例图 是 统一建模语言(UML)的一个基本组成部分,从用户的角度提供了系统功能需求的可视化表示。本文深入探讨了用例图的关键概念,通过一个示例说明其组成部分,并解释了基础用例、扩展用例和包含用例如何与用例模板和顺序图相关联。
用例图的关键概念
参与者
参与者代表与系统交互的用户或外部系统。它们可以是人类用户、其他系统或硬件设备。参与者以小人图形或系统边界外的标有标签的方框来表示。
用例
用例代表系统提供的功能或服务。它们描述了参与者与系统之间的交互,以实现特定目标。用例以系统边界内的椭圆图形表示。
关系
关系展示了参与者与用例之间的交互,以及用例之间的依赖关系。用例图中的主要关系包括:
- 关联:一条连接参与者与用例的线,表示该参与者参与该用例。
- 包含:从基础用例指向包含用例的虚线箭头,表示包含用例是基础用例的必要组成部分。
- 扩展:从扩展用例指向基础用例的虚线箭头,表示在特定条件下,扩展用例会向基础用例添加可选行为。
示例:ATM系统
让我们以ATM(自动取款机)系统为例,说明用例图的概念及其与用例模板和顺序图的关系。
用例图
ATM系统的用例图如下所示:
参与者:
- 用户
用例:
- 登录
- 取款
- 查询余额
- 向慈善机构捐款
- 转账
- 支付账单
关系:
- “登录”用例是一个基础用例,包含其他用例,如“取现”、“查询余额”、“向慈善机构捐款”、“转账”和“支付账单”。
- “登录”用例包含处理无效密码和会话超时的扩展点。
用例模板
用例模板提供了每个用例的详细文档,包括其描述、参与者、前置条件、后置条件和事件流程。
示例:“登录”用例模板
- 用例名称:登录
- 参与者:用户
- 前置条件:用户位于ATM机前。
- 后置条件:用户已登录,或显示错误消息。
- 事件流程:
- 用户插入ATM卡。
- 系统提示输入密码。
- 用户输入密码。
- 系统验证密码。
- 如果密码正确,系统将用户登录。
- 如果密码错误,系统处理无效密码(扩展)。
- 如果会话超时,系统处理会话超时(扩展)。
扩展点:
- 无效密码:
- 条件: 输入的密码不正确。
- 流程:
- 系统显示错误消息。
- 系统再次提示输入密码。
- 会话超时:
- 条件: 用户在一段时间内未操作。
- 流程:
- 系统将用户登出。
- 系统显示超时消息。
顺序图
顺序图通过展示对象随时间的交互来模拟系统的动态行为。它们关注对象之间交换消息的顺序。
示例:登录用例的顺序图
“登录”用例的顺序图如下所示:

对象:
- 用户
- ATM
- 银行系统
消息:
- 用户插入ATM卡。
- ATM向银行系统发送请求以验证卡片。
- 银行系统验证卡片并向ATM发送响应。
- ATM提示输入密码。
- 用户输入密码。
- ATM向银行系统发送请求以验证密码。
- 银行系统验证密码,并向ATM发送响应。
- 如果密码正确,ATM将用户登录。
- 如果密码错误,ATM处理无效密码(扩展)。
- 如果会话超时,ATM处理会话超时(扩展)。
图表之间的关系
基础用例与包含
“登录”用例是一个基础用例,它包含其他用例,如“取现”、“查询余额”、“向慈善机构捐款”、“转账”和“支付账单”。这意味着用户必须先登录才能执行这些操作中的任何一项。包含关系以从基础用例指向被包含用例的虚线箭头表示。
扩展
“登录”用例具有处理无效密码和会话超时的扩展点。扩展关系以从扩展用例指向基础用例的虚线箭头表示。在特定条件下,扩展用例会向基础用例添加可选行为。
用例模板与顺序图
用例模板提供了用例的详细描述,包括事件流程。顺序图通过展示对象随时间的交互来可视化用例的动态行为。用例模板中的事件流程与顺序图中的消息序列相对应。
结论
用例图对于从用户角度捕捉系统的功能需求至关重要。通过理解参与者、用例和关系的关键概念,并将用例图与用例模板和顺序图相结合,您可以有效地建模系统的行为。ATM系统示例展示了基础用例、扩展和包含用例如何与用例模板和顺序图相关联,从而全面展示系统的功能需求和行为。
参考文献
-
顺序图 – Visual Paradigm
- 本文解释了顺序图是一种强调消息时间顺序的交互图。它详细说明了顺序图如何展示场景中涉及的对象和类,以及它们之间交换消息的顺序。
- 顺序图 – Visual Paradigm 11
-
什么是顺序图?
-
如何绘制顺序图?
-
如何绘制UML顺序图?
- 本教程详细介绍了如何绘制UML顺序图,从一个简单的类图开始,并对与控制器类相关的动态方法调用进行建模。
- 如何绘制UML顺序图? 14
-
顺序图教程 – Visual Paradigm
- 本教程解释了什么是顺序图,并提供了逐步绘制顺序图的说明。它还鼓励用户使用Visual Paradigm Online创建自己的顺序图。
- 顺序图教程 – Visual Paradigm 15
-
Visual Paradigm中的顺序图
- 本章聚焦于Visual Paradigm中的顺序图,解释如何绘制它们以及它们在按顺序展示对象之间交互方面的主要用途。
- Visual Paradigm中的顺序图 16
-
顺序图 – UML图 – Visual Paradigm
- 本文讨论了顺序图如何基于时间序列来建模对象之间的协作,展示对象在用例的特定场景中如何交互。
- 顺序图 – UML图 – Visual Paradigm 17
-
顺序图示例 – Visual Paradigm社区圈
- 此示例展示了一个顺序图,详细说明了操作是如何执行的,包括发送了哪些消息以及何时发送。它还解释了顺序图如何按时间顺序组织。
- 顺序图示例 – Visual Paradigm社区圈 18
-
使用引用 – Visual Paradigm社区圈
- 此示例展示了一个引用其他顺序图(如“余额查询”和“借记账户”)的顺序图。它解释了该序列如何开始,并通过各种交互逐步推进。
- 使用引用 – Visual Paradigm社区圈 19
