【问题标题】:Correct use of option in sequence diagram序列图中选项的正确使用
【发布时间】:2021-05-23 21:21:59
【问题描述】:
我正在尝试使用选项条件来显示通过按 [编辑、查看和删除] UI 按钮,管理员可以执行管理员权限。我不确定这是否是实现它的正确方法。目前,我的思考过程是,如果按下按钮,则按下的按钮将成为 opt 片段条件,然后我会展示如果在可选片段中按下它会发生什么。我在 opt 片段中嵌套了一个 alt 片段来处理可能发生的错误。从我阅读和看到的内容来看,我觉得这是一个合适的实现,但是任何改进和使这个图表更清晰的反馈都是非常受欢迎的。提前致谢
【问题讨论】:
标签:
uml
diagram
sequence-diagram
【解决方案1】:
问题是,[click edit user] 是什么意思?正如建模的那样,它是一个标志,它决定了如果设置了它会发生什么选项。现在这个片段中的第一条消息来自管理员。这意味着它是他或她脑海中的一面旗帜。你真的想在这里为大脑建模吗?
我宁愿认为,您想要建模的是,有两种可能的序列,管理员将发送edit user 消息或delete user 消息。根据他或她所做的事情,接下来会发生不同的事情。这可以通过没有保护的替代片段来表达。守卫是可选的,只有在与人类演员打交道时才会产生误导,因为他们的行为通常是不可预测的。
也许您省略了 select option 消息(这是完全合法的),其结果可能是标志。但是后来我不明白,为什么管理员已经选择了一个选项后会发送edit user。
在您的嵌套替代片段中(在您的图表中显示重叠,但我认为这只是一个渲染问题),您有守卫[user found]。这可能是verify username 操作的本地标志。虽然很有可能存在这样的标志,但这里没有必要显示它。这两个片段可以通过它们各自的第一条消息username valid 和username invalid 来区分。所以我建议省略守卫。
附带说明:替代片段的运算符缩写为alt