Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИС_2013_02_18.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
3 Mб
Скачать

Сложные переходы

В отличие от простого перехода, связывающего два состояния, сложный переход связывает между собой более двух состояний. Различают две разновидности сложного перехода:

  1. Переход с одним входом и множеством выходов

  2. Переход с множеством входов и одним выходом

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

Рисунок 29. Сложные переходы

Например, состояние “Эммитирование” банкомата включает два параллельных подсостояния “Выдать деньги” и “Выдать карту”. Любой переход в состояние с конкурентными подсостояниями активирует каждое из подсостояний. Переход к конечному состоянию происходит при появлении двух событий : “Деньги взяты” и “Карта взята”, неважно в каком порядке

Переходы к вложенным состояниям

Переход к границе сложного состояния эквивалентен переходу к его начальному состоянию или сложному переходу к начальным состояниям каждой из конкурентных подобластей.

Переход может быть проведен непосредственно к подсостояниям сложного состояния, независимо от глубины вложенности. При этом выполняются все действия входа для всех состояний, в которые мы вошли. Например, при переходе к вложенному Состоянию 3 будут выполняться действия входа для состояний 1 и 2.

Рисунок 30. Переход внутрь состояния

Если срабатывает переход от границы сложного состояния, активность во всех вложенных состояниях прекращается и выполняются все необходимые действия выхода. Разрешается использовать переходы от состояний любой глубины вложенности.

Состояние может иметь индикатор истории, обозначенный окружностью с буквой “H” внутри нее. Он служит для возврата к предыдущему состоянию объекта, которое тот имел непосредственно перед выходом из данного состояния. Если объект ранее не входил в указанное состояние, переход к индикатору истории будет означать установление состояния по умолчанию. Индикатор истории может иметь произвольное число входов от других состояний и не более одного выхода. Выходной переход не должен иметь метку.

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

Рисунок 31. Использование индикатора истории

Посылка сообщений

Объекты взаимодействуют друг с другом путем обмена сообщениями. Для описания этого взаимодействия между объектами служит диаграмма последовательности SD. Однако, для большей выразительности и в STD диаграммы введены средства изображения взаимосвязи объектов. Сообщения показываются при помощи пунктирных линий, а для обозначения классов используется прямоугольник.

Например, при построении STD диаграммы класса “документ” мы можем показать его взаимосвязь с классами “главный бухгалтер” и “директор”. Оформленный документ необходимо подписать у главного бухгалтера и утвердить у директора.

Рисунок 32. Посылка сообщений другим объектам