You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

以扩展用例为包含用例基础——跌倒检测用例图设计合理性问询

跌倒检测UML用例设计的合理性判断

先搞懂包含和扩展用例的本质区别

  • 包含关系:基础用例执行时必须触发被包含的用例,属于基础用例的“标配必要步骤”,缺了它基础用例的核心逻辑就不完整。
  • 扩展关系:扩展用例是基础用例的“可选附加操作”,只有满足特定条件才会触发,基础用例就算没有它也能独立完成核心功能。

结合跌倒检测场景分析

你的核心用例是detection of fall(跌倒检测),咱们逐个拆解三个子用例的逻辑:

  1. Alarming(告警):如果跌倒检测的核心目标就是“发现跌倒后触发告警”,那告警就是检测完成后的必要动作,用包含关系没问题;但如果用户可以关闭告警功能,那告警就是可选操作,更适合用扩展关系。
  2. send SMS(发送短信):一般来说,发短信只是告警的其中一种方式,不是必须的——比如有的场景只触发声光告警,不发短信。这种情况下,发短信不该是跌倒检测的“标配步骤”,更适合作为Alarming的扩展用例。
  3. stop SMS(停止短信):这个动作明显是有特定条件才会触发的,比如跌倒者主动解除告警、管理员手动干预,不可能是跌倒检测完成后必须执行的步骤,绝对不该用包含关系,应该作为send SMS的扩展用例。

结论:当前设计存在不合理性

你图中把三个用例都设为detection of fall的包含关系,意味着只要一检测到跌倒,就必须同时执行告警、发短信、停短信——这完全不符合实际业务逻辑,停短信总不能和发短信同时触发吧?

给你个调整建议:

  • 如果告警是必须的:把Alarming设为detection of fall的包含用例;send SMS设为Alarming的扩展用例;stop SMS设为send SMS的扩展用例。
  • 如果告警是可选的:把Alarming设为detection of fall的扩展用例,再把短信相关用例挂在Alarming下面做扩展。

内容的提问来源于stack exchange,提问作者simsim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:48:28