UML用例图中设置充电模式主用例与子选项的关系选择
用例图充电模式关系判断
你的选择是对的,Set Charging Mode和两种具体充电模式用例之间,确实应该使用**泛化(Generalization)**关系。
关系判定依据
首先明确三种常用用例关系的适用边界:
- 泛化:描述「子用例是父用例的一种特定实现」的关系,子用例完整继承父用例的核心目标、关联参与者、前置约束,仅具体执行逻辑有差异,最终都会完成父用例的核心价值。
- 包含(Include):父用例执行过程中必须调用的子步骤,子用例本身不能独立完成父用例的核心目标。
- 扩展(Extend):父用例执行过程中可选触发的附加功能,子用例不属于父用例的核心目标范畴,属于额外补充能力。
场景匹配验证
你的业务场景中,Set Charging Mode的核心目标是让用户完成充电模式的配置:
- 「设置立即充电」和「设置预约延后充电」都是充电模式配置的具体类型,两者都能独立完成「设置充电模式」的核心目标,只是配置时用户需要输入的参数、配置完成后系统触发的充电逻辑不同,完全符合泛化关系的"是一种"特征。
- 二者既不是设置充电模式流程里必须调用的独立步骤,也不是设置模式时可选触发的附加功能,因此不适用包含或扩展关系。
绘制建议
绘制时将父用例Set Charging Mode放在上方,两个具体模式的子用例放在下方,用空心三角箭头从子用例指向父用例即可。后续如果新增其他充电模式(比如智能低谷充电模式),直接新增对应的子用例关联泛化关系即可,符合架构的可扩展要求。
内容的提问来源于stack exchange,提问作者Emil
相关产品推荐
相关产品推荐

