UML - 用例图

  • 简述

    要对系统进行建模,最重要的方面是捕获动态行为。动态行为是指系统在运行/运行时的行为。
    只有静态行为不足以对系统进行建模,而是动态行为比静态行为更重要。在UML中,有五个图表可用于对动态性质进行建模,用例图就是其中之一。现在,由于我们必须讨论用例图本质上是动态的,因此应该有一些内部或外部因素来进行交互。
    这些内部和外部代理称为参与者。用例图由参与者、用例及其关系组成。该关系图用于对应用程序的系统/子系统进行建模。单个用例图捕获系统的特定功能。
    因此,为了对整个系统进行建模,使用了许多用例图。
  • 用例图的目的

    用例图的目的是捕获系统的动态方面。但是,此定义过于笼统,无法描述目的,因为其他四个图表(活动、序列、协作和状态图)也具有相同的目的。我们将研究一些具体目的,这将与其他四个图表区分开来。
    用例图用于收集系统的要求,包括内部和外部影响。这些要求大多是设计要求。因此,当分析系统以收集其功能时,会准备用例并识别参与者。
    初始任务完成后,将对用例图进行建模以显示外部视图。
    简而言之,用例图的目的可以说如下 :
    • 用于收集系统的要求。
    • 用于获取系统的外部视图。
    • 确定影响系统的外部和内部因素。
    • 显示需求之间的交互是参与者。
  • 如何绘制用例图?

    用例图被考虑用于系统的高级需求分析。当分析系统的需求时,功能在用例中被捕获。
    我们可以说,用例只不过是以有组织的方式编写的系统功能。与用例相关的第二件事是参与者。参与者可以定义为与系统交互的东西。
    参与者可以是人类用户、某些内部应用程序,也可以是某些外部应用程序。当我们计划绘制用例图时,我们应该确定以下项目。
    • 要表示为用例的功能
    • 参与者
    • 用例和参与者之间的关系。
    绘制用例图以捕获系统的功能要求。在确定了上述各项之后,我们必须使用以下指南来绘制有效的用例图
    • 用例的名称非常重要。应以这种方式选择名称,以便它可以识别所执行的功能。
    • 为参与者指定一个合适的名称。
    • 在关系图中清楚地显示关系和依赖关系。
    • 不要尝试包含所有类型的关系,因为关系图的主要目的是确定要求。
    • 在需要时使用注释来澄清一些要点。
    下面是表示订单管理系统的示例用例图。因此,如果我们查看图表,我们将找到三个用例(订单,特殊订单和正常订单)和一个参与者,即客户。
    特殊订单和正常订单用例是从订单用例扩展而来的。因此,他们已经扩展了关系。另一个要点是识别系统边界,如图所示。参与者客户位于系统外部,因为它是系统的外部用户。
    UML Use Case Diagram
  • 在哪里使用用例图?

    正如我们已经讨论过的,UML中有五个关系图来模拟系统的动态视图。现在,每个模型都有一些特定的用途。实际上,这些特定目的是运行系统的不同角度。
    为了理解系统的动态,我们需要使用不同类型的图表。用例图就是其中之一,其具体目的是收集系统需求和参与者。
    用例图指定系统的事件及其流。但用例图从未描述它们是如何实现的。用例图可以想象成一个黑匣子,其中只有输入,输出和黑匣子的功能是已知的。
    这些图表用于非常高的设计水平。这种高级设计一次又一次地被提炼,以获得系统的完整和实用的画面。结构良好的用例还描述了前置条件、后置条件和异常。这些额外的元素用于在执行测试时创建测试用例。
    尽管用例不是正向和逆向工程的良好候选者,但它们仍然以略微不同的方式用于正向和逆向工程。逆向工程也是如此。用例图以不同的方式使用,以使其适用于逆向工程。
    在正向工程中,用例图用于制作测试用例,在逆向工程用例中,用例用于从现有应用程序准备需求详细信息。
    用例图可用于 −
    • 需求分析和高级设计。
    • 对系统的上下文进行建模。
    • 逆向工程。
    • 前向工程。