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