Диаграммы диаграммы состояний UML + панель навигации + несколько действий выхода

Надеюсь все хорошо! Я делаю диаграмму состояний UML для веб-сайта. Если у вас есть панель навигации, будете ли вы иметь несколько выходных действий, представляющих каждую ссылку?

2 ответа

Решение

Кажется, что можно определить только одно поведение выхода (стр. 307):

14.2.3.4.3 Поведение состояний входа, выхода и doActivity Состояние может иметь связанное поведение входа. Это поведение, если оно определено, выполняется всякий раз, когда в состояние входит внешний переход. Кроме того, состояние может также иметь ассоциированное поведение при выходе, которое, если оно определено, выполняется всякий раз, когда из этого состояния выходит.

Также в последующих отрывках они говорят только о exit с единственного числа. Например

14.2.3.4.6 Выход из состояния При выходе из состояния, независимо от того, простое оно или составное, последним этапом, связанным с выходом, после завершения всех других действий, связанных с выходом, является выполнение поведения выхода этого Государственный. Если у государства есть поведение doActivity, которое все еще выполняется при выходе из этого состояния, это поведение прерывается до того, как поведение выхода начинает выполнение.

Так что вам нужно будет проверить переход состояния внутри exit поведение, чтобы предпринять соответствующие действия.

NB Я использую Enterprise Architect, который позволяет определить несколько exit поведения. Нет никакого способа определить какой-либо охранник, который подтверждает мое предположение только об одном exit быть позволенным. Таким образом, реализация здесь, скорее всего, нарушена.

Как указано в других ответах, существует одно действие выхода.

Тем не менее, вы можете иметь несколько переходов в существующем состоянии (по одному для каждого элемента панели навигации), каждый со своим собственным триггером (-ами), защитой (-ями) и поведением.

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

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