【问题标题】:UML decision node syntax for using objects in guard condition用于在保护条件下使用对象的 UML 决策节点语法
【发布时间】:2016-08-18 08:03:55
【问题描述】:

给定一个对象array,一个任意类Array的实例,为此目的,它有一个属性length

我如何建模 UML 活动图,它在某些时候在控制流语句中使用 array.length,即在决策节点的守卫中。

array = getArray();
if (array.length > 5)
    save();
else
    waitForData();

我知道使用的决策节点的守卫是[array.length > 5][array.length <= 5]。但我不确定如何将其与活动图中的对象流集成。

【问题讨论】:

    标签: uml activity-diagram


    【解决方案1】:

    UML 没有指定应该如何描述防护。它只要求它是一个逻辑表达式,即计算结果为真或假的表达式。 您可以使用自然语言、任何编程语言或 OCL。 您使用的声明绝对有效。 此外,您可以将对象的状态放在对象节点上,例如[长度 > 5]

    【讨论】:

    • 我也刚刚读到 自然语言契约 在 UML 中是完全可以接受的。
    • @mike OCL / 精确语言的目的是它们是机器可消费的并且不会引入歧义。如果您的目标受众是人类,那么自然语言就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    • 2014-11-23
    • 2012-12-25
    • 2020-04-07
    • 2020-10-16
    相关资源
    最近更新 更多