用例图教程(示例指南)

已发表: 2015-02-19

用例图是一种行为 UML 图类型,经常用于分析各种系统。 它们使您能够可视化系统中不同类型的角色以及这些角色如何与系统交互。 本用例图教程将涵盖以下主题并帮助您更好地创建用例。

  • 用例图的重要性
  • 用例图对象
  • 用例图指南
  • 用例图中的关系
  • 如何创建用例图(示例)
    • 识别参与者
    • 识别用例
    • 何时使用“包含”
    • 如何使用泛化
    • 何时使用“扩展”
  • 常见场景的用例图模板

用例图的重要性

如前所述,用例图用于收集系统的使用需求。 根据您的要求,您可以以不同的方式使用该数据。 以下是一些使用它们的方法。

  • 识别功能以及角色如何与它们交互——用例图的主要目的。
  • 对于系统的高级视图——在向经理或利益相关者展示时特别有用。 您可以突出显示与系统交互的角色以及系统提供的功能,而无需深入了解系统的内部工作原理。
  • 识别内部和外部因素——这听起来很简单,但在大型复杂项目中,系统可以被识别为另一个用例中的外部角色。

用例图对象

用例图由 4 个对象组成。

  • 演员
  • 用例
  • 系统
  • 包裹

下面进一步解释这些对象。

演员

演员 用例图是在一个给定系统中执行角色的任何实体 这可以是个人、组织或外部系统,通常绘制如下所示的骨架。

演员

用例

用例代表系统内的一个功能或一个动作。 它被画成一个椭圆并用函数命名。

用例

系统

该系统用于定义用例的范围并绘制为矩形。 这是一个可选元素,但在您可视化大型系统时很有用。 例如,您可以创建所有用例,然后使用系统对象来定义项目涵盖的范围。 或者您甚至可以使用它来显示不同版本中涵盖的不同区域。

系统

包裹

包是另一个在复杂图表中非常有用的可选元素。 与类图类似,包用于将用例组合在一起 它们的绘制如下图所示。

包裹

用例图指南

尽管用例图可用于各种目的,但在绘制用例时需要遵循一些通用准则。

这些包括命名标准、箭头方向、用例的放置、系统框的使用以及关系的正确使用。

我们在另一篇博文中详细介绍了这些指南。 因此,请继续查看用例图指南。

用例图中的关系

用例图中有五种类型的关系。 他们是

  • 参与者和用例之间的关联
  • 演员的概括
  • 扩展两个用例之间的关系
  • 包括两个用例之间的关系
  • 用例的泛化

我们在单独的博客文章中介绍了所有这些关系,其中包含图像示例。 我们不会在这篇文章中详细介绍,但您可以查看用例图中的关系。

如何创建用例图

到目前为止,您已经了解了绘制用例图时至关重要的对象、关系和指南。 我将以银行系统为例来解释各种流程。

识别参与者

参与者是与您的系统交互的外部实体。 它可以是一个人、另一个系统或一个组织。 在银行系统中,最明显的参与者是客户。 其他参与者可以是银行员工或收银员,具体取决于您尝试在用例中显示的角色。

外部组织的一个例子可以是税务机关或中央银行。 贷款处理器是作为参与者关联的外部系统的一个很好的例子。

识别用例

现在是确定用例的时候了。 做到这一点的一个好方法是确定参与者需要从系统中得到什么。 在银行系统中,客户需要开立账户、存取资金、请求支票簿和类似功能。 因此,所有这些都可以视为用例。

顶级用例应始终提供参与者所需的完整功能。 您可以根据系统的复杂性扩展或包含用例。

一旦您确定了参与者和顶级用例,您就会对系统有一个基本的了解。 现在您可以对其进行微调并为其添加额外的细节层。

寻找常用功能以使用包括

寻找可以在整个系统中重用的通用功能。 如果您发现两个或多个共享通用功能的用例,您可以提取通用功能并将其添加到单独的用例中。 然后你可以通过包含关系来连接它,以表明它总是在执行原始用例时被调用。 (参见图表示例)。

是否可以泛化参与者和用例

在某些情况下,参与者与类似的用例相关联,同时触发了一些只有他们独有的用例。 在这种情况下,您可以泛化 actor 以显示函数的继承。 您也可以为用例做类似的事情。

最好的例子之一是支付系统中的“付款”用例。 可以进一步概括为“信用卡支付”、“现金支付”、“支票支付”等。它们都具有支付的属性和功能,具有独特的特殊场景。

可选功能或附加功能

有一些功能是可选触发的。 在这种情况下,您可以使用扩展关系并为其附加扩展规则。 在下面的银行系统示例中,“计算奖金”是可选的,仅在满足特定条件时触发。

扩展并不总是意味着它是可选的。 有时,通过扩展连接的用例可以补充基本用例。 要记住的是,即使没有调用扩展用例,基本用例也应该能够自行执行功能。

用例图模板

我们已经为一些常见场景创建了用例图模板。 尽管您的问题或场景不会完全像这样,但您可以将它们作为起点。 查看我们的用例图模板。

关于用例图教程的问题

我们已尝试全面涵盖您需要了解的有关创建用例图的所有内容。 如果您对任何部分有疑问或可以想到改进本教程的方法,请在评论中告诉我们。

更多图表教程

  • 序列图教程:带示例的完整指南
  • 业务流程建模教程(BPM 指南解释功能)
  • 终极流程图指南(带有示例的完整流程图教程)