Диаграмма вариантов использования Содержание Основы проектирования баз данных.
# UML. Спецификация вариантов использования (прецедентов) https://glebradchenko.susu.ru/courses/bachelor/engineering/2013/SUSU_SE_08_UML_UseCase.pdf https://studfile.net/preview/1712530/page:4/ Дальнейшее развитие модели поведения системы предполагает описание прецедентов. Типичное описание содержит следующие разделы: * Имя прецедента * Идентификатор прецедента (встречается не всегда) * Краткое описание; * Участвующие субъекты (акторы, иногда разделяются на основных и второстепенных); * Предусловия, необходимые для инициирования прецедента; * Основной поток событий; * Альтернативный поток событий; * Постусловия, определяющие состояние системы, по достижении которого прецедент завершается. **Основной поток** описывает «идеальный» ход развития событий в прецеденте. **Альтернативные потоки** могут перехватывать ошибки, ответвления и прерывания основного потока. Основной поток *всегда начинается с действий главного актера*, направленных на инициацию прецедента. ## Запись основного потока * Удачным способом начала потока можно считать следующую форму записи: `Прецедент начинается, когда <актер> <действие>.` Например, `Прецедент начинается, когда покупатель выбирает товар` * Каждый этап потока прецедента должен быть выражен в следующей форме: `<номер> <ктолибо> <совершает некоторое действие>.` * Альтернативные потоки могут быть заменены с помощью ключевого слова **Если** ``` 1. Прецедент начинается, когда Покупатель выбирает товар 2. Если Покупатель выбирает товар у которого есть дополнительные товары 2.1 Менеджер предлагает дополнительные товары 3. Если Покупатель выбирает товар которого нет в наличии 3.1 Менеджер предлагает оформить заказ ``` * Альтернативные потоки могут не возвращаться в основной поток после выполнения, т.к. обрабатывают ошибки, исключительные ситуации и т.п. * Для алтернативных потоков оформляется отдельная спецификация. Структура аналогична основной, только идентификатор следующего уровня (например, если у основного потока ID 2., то у альтернативного 2.1) В итоге должна получиться таблица (правая колонка, слева описание):   |   --|------ *Имя прецедента* | Прецедент: Выбор товара *Идентификатор прецедента* | ID 1 *Краткое описание* | Краткое описание
Покупатель выбирает товар в магазине автосервиса *Акторы, вовлеченные в прецедент* | Главные акторы:
Покупатель
Второстепенные акторы:
Менеджер *Состояние системы на начало прецедента* | Предусловия:
нет *Фактические этапы прецедента* | Основной поток:
1. Прецедент начинается, когда Покупатель выбирает товар
2. Если Покупатель выбирает товар у которого есть дополнительные товары
    2.1 Менеджер предлагает дополнительные товары
3. Если Покупатель выбирает товар которого нет в наличии
    3.1 Менеджер предлагает оформить заказ *Альтернативные потоки* | Альтернативные потоки:
2.1 Менеджер предлагает дополнительные товары
3.1 Менеджер предлагает оформить заказ *Состояние системы после окончания прецедента* | Постусловия
1. Покупатель выбрал товар
2. Покупатель отказался от покупки   |   -|------ Прецедент | Оформление заказа Идентификатор | ID 2 Краткое описание | Покупатель оформляет заказ на товар, которого нет в наличии Главные акторы | Покупатель Второстепенные акторы | Менеджер Предусловия | Покупатель выбрал товар Основной поток | 1. Прецедент начинается, когда Покупатель оформляет заказ
2. Менеджер принимает заказ Альтернативные потоки | нет Постусловия | 1. Покупатель оставил заказ
Диаграмма вариантов использования Содержание Основы проектирования баз данных.