Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_ООП_1_4_2 Основи об'єктно-орієнтованого про...doc
Скачиваний:
0
Добавлен:
12.11.2019
Размер:
179.71 Кб
Скачать

Когда следует использовать диаграммы взаимодействия

Диаграммами взаимодействия следует пользоваться в том случае, ког­да вы хотите описать поведение нескольких объектов в рамках одного варианта использования. Диаграммы взаимодействия удобны для изо­бражения кооперации объектов и вовсе не так хороши для точного представления их поведения.

Если вы хотите описать поведение единственного объекта во многих вариантах использования, то следует применять диаграмму состоя­ний.

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

2. Діаграми стану.

Диаграммы состояний являются методом описа­ния поведения систем.

Они изображают все возможные состояния, в которых может находиться конкретный объект, а также изменения состояния объекта, которые происходят в результате влияния некото­рых событий на этот объект.

Действия ассоциируют­ся с переходами и рассматриваются как мгновенные и непрерывае­мые.

Деятельности ассоциируются с состояниями и могут продол­жаться достаточно долго. Деятельность может быть прервана некото­рым событием.

Синтаксис метки перехода состоит из трех частей, каждая из которых является необязательной: Событие [Сторожевое условие] / Действие.

Если метка перехода не содержит никакого события, это означает, что переход произойдет, как только завершится какая-либо деятельность, ассоциированная с данным состоянием; в данном случае - как только будет выполнена Проверка. Из состояния Проверка выходят три пере­хода. Метка каждого из них включает только Сторожевое условие.

Сторожевое условие - это логическое условие, которое может прини­мать одно из двух значений: «истина» или «ложь». Переход со сторожевым условием выполняется только в том случае, если данное сторо­жевое условие принимает значение «истина».

Если проверены не все позиции, входящие в заказ, мы получаем следующую позицию и возвращаемся в состояние Проверка.

Если проверены все позиции и все они имеются на складе, то мы пе­реходим в состояние Отправка.

Если проверены все позиции, но не все из них имеются на складе, то мы переходим в состояние Ожидание.

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

В состоянии Отправка имеется деятельность, которая инициирует до­ставку. Из этого состояния имеется единственный безусловный пере­ход, который происходит в результате наступления события «Отправ­лен». Это означает, что рассматриваемый переход обязательно прои­зойдет, если наступит данное событие. При этом следует заметить, что этот переход не произойдет, даже если завершится деятельность; на­оборот, когда деятельность «инициировать доставку» завершится, данный заказ останется в состоянии Отправка, пока не наступит собы­тие «Отправлен».

Помимо событий с именами существуют еще два других типа событий:

• Событие может быть инициировано после завершения определенно­го периода времени. Такое событие можно пометить ключевым сло­вом после. Например, можно записать после (20 минут).

• Событие может быть инициировано в результате выполнения того или иного логического условия. Такое событие можно пометить ключевым словом если. Например, можно записать если (темпера­тура >100 градусов ).

Существуют также два особых события: вход и выход.

Любое дейст­вие, связанное с событием входа, выполняется в момент перехода объ­екта в данное состояние. Действие, ассоциированное с событием выхо­да, выполняется в том случае, когда объект покидает данное состоя­ние в результате осуществления некоторого перехода.

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