Ветвление потока управления

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

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

Рис. 2.14 Реализация ветвлений потока управления

С помощью ветвления можно изобразить и более сложную логику взаимодействия объектов между собой (фокус управления объекта 1 на рис. справа).

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

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

Нормальный сценарий снятия 20$ со счета (при отсутствии таких проблем, как неправильный пин-код или недостаток денег на счету) показан на рис. 2.15.

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

Стрелки соответствуют сообщениям, передаваемым между действующим лицом и объектом или между объектами для выполнения требуемых функций.

Показаны именно объекты, а не классы.

Прецедент начинается, когда клиент вставляет карточку в устройство чтения (объект), он считывает номер карточки и т.д. по номерам.

Рис. 2.15 Диаграмма последовательности для прецедента «Снять деньги

Таким образом, диаграмма последовательности иллюстрирует последовательность действий, реализующий вариант использования «Снять деньги со счета» на конкретном примере.

Изучая эту диаграмму, пользователи знакомятся со спецификой своей работы. Аналитики видят последовательность (поток) действий, разработчики – объекты, которые надо создать и их операции, специалисты по контролю качества смогут разработать тесты для проверки.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: