include 偏必做,extend 偏条件触发
include 表示基础用例执行时一定会包含的公共行为。比如“借书”每次都要“验证读者身份”,这个验证动作就更像 include。它不是可选插件,而是基础流程的一部分。
extend 表示在特定条件下对基础用例进行扩展。比如借书时如果发现欠费,才触发“缴纳欠费”。不是每次借书都发生,所以更像 extend。
| 关系 | 判断口径 | 典型场景 |
|---|---|---|
| include | 每次都要做、公共复用 | 登录前验证身份、提交前校验必填项 |
| extend | 满足条件才发生 | 欠费时缴费、异常时补充处理 |
| 参与者 | 系统外部的角色 | 用户、管理员、第三方系统 |
| 用例 | 系统提供的功能目标 | 借书、下单、查询成绩 |
参与者不是一定等于人
用例图里的参与者是系统外部与系统交互的角色,可以是人,也可以是外部系统、设备或组织。比如支付平台、短信网关、认证系统,都可能作为参与者出现。
很多题会把“管理员”“用户”“第三方支付系统”放在一起考。判断时不要被名字限制,只要它在系统边界外,并与系统发生交互,就可以是参与者。
别把用例图当流程图
用例图回答的是“谁使用系统完成什么目标”,不是一步一步怎么执行。如果题干强调填写、审批、分支、并行,那更像活动图;如果强调对象之间消息顺序,那更像时序图。
所以用例图适合需求分析早期梳理系统边界和功能,不适合详细描述内部算法、数据库表结构或服务器部署。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- UML 用例图中 include 和 extend 怎么区分?UML / 用例图
- 用例建模主要从谁的目标出发?用例建模
- 用例模型用于描述什么?用例模型 / UML
- UML 时序图主要用来描述什么?UML / 时序图