2014-12-18 4 views
1

Я не вижу разницы между диаграммой состояния и событием на диаграмме состояния, я вижу, что событие - это действие, которое было запущено или что-то в этом роде, и охранник это просто условие, но я думаю, что это более глубокое, чем то, что я не знаю, связаны ли эти два члена или разделены, какой из них необходим и какой из них является факультативным, или разница существует только между их синтаксисами; событие записывается без скобок, было бы здорово, если бы вы могли помочь мне в этом.Разница между событием и защитой uml моделирования

Заранее спасибо. [Извините, если я неправильно что-то]

ответ

3

Событие представляет собой действие, которое было запущено или что-то

Закрыть. Событие - это просто то, что произошло. Как поезд, прибывающий на станцию, включается выключатель света или (в соответствии с сезоном) Санта вылетает из дымохода.

охранник просто условие

Ровно. Таким образом, для перехода состояния к огню должно произойти событие И охранник должен оценивать значение true. Таким образом, переход в состояние «оставляя подарки» требует, чтобы и Санта прибыл (событие), и дымоход был разблокирован (охранник).

Какой необходим и который является необязательным

По существу каждый переход требует событие. Это не требует охраны. Таким образом, свет не может перейти в «освещаемой» состоянии, когда переключатель включен. Нет необходимости охраны.

событие записывается без скобок

Да. Это событие не имеет скобки, охранник (если есть один) помещаются в квадратных скобках. Так

Santa Arrives [chimney unblocked] 

Hth.

+0

Если бы мой профессор мог это прочитать! вы сделали мой день, спасибо вам. –

+0

Так много руководств объясняют, что такое и недействительно UML, и здесь мы ищем цель и смысл выражений вместо их действительности. Спасибо за этот замечательный ответ. – Tim

2

в диаграмме состояний, то событие, что вызывает переход между состояния. В качестве простого примера дверь имеет два состояния: «Открыть» и «Закрыто». ReadIDCard - это событие, которое переводит текущее состояние с «Закрыто» на «Открыть».

Условие защиты определяет, должен ли принимающий объект отвечать на событие. Например, защита ['AuthorizedID'] проверяет, разрешен ли идентификатор карты до изменения состояния на Open. Если нет защитного условия, ReadIDCard всегда откроет дверь.

Чтобы проиллюстрировать немного дальше, когда состояние двери изменяется на «Открыть», событие таймера (после ожидания, скажем, пяти секунд) снова изменяет состояние двери на закрытое. В этом случае нет защитного условия; любой, кто стоит в дверях, раздавлен. :)

Итак, условия разные. Всегда есть какое-то событие, которое вызывает переход из одного состояния в другое. Условия охраны являются необязательными. С точки зрения диаграммы, добавляете ли вы события и условия защиты, необязательно.

+0

Я написал эту прошлую ночь и забыл опубликовать ее. Ответ sfinnie выполняет эту работу. :) – BobRodes

+0

Спасибо RobRodes –

 Смежные вопросы

  • Нет связанных вопросов^_^