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

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

我知道

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

if (condition1 && condition2) else condition3 

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

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

组合片段(例如

alt
)的操作数中的守卫是在一对方括号之间表达的交互约束。因此,您的情况应该处于一对括号之间。

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

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

换句话说,有了防护支架

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

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