用例图是用于需求获取的统一建模语言 (UML) 图。用例图提供了用户(由参与者表示)希望通过使用系统实现的目标(由用例建模)的图形概览。用例图中的用例可以根据它们的相关性、抽象级别和对用户的影响进行组织和排列。它们可以被链接以显示它们的依赖关系,包括、扩展、生成关系。

用例描述了要构建的系统旨在满足的特定业务目标。从图形上看,它是一个椭圆形,名称看起来很简单,但却是用于管理业务目标或项目目标的最常用工具。

用例图符号总结

符号 说明 视觉表现
演员
  • 有人与用例(系统功能)交互。
  • 以名词命名。
  • 演员在商业中扮演角色
  • 类似于用户的概念,但是一个用户可以扮演不同的角色
  • 例如:
    • 一个教授。可以是讲师,也可以是研究员
    • 在两个系统中扮演 2 个角色
  • 参与者触发用例。
  • Actor 对系统负责(输入),Actor 对系统有期望(输出)。
用例图符号:Actor
用例
  • 系统功能(过程 – 自动或手动)
  • 以动词+名词(或名词短语)命名。
  • 即做某事
  • 每个 Actor 必须链接到一个用例,而某些用例可能没有链接到 Actor。
用例图表示法:用例
关联链接
  • 参与者在用例中的参与是通过将参与者连接到用例中来显示的。
  • 参与者可以通过关联连接到用例,这表明参与者和用例使用消息相互通信。
用例图符号:关联
系统边界
  • 系统边界可能是需求文档中定义的整个系统。
  • 对于大型复杂系统,每个模块都可能是系统边界。
  • 例如,对于一个组织的 ERP 系统,每个模块,如人事、工资、会计等。
  • 可以为特定于这些业务功能中的每一个的用例形成系统边界。
  • 整个系统可以跨越所有这些描述整个系统边界的模块
用例图符号:系统
扩展
  • 表示 “无效密码” 用例可能包括(根据扩展中的规定)由基本用例 “登录帐户”指定的行为。
  • 用带有虚线的定向箭头描绘。箭头的尖端指向基本用例,子用例连接在箭头的底部。
  • 构造型“<<extends>>”标识为扩展关系
用例图符号:扩展
包括
  • 当一个用例被描述为使用另一个用例的功能时,用例之间的关系被命名为包含或使用关系。
  • 一个用例包括另一个用例中描述的功能,作为其业务流程的一部分。
  • 从基本用例到子用例的使用关系表明基本用例的实例将包括在子用例中指定的行为。
  • 包含关系用具有虚线的定向箭头来描绘。箭头的尖端指向连接在箭头底部的子用例和父用例。
  • 构造型“<<include>>”将关系标识为包含关系。
用例图符号:包括
概括
  • 泛化关系是用例之间的父子关系。
  • 子用例是父用例的增强。
  • 泛化显示为带有三角形箭头的定向箭头。
  • 子用例连接在箭头的底部。箭头的尖端连接到父用例。

用例图——车辆销售系统

下图显示了车辆系统的用例图示例。如您所见,即使是像汽车销售系统一样大的系统也包含不超过 10 个用例!这就是用例建模的美妙之处。

用例模型还展示了extend 和include 的使用。此外,参与者和用例之间存在关联。

用例图示例 - 车辆销售系统