UML - 用例图


要建模系统,最重要的方面是捕获动态行为。动态行为是指系统在运行/运行时的行为。

只有静态行为不足以模拟系统,而动态行为比静态行为更重要。在UML中,有五个可用于建模动态性质的图表,用例图表就是其中之一。现在我们必须讨论用例图本质上是动态的,应该有一些内部或外部因素来进行交互。

这些内部和外部代理被称为actor。用例图由演员,用例及其关系组成。该图用于建模应用程序的系统/子系统。单个用例图捕获系统的特定功能。

因此,为了对整个系统进行建模,使用了许多用例图。

用例图的目的

用例图的目的是捕获系统的动态方面。但是,这个定义过于通用,无法描述目的,因为其他四个图(活动,序列,协作和状态图)也具有相同的目的。我们将研究一些特定目的,这将与其他四个图区别开来。

用例图用于收集系统的要求,包括内部和外部影响。这些要求主要是设计要求。因此,当分析系统以收集其功能时,准备用例并识别参与者。

初始任务完成后,将使用用例图建模以显示外部视图。

简而言之,用例图的目的可以说如下 -

  • 用于收集系统的要求。

  • 用于获取系统的外部视图。

  • 确定影响系统的外部和内部因素。

  • 展示要求之间的互动是演员。

如何绘制用例图?

用例图被考虑用于系统的高级需求分析。当分析系统的要求时,在用例中捕获功能。

我们可以说用例只不过是以有组织的方式编写的系统功能。与用例相关的第二件事是演员。可以将Actor定义为与系统交互的东西。

Actor可以是人类用户,某些内部应用程序,也可以是某些外部应用程序。当我们计划绘制用例图时,我们应该确定以下项目。

  • 功能性表示为用例

  • 演员

  • 用例和参与者之间的关系。

绘制用例图以捕获系统的功能要求。在确定上述项目后,我们必须使用以下指南来绘制有效的用例图

  • 用例的名称非常重要。应该以这样的方式选择名称,以便它可以识别所执行的功能。

  • 为演员提供合适的名字。

  • 在图中清楚地显示关系和依赖关系。

  • 不要试图包含所有类型的关系,因为图的主要目的是确定需求。

  • 必要时使用注释来澄清一些重点。

以下是表示订单管理系统的示例用例图。因此,如果我们查看图表,那么我们将找到三个用例 (Order,SpecialOrder和NormalOrder) 和一个作为客户的actor。

SpecialOrder和NormalOrder用例从 Order 用例扩展而来。因此,他们扩大了关系。另一个重点是识别系统边界,如图所示。演员Customer位于系统外部,因为它是系统的外部用户。

UML用例图

在哪里使用用例图?

正如我们已经讨论过的,UML中有五个图来模拟系统的动态视图。现在每个模型都有一些特定的用途。实际上,这些特定目的是运行系统的不同角度。

要了解系统的动态,我们需要使用不同类型的图表。用例图是其中之一,其具体目的是收集系统需求和参与者。

用例图指定系统的事件及其流程。但是用例图从未描述过它们是如何实现的。用例图可以想象为黑盒子,其中只有黑盒子的输入,输出和功能是已知的。

这些图表用于非常高的设计水平。这种高级设计一次又一次地得到完善,以获得完整而实用的系统图像。结构良好的用例还描述了前置条件,后置条件和异常。这些额外元素用于在执行测试时生成测试用例。

虽然用例不是正向和反向工程的良好候选者,但它们仍然以稍微不同的方式用于进行正向和反向工程。逆向工程也是如此。用例图的使用方式不同,使其适用于逆向工程。

在正向工程中,用例图用于制作测试用例,在逆向工程中,用例用于从现有应用程序中准备要求详细信息。

用例图可用于

  • 需求分析和高级设计。

  • 模拟系统的上下文。

  • 逆向工程。

  • 正向工程。