Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_6_UML_СОСТОЯНИЯ.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
150 Кб
Скачать
☆

Параллельные подчиненные состояния

Находясь в состоянии Работа, GUI-интерфейс не просто ожидает действий поль­зователя. Он также отслеживает системное время и, возможно, обновляет экран по истечении заданного интервала времени. Например, на экране могут содержаться ча­сы, изображение которых должно регулярно обновляться.

Эти действия происходят одновременно с последовательностями, о которых шла речь в предыдущем разделе. Хотя каждая последовательность является набором после­довательных подчиненных состояний, две последовательности переходов происходят параллельно друг с другом. Параллельные последовательности переходов изображают­ся пунктирной линией, как показано на рис. 7.

Рис. 7. Параллельные подчиненные состояния насту­пают одновременно. Графически они разделяются пунктирной линией

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

3. История состояний

Что происходит, если при отображении заставки пользователь нажимает клавишу или перемещает указатель мыши, чтобы вернуть экран в состояние работа? Возвра­щается ли экран к исходному состоянию, наступающему сразу же после инициализа­ции GUI-интерфейса? Или же на экране отражается последнее состояние, предшествующее моменту включения заставки? Очевидно, что в первом случае пользователь потеряет время и выполненную работу и вынужден будет возобновить ее сначала.

Диаграмма состояний позволяет учесть такую особенность. В UML применяется специальное обозначение, указывающее на то, что композитное состояние запомина­ет активное промежуточное состояние во время выхода объекта из композитного со­стояния. Это символ «н», заключенный в небольшой круг и соединенный сплошной линией со стрелкой с запоминаемым подчиненным состоянием. На рис. 8 это обо­значение введено для отображения состояния Работа.

Рис. 8. История состояний, обозначенная символом «Н» в небольшом круге, пока­зывает, что композитное состояние запоминает свое активное промежу­точное состояние при выходе объекта из этого композитного состояния

На рассматриваемой диаграмме не принимались во внимание те окна, которые открываются другими — вложение состояний в иные подчинен­ные состояния. Если запоминаются подчиненные состояния всех уров­ней вложенности (как для подчиненных состояний Работа окон состоя­ния Работа), то история состояний называется глубокой. Если запомина­ется только самое верхнее подчиненное состояние, история считается мелкой. Для глубокой истории в кружочке отображается надпись «Н*».

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]