Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UML лекция.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆
        1. Входное действие

Входным действием (entry action) называется поведение, которое выполняется, когда объект переходит в данное состояние. В примере счета в банке, когда он переходит в состояние "Превышен счет", выполняется действие "Временно заморозить счет", независимо от того, откуда объект перешел в это состояние. Таким образом, данное действие осуществляется не после того, как объект перешел в это состояние, а, скорее, как часть этого перехода. В отличие от деятельности, входное действие рассматривается как непрерываемое.

Входное действие также показывают внутри состояния, ему предшествует слово entry (вход) и двоеточие.

        1. Выходное действие

Выходное действие (exit action) подобно входному. однако, осуществляется как составная часть процесса выхода из данного состояния. В примере при выходе объекта Account из состояния "Превышен счет", независимо от того, куда он переходит, выполняется действие "Разморозить счет". Оно является частью процесса такого перехода. Как и входное, выходное действие является непрерываемым.

Выходное действие изображают внутри состояния, ему предшествует слово exit (выход) и двоеточие.

Поведение объекта во время деятельности, при входных и выходных действиях может включать отправку события другому объекту. Например, объект account (счет) может посылать событие объекту card reader (устройство чтения карты). В этом случае описанию деятельности, входного действия или выходного действия предшествует знак Л. Соответствующая строка на диаграмме выглядит как

Do: Цель.Событие(Аргументы)

Здесь Цель - это объект, получающий событие, Событие - это посылаемое сообщение, а Аргументы являются параметрами посылаемого сообщения.

Деятельность может также выполняться в результате получения объектом некоторого события. Например, объект Account может быть в состоянии Открыто. При получении некоторого события выполняется определенная деятельность.

Переходом (Transition) называется перемещение из одного состояния в другое. Совокупность переходов диаграммы показывает, как объект может перемещаться между своими состояниями. На диаграмме все переходы изображают в виде стрелки, начинающейся на первоначальном состоянии и заканчивающейся последующим.

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

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

      1. События

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

На диаграмме для отображения события можно использовать как имя операции, так и обычную фразу. В примере события описаны обычными фразами, при желании можно использовать операции, например, событие "Клиент требует закрыть" можно было назвать RequestClosure().

У событий могут быть аргументы. Так, событие "Сделать вклад", вызывающее переход счета из состояния "Превышен счет" в состояние "Открыто", может иметь аргумент Amount (Количество), описывающий сумму депозита.

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

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