Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_7_UML_ПОСЛЕДОВАТ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
162.82 Кб
Скачать

Общая диаграмма последовательности

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

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

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

1. Реестр проверяет, соответствует ли введенная покупателем сумма цене лимонада.

2. Если сумма больше цены, реестр вычисляет причитающуюся сдачу и проверяет резерв наличности.

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

4. Если нет сдачи, реестр возвращает введенную сумму и. выводит сообщение о необходимости внести точную сумму.

5. Если уплаченная сумма меньше цены, реестр не выполняет никаких действий, и автомат ожидает ввода дополнительной суммы.

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

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

Это хороший пример упорядочивания процесса анализа с помощью диа­граммы последовательности.

Чтобы представить все возможные варианты событий, на диаграмме последова­тельности в квадратных скобках указывают условие передачи сообщения. На рис. 8 над линиями соответствующих сообщений — условия [ввод > цена], [есть сда­ча], [нет сдачи] и т.д.

Каждое условие вызывает передачу управления в сообщении, то есть обработка со­общения может производиться двумя путями. Сообщения могут передаваться одному и тому же объекту. Чтобы учесть эту возможность, линия жизни объекта-получателя разветвляется. В некоторой точке последовательности ветви обработки сообщения, как и ветви линии жизни объекта, могут сливаться.

На рис. 8 представлена диаграмма последовательностей с учетом дополнитель­ного сценария.

Рис. 8. Диаграмма последовательностей после добавления дополнительного сценария прецедента Покупка лимонада

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

1. Если покупатель выбрал отсутствующий сорт, автомат отображает сообщение "Нет лимонада".

2. Автомат выводит сообщение с предложением покупателю сделать другой выбор.

3. Покупатель имеет возможность нажать кнопку возврата денег.

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

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

На рис. 9 показана общая диаграмма последовательностей автомата по продаже лимонада со всеми дополнительными сценариями.

Рис. 9. Общая диаграмма последовательностей для автомата по продаже лимонада со всеми дополнительными сценариями

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

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