第三章:用例图

简答题

1. 用例图中的主要元素有哪些?

主要元素包括参与者(Actor)、用例(Use Case)、系统边界、用例之间的关系(包含、扩展、泛化),以及参与者与用例之间的关联关系。

2. 用例图中的参与者属于系统的成员吗?

不属于。参与者是系统外部与系统进行交互的实体,可以是用户或其他系统,并非系统内部的组成部分。

3. 用例与场景之间是什么关系?

用例是一组相关场景的集合,场景是用例的一次具体执行实例。例如“登录 App”用例包含“账号密码正确,登录成功”“密码错误,登录失败”“账号未注册,登录失败”等场景。

4. 用例之间的 3 种关系

  • 包含关系:“网购下单”用例包含“支付”用例,下单流程必须执行支付。
  • 扩展关系:“外卖点餐”用例扩展“加购餐具”用例,只有用户主动选择时才触发。
  • 泛化关系:“支付”用例泛化为“微信支付”“支付宝支付”,后者是前者的具体形式。

5. 组织用例的全过程

以“图书馆管理系统”为例:

  1. 确定系统边界,明确系统的功能范围。
  2. 识别参与者,如读者、图书管理员和系统管理员。
  3. 识别用例,如读者借阅、归还图书,管理员入库、注销图书。
  4. 梳理用例关系,如“借阅图书”包含“验证读者身份”。
  5. 验证用例,确认所有核心功能都被覆盖。

6. 寻找参与者、用例的过程

以“外卖配送系统”为例:通过“谁或什么与系统交互”识别点单用户、商家、骑手和平台管理员;再通过“参与者需要系统提供什么功能”识别浏览商家、下单支付、接收订单、出餐、接单和配送等用例。

填空题

  1. 用例图描述参与者之间、用例与参与者之间的关系。
  2. 用例图主要用于对系统的功能建模。
  3. 参与者的名字要用角色表示,不能用具体的对象名表示。
  4. 场景是用例的一次完整执行实例。
  5. 用例之间有包含、扩展和泛化关系。
  6. 包含关系的构造型是 <<include>>,扩展关系的构造型是 <<extend>>
  7. 在包含关系中,箭头由基本用例指向被包含用例。
  8. 基本用例独立于扩展用例存在,满足某个条件时才调用扩展用例。
  9. 参与者和用例是双向关联关系,用一条实线表示双向通信。