用例图拆解决策:自动售货机建模疑问及通用规则咨询
自动售货机用例图设计疑问解答
1. Choose the number of drinks和Confirm的独立/合并选择
这两个操作属于购买饮品流程中不可缺少的核心通用步骤,不建议独立成顶级用例,也不直接合并进父用例的描述里,更适合作为父用例的包含用例。单独抽离能避免在各细分购买用例中重复描述相同流程,让整体结构更清晰。
2. 包含用例还是独立用例?
必须作为Buy a kind of drink的包含用例。这两个步骤完全依赖“购买饮品”的主场景存在——用户不可能脱离选品环节直接选数量,也不可能跳过选品、选数量单独执行确认操作。包含关系正好能体现“主用例必须依赖该步骤才能完成”的强绑定逻辑。
3. Choose brand和Choose sugar amount是否保留?
建议保留,且作为对应细分用例的包含用例。这两个步骤是特定饮品类型的专属要求:只有购买碳酸饮料时需要选品牌,购买茶类时需要选糖量,不属于所有购买场景的通用流程。将它们绑定到对应细分用例的包含用例中,既能精准体现不同饮品购买流程的差异,又能保持整体用例结构的规整性。
4. 用例拆分的通用规则
判断是否拆分,核心看两个关键维度:
- 独立性:拆分出的用例能否脱离主场景被用户单独触发?比如“查询余额”可以独立于“购买饮品”存在,就适合做独立用例;而“选数量”“确认”完全依附主购买流程,无法单独执行,就不能作为独立用例。
- 复用性:该步骤是否会在多个主用例中重复出现?比如“支付”可能在购买、充值等场景都用到,就适合抽成可复用的包含用例;如果只是某个特定场景的专属步骤,哪怕流程复杂,也可以作为主用例的内部步骤,或绑定到对应细分用例的包含用例里。
同时要避免过度拆分——如果一个步骤只是主流程里的微小环节,既无独立性也无复用价值,强行拆分只会让用例图零散混乱,反而降低可读性。
内容的提问来源于stack exchange,提问作者Toàn Trần
相关产品推荐
相关产品推荐

