【问题标题】:action as state in UML state diagram在 UML 状态图中作为状态的动作
【发布时间】:2017-12-19 23:23:00
【问题描述】:

this 视频中可以看到 UML 状态图的一部分:

但是,“提供资金”状态是一个动作。这有什么意义?

状态是否可能是动作(动词)?

“提供资金”行动不应该是一个过渡吗?

下面这样的内容会不会更有意义?

【问题讨论】:

    标签: uml stateful statechart state-diagram


    【解决方案1】:

    Provide Funds 在这种情况下也是一个与动作同名的状态。所以它们并不相同。他们只是有相同的名字。有时很难避免这种情况。从建模的角度来看,我会说这种状态是多余的。您可以在资金为 > 0 时从 Funds Available 进行自我转换,并在资金为零时退出。

    附:哦,我看到你的最后一张照片正是我所说的:-)

    1. 所以基本上 [funds avail >$0] 转换会在提供资金操作完成后自动触发?

      是和不是。 [funds avail >$0] 是一名警卫。触发器是request fund。只有当守卫不阻止时才会执行此转换(所以如果有钱)。

      所以这是某种“瞬态”状态?可以这么说。

    2. 另外,提供资金的状态也称为Provide Funds(不仅仅是动作),我是否理解正确?因此,更好的状态名称应该是:机器的状态同时提供资金?

      没错。

    【讨论】:

    • 谢谢,1) 所以基本上[funds avail >$0] 转换会在Provide Funds 动作 完成后自动触发?所以这是某种“瞬态”状态? 2)另外,提供资金的状态是否也称为Provide Funds(不仅仅是动作)?因此,更好的国家名称应该是:the state of the machine *while* providing funds?
    【解决方案2】:

    这只是糟糕的命名。它应该被称为“提供资金”。这将清楚地表明该州会发生什么以及它是一个州的事实。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多