【发布时间】:2017-12-19 23:23:00
【问题描述】:
在 this 视频中可以看到 UML 状态图的一部分:
但是,“提供资金”状态是一个动作。这有什么意义?
状态是否可能是动作(动词)?
“提供资金”行动不应该是一个过渡吗?
下面这样的内容会不会更有意义?
【问题讨论】:
标签: uml stateful statechart state-diagram
在 this 视频中可以看到 UML 状态图的一部分:
但是,“提供资金”状态是一个动作。这有什么意义?
状态是否可能是动作(动词)?
“提供资金”行动不应该是一个过渡吗?
下面这样的内容会不会更有意义?
【问题讨论】:
标签: uml stateful statechart state-diagram
Provide Funds 在这种情况下也是一个与动作同名的状态。所以它们并不相同。他们只是有相同的名字。有时很难避免这种情况。从建模的角度来看,我会说这种状态是多余的。您可以在资金为 > 0 时从 Funds Available 进行自我转换,并在资金为零时退出。
附:哦,我看到你的最后一张照片正是我所说的:-)
所以基本上 [funds avail >$0] 转换会在提供资金操作完成后自动触发?
是和不是。 [funds avail >$0] 是一名警卫。触发器是request fund。只有当守卫不阻止时才会执行此转换(所以如果有钱)。
所以这是某种“瞬态”状态?可以这么说。
另外,提供资金的状态也称为Provide Funds(不仅仅是动作),我是否理解正确?因此,更好的状态名称应该是:机器的状态同时提供资金?
没错。
【讨论】:
[funds avail >$0] 转换会在Provide Funds 动作 完成后自动触发?所以这是某种“瞬态”状态? 2)另外,提供资金的状态是否也称为Provide Funds(不仅仅是动作)?因此,更好的国家名称应该是:the state of the machine *while* providing funds?
这只是糟糕的命名。它应该被称为“提供资金”。这将清楚地表明该州会发生什么以及它是一个州的事实。
【讨论】: