Действие как состояние в диаграмме состояний UML

В этом видео часть диаграммы состояния UML можно увидеть:

Тем не менее, государство "предоставить средства" является действием. Как это имеет смысл?

Возможно ли для государства быть действием (глаголом)?

Разве действие "предоставить средства" не должно быть скорее переходом?

Разве что-то подобное ниже не имеет смысла?

2 ответа

Решение

Provide Funds в этом случае это также состояние с тем же именем, что и действие. Так что они не идентичны. У них просто одно и то же имя. Иногда трудно избежать этой ситуации. С точки зрения моделирования я бы сказал, что это состояние просто лишнее. Вы могли бы сделать самостоятельные переходы из Funds Available в то время как средства > 0 и просто выйти, когда фонд получит ноль.

PS О, я вижу, что ваша последняя фотография именно то, что я сказал:-)

  1. Так что в основном [funds avail >$0] переход автоматически запускается после завершения действия "Предоставить средства"?

    И да и нет. [funds avail >$0] это охранник. Триггер request fund, Этот переход будет выполнен только в том случае, если охранник не заблокирует (поэтому, если деньги есть).

    Так это какое-то "переходное" состояние? Так сказать.

  2. Кроме того, правильно ли я понимаю, что государство при предоставлении средств также называется Provide Funds (не только действие)? Так что лучшим названием для государства будет: состояние машины при предоставлении средств?

    Именно так.

Это просто плохое наименование. Это должно называться "Предоставление средств". Это бы прояснило, что происходит в этом государстве, и тот факт, что это государство.

Другие вопросы по тегам