第三章:用例图
简答题
1. 用例图中的主要元素有哪些?
主要元素包括参与者(Actor)、用例(Use Case)、系统边界、用例之间的关系(包含、扩展、泛化),以及参与者与用例之间的关联关系。
2. 用例图中的参与者属于系统的成员吗?
不属于。参与者是系统外部与系统进行交互的实体,可以是用户或其他系统,并非系统内部的组成部分。
3. 用例与场景之间是什么关系?
用例是一组相关场景的集合,场景是用例的一次具体执行实例。例如“登录 App”用例包含“账号密码正确,登录成功”“密码错误,登录失败”“账号未注册,登录失败”等场景。
4. 用例之间的 3 种关系
- 包含关系:“网购下单”用例包含“支付”用例,下单流程必须执行支付。
- 扩展关系:“外卖点餐”用例扩展“加购餐具”用例,只有用户主动选择时才触发。
- 泛化关系:“支付”用例泛化为“微信支付”“支付宝支付”,后者是前者的具体形式。
5. 组织用例的全过程
以“图书馆管理系统”为例:
- 确定系统边界,明确系统的功能范围。
- 识别参与者,如读者、图书管理员和系统管理员。
- 识别用例,如读者借阅、归还图书,管理员入库、注销图书。
- 梳理用例关系,如“借阅图书”包含“验证读者身份”。
- 验证用例,确认所有核心功能都被覆盖。
6. 寻找参与者、用例的过程
以“外卖配送系统”为例:通过“谁或什么与系统交互”识别点单用户、商家、骑手和平台管理员;再通过“参与者需要系统提供什么功能”识别浏览商家、下单支付、接收订单、出餐、接单和配送等用例。
填空题
- 用例图描述参与者之间、用例与参与者之间的关系。
- 用例图主要用于对系统的功能建模。
- 参与者的名字要用角色表示,不能用具体的对象名表示。
- 场景是用例的一次完整执行实例。
- 用例之间有包含、扩展和泛化关系。
- 包含关系的构造型是
<<include>>,扩展关系的构造型是<<extend>>。 - 在包含关系中,箭头由基本用例指向被包含用例。
- 基本用例独立于扩展用例存在,满足某个条件时才调用扩展用例。
- 参与者和用例是双向关联关系,用一条实线表示双向通信。