UML用例关系选型:Extended扩展与Generalization泛化如何选择
用例关系选型结论
选择场景2的扩展(Extend)关系,仅需对Update movie补充抽象标记即可完全匹配业务规则,判断依据如下:
- 直接排除场景1的泛化(Generalization)方案:泛化的核心语义是子用例为父用例的特定实现,属于「is-a」关系,执行时要求有且仅有一个子用例被选中运行,和业务规则中「至少一个关联用例触发、支持多个关联用例同时触发」的要求直接冲突,完全不适用。
- 扩展关系仅需补充少量约束即可适配需求:原生扩展关系默认允许被扩展的基础用例(即
Update movie)独立执行,只需将Update movie标记为抽象用例(禁止被参与者直接触发、无法独立实例化),同时配置三个关联扩展用例的触发规则为「满足任意一个及以上扩展条件时,才启动Update movie执行流」,即可完全符合业务要求:无任何关联用例触发时,抽象状态的
Update movie无法独立运行;触发1个或多个关联用例时,对应扩展逻辑会挂载到Update movie的执行流中完成执行,完全匹配「至少一个关联用例触发才执行」的规则。
内容的提问来源于stack exchange,提问作者Haru
相关产品推荐
相关产品推荐

