UML 用例图:带示例的教程

⚡ 智能摘要

UML用例图通过参与者和用例来描述系统的功能和需求。本资源解释了用例符号、绘制步骤、技巧、学生管理示例,以及在分析和设计过程中何时应用该技术。

  • 🎯 目的: 用例图用于建模系统必须为其用户提供的服务和功能。
  • 🎭 演员: 参与者是指发起或支持用例的任何外部实体——人或系统。
  • 符号: 用例用椭圆形表示,每个参与者都连接到它触发的用例。
  • 🖊️ 绘制步骤: 分析系统,将功能列为用例,确定参与者,然后绘制他们的交互图。
  • 🎓 示例: 学生管理模型展示了学生和教师角色共享的五个用例。

UML 用例图

什么是用例图?

用例图 通过使用参与者和用例来捕获系统的功能和需求。用例对系统需要执行的服务、任务和功能进行建模。用例表示高级功能以及用户如何处理系统。用例是统一建模语言建模的核心概念。

为什么要使用用例图?

用例由用例、人员或调用称为参与者的功能的各种事物以及负责实现用例的元素组成。用例图捕获实时系统的动态行为。它模拟外部实体如何与系统交互以使其工作。用例图负责可视化与系统部分交互的外部事物。

用例图符号

以下是用例图中使用的常见符号:

用例:

用例用于表示高级功能以及用户如何处理系统。用例表示系统、组件、包或类的独特功能。它用椭圆形表示,椭圆形内写有用例的名称。UML 中用例的符号如下:

用例图符号
UML 用例符号

演员:

它用于用例图内部。参与者是与系统交互的实体。用户是参与者的最佳示例。参与者是从用例范围之外启动用例的实体。它可以是任何可以触发与用例交互的元素。一个参与者可以与系统中的多个用例相关联。 UML 中的参与者符号 如下。

用例图符号
UML 参与者符号

如何绘制用例图?

要用 UML 绘制用例图,首先需要仔细分析整个系统。您必须找出系统提供的每个功能。找出系统的所有功能后,将这些功能转换为将在用例图中使用的各种用例。

用例不过是任何工作系统的核心功能。组织用例后,我们必须列出将与系统交互的各种参与者或事物。这些参与者负责调用系统的功能。参与者可以是人或事物。它也可以是系统的私有实体。这些参与者必须与他们正在交互的功能或系统相关。

列出参与者和用例后,您必须探索特定参与者与用例或系统的关系。必须确定参与者与系统交互的方式总数。单个参与者可以同时与多个用例交互,也可以同时与多个用例交互。

绘制任何系统用例时必须遵循以下规则:

  1. 参与者或用例的名称必须有意义且与系统相关。
  2. 必须以清晰易懂的方式定义参与者与用例之间的交互。
  3. 无论何时需要,都必须使用注释。
  4. 如果用例或参与者具有多重关系,则只需显示重要的交互。

绘制用例图的技巧

  1. 用例图应该尽可能简单。
  2. 用例图应该是完整的。
  3. 用例图应该表示与用例的所有交互。
  4. 如果用例或参与者太多,则只应表示必要的用例。
  5. 用例图应该至少描述系统的一个模块。
  6. 如果用例图很大,那么它应该被概括。

用例图示例

以下用例图表示学生管理系统的工作原理:

用例图示例
UML 用例图

在上面的用例图中,有两个参与者,分别是学生和老师。共有五个用例代表学生管理系统的特定功能。每个参与者与特定用例交互。学生参与者可以在应用程序或系统上检查出勤情况、时间表以及测试成绩。即使系统中还保留其他用例,该参与者也只能与系统执行这些交互。

每个参与者没有必要与所有用例进行交互,但这是可能发生的。

第二个参与者名为老师,可以与系统的所有功能或用例进行交互。该参与者还可以更新学生的出勤率和学生的成绩。学生和老师参与者的这些互动共同构成了整个学生管理应用程序。

何时使用用例图?

用例是系统的一个独特功能,由用户完成。用例图的目的是捕捉系统的核心功能,并可视化各种事物(称为参与者)与用例的交互。这是用例图的一般用途。

用例图表示系统的核心部分及其之间的工作流程。在用例中,实现细节对外部使用是隐藏的,仅表示事件流。

借助用例图,我们可以找出与参与者交互后的前置条件和后置条件。这些条件可以通过各种测试用例来确定。

一般来说,用例图用于:

  1. 分析系统需求
  2. 高级可视化软件设计
  3. 捕获系统的功能
  4. 对系统背后的基本思想进行建模
  5. 使用各种测试用例对系统进行正向和逆向工程。

用例旨在传达所需的功能,因此用例的确切范围可能根据系统和创建 UML 模型的目的而有所不同。

常见问题

Include 表示一个始终作为另一个用例的一部分运行的用例,它提取出了共享步骤。Extend 表示仅在特定条件下运行的可选行为。Include 是强制重用;Extend 是条件性添加。

主要参与者发起交互以达成目标,例如顾客下单。次要参与者在交互过程中为系统提供支持,例如支付网关。两者都出现在系统边界之外。

用例图是参与者、用例及其相互联系的可视化地图。用例场景则是详细描述一次交互步骤的文本。用例图展示范围,用例场景展示细节。

AI绘图工具可以读取功能列表或需求文档,并生成包含参与者和用例的用例图草稿。这为分析人员提供了一个快速的起点,但参与者及其关系仍需人工审核。

是的。人工智能可以分析书面需求或用户故事,并提出候选用例、参与者及其目标。这可以加快早期分析速度,但团队应验证输出结果,以确保完整性和系统范围的正确性。

总结一下这篇文章: