0

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

在此处输入图像描述

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

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

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

下面这样的事情不会更有意义吗?

在此处输入图像描述

4

2 回答 2

2

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

于 2017-07-15T00:19:34.730 回答
1

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

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

  1. 那么基本上,[funds avail >$0]在提供资金操作完成后,过渡会自动触发?

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

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

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

    确切地。

于 2017-07-14T19:49:03.450 回答