如何在时序图中表示“if (条件1 && 条件2)”

问题描述 投票:0回答:2

我知道

alt
相当于 UML 中的
if else
,但是如何表示更复杂的条件,例如:

if (condition1 && condition2) else condition3 

[condition1 == true]&&[condition2==true]
吗?

if-statement uml sequence-diagram
2个回答
0
投票

条件已经为真或为假。将它与另一个布尔值进行比较是很奇怪的。尝试学习布尔代数。这是 IT 中非常基本的东西。


0
投票

组合片段(例如

alt
)的操作数中的守卫是交互约束。

UML 对于如何指定此类约束提供了充分的灵活性:

用户定义的约束的规范通常表示为某种语言中的文本字符串,其语法和解释由该语言定义。在某些情况下,形式语言(例如 OCL)或编程语言(例如 Java)可能是合适的,在其他情况下可能使用自然语言。

换句话说,

condition1 && condition2
可以完全没问题。如果您更喜欢 OCL 语法,那就是
condition1 and  condition2

© www.soinside.com 2019 - 2024. All rights reserved.