给定一个对象array
,一个任意类Array
的实例,为此目的,它具有一个属性length
。
如何为UML活动图建模,在某些时候,在控制流语句中使用array.length
,即在决策节点的保护中。
array = getArray();
if (array.length > 5)
save();
else
waitForData();
我知道所使用的决策节点的警卫将是[array.length > 5]
和[array.length <= 5]
。但我不确定如何将其与活动图中的对象流集成。
答案 0 :(得分:2)
UML没有说明应该如何描述警卫。它只需要它是一个逻辑表达式,即一个评估为true的表达式为false。 您可以使用自然语言,任何编程语言或OCL。 您使用的声明绝对有效。 此外,您可以将对象的状态放在对象节点上,例如[长度> 5]