UML 用例图:教程与示例

什么是用例图?

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

为什么要用用例图?

用例包含用例、人物或各种调用这些功能的事物(称为参与者),以及负责实现用例的元素。用例图捕获了活动系统的动态行为。它模拟了外部实体如何与系统交互以使其正常工作。用例图负责可视化与系统部分交互的外部事物。

用例图符号

以下是用于用例图的常用符号

用例

用例用于表示高级功能以及用户将如何处理系统。用例代表了系统的特定功能、组件、包或类。它由一个椭圆形表示,用例的名称写在椭圆形内。UML 中用例的符号如下所示

Use-Case Diagram Notations
UML用例符号

参与者

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

Use-Case Diagram Notations
UML参与者符号

如何绘制用例图?

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

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

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

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

  1. 参与者或用例的名称必须具有意义且与系统相关。
  2. 参与者与用例的交互必须清晰且易于理解地定义。
  3. 在需要的地方必须使用注释。
  4. 如果一个用例或参与者有多个关系,则只能显示重要的交互。

绘制用例图的技巧

  1. 用例图应尽可能简单。
  2. 用例图应完整。
  3. 用例图应表示与用例的所有交互。
  4. 如果用例或参与者过多,则应仅表示必需的用例。
  5. 用例图应至少描述系统的单个模块。
  6. 如果用例图较大,则应进行概括。

用例图示例

以下用例图表示学生管理系统的运作

An Example of a Use-Case Diagram
UML用例图

在上一个用例图中,有两个参与者,分别称为学生和老师。共有五个用例代表了学生管理系统的特定功能。每个参与者都与一个特定的用例进行交互。学生参与者可以在应用程序或系统中查看出勤、时间表和测试分数。尽管系统中还有其他用例,但此参与者只能与系统执行这些交互。

并非每个参与者都必须与所有用例交互,但这种情况也可能发生。

第二个参与者(老师)可以与系统的所有功能或用例进行交互。此参与者还可以更新学生的出勤和分数。学生和老师参与者的这些交互共同构成了整个学生管理应用程序。

何时使用用例图?

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

用例图表示系统的核心部分以及它们之间的工作流程。在用例中,实现细节对外部用户隐藏,只表示事件流。

借助用例图,我们可以通过各种测试用例确定与参与者交互之后的先决条件和后置条件。

通常,用例图用于

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

用例旨在传达所需功能,因此用例的精确范围可能因系统和创建UML模型的目的而异。

摘要

  • 用例图是在UML图中捕获系统功能和需求的 方式。
  • 它捕获了活动系统的动态行为。
  • 用例图由用例和参与者组成。
  • 用例代表了系统的特定功能、组件、包或类。
  • 参与者是启动用例的、位于用例范围之外的实体。
  • 参与者或用例的名称必须具有意义且与系统相关。
  • 用例图的目的是捕获系统的核心功能。