5_1_1_10_uml_uc_spec.md 6.1 KB

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. Покупатель оставил заказ