用例关系咨询:‘add to favourites’应extends还是include‘view photo’?
用例关联方案分析
先明确include和extends的核心差异
include:附属用例是主用例的必要环节,主用例执行时必然触发它。比如「提交订单」用例会include「校验支付信息」,只要提交订单就必须做校验。extends:扩展用例是主用例的可选分支,只有满足特定条件(比如用户主动选择)时才会触发,主用例可独立完成核心目标。
对应场景的结论
你的场景里,add to favourites必须用extends关联view photo,原因如下:
User A的核心目标是查看照片,就算不执行添加收藏,view photo的核心目标也已完成。- 添加收藏是用户查看后的可选操作,绝非查看照片的必要步骤。
- 仅
User A拥有该操作权限,恰好匹配extends可为特定参与者添加专属扩展分支的特性。
最优实现方案
- 保留原有
view photo用例,关联User A、User B、Admin三个参与者,确保三类角色都能完成查看照片的核心操作。 - 新增
add to favourites用例,设置其extendsview photo,且仅将User A作为该用例的参与者。 - 在
add to favourites的用例描述中明确触发逻辑:当User A成功查看照片后,主动选择「添加到收藏」操作时,执行该用例流程(如权限验证、写入收藏列表、反馈操作结果等)。
内容的提问来源于stack exchange,提问作者sco
相关产品推荐
相关产品推荐

