UML用例图extends关系规则疑问及项目绘图咨询
关于UML扩展用例的两个疑问解答
1. 到底扩展用例能不能独立执行?
首先明确:UML官方规范中,用例的核心定义是“参与者与系统交互产生可衡量价值的序列”,从这个本质出发,任何被称作“用例”的内容,都应该能被参与者主动触发,也就是可以独立执行。
你看到的书籍说法是正确的——如果某个功能只能依附其他用例存在,无法被参与者单独触发,那它就不是用例,只是基础用例里的一个功能片段,应该写在基础用例的描述中,而非单独画成用例。
至于网上和教授示例里的扩展用例都依赖基础用例,是因为很多教学场景为了简化讲解,把用例的扩展点片段当成了扩展用例来演示。比如常见的“支付”扩展“下单”,很多示例只展示“支付”在下单流程里触发,但实际上“支付”本身也可以是独立用例(比如用户单独发起补缴订单款项),这才是符合UML规范的用法。
总结:真正的扩展用例可以独立执行;那些只能依附基础用例的,不是用例,只是基础用例的一部分。
2. 无法被参与者触发的“扩展用例”要不要画?
不用画。这类“扩展用例”根本不符合用例的定义——它不能被参与者触发,无法提供独立价值,本质上只是基础用例里的一个分支场景或步骤。
你应该把这些功能整合到对应的基础用例中,比如在基础用例的描述里添加“扩展点”部分,说明在什么条件下会执行这个功能分支,而非单独把它画成一个用例。
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

