2. Разработка вариантов использования - mmishak/program-archecture-spbpu GitHub Wiki

Диаграммы прецедентов для всех ролей

UML диаграмма прецендентов

Текстовое описание всех вариантов использования с альтернативами

1. Создание и публикация велопрогулки

  1. Организатор открывает окно создания велопрогулки
  2. Организатор заполняет параметры велопрогулки
  3. Организатор сохраняет изменения
  4. Организатор выбирает ведущего для данной велопрогулки
  5. Ведущий выбранный в п. 4 видит велопрогулку в заявках
  6. Ведущий подтверждает участие
  7. Организатор публикует велопрогулку
  8. Велопрогулка помечается как "опубликованная"

Альтернатива 1:

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

Альтернатива 2:

  • В п. 4 организатор решает, что данная поездка будет без ведущего. В таком случае переходим к п. 7.

Альтернатива 3:

  • В п. 5 Ведущий отказывается от участия в велопрогулке. В таком случае переходим к п. 4.

2. Редактирование велопрогулки

  1. Организатор открывает список велопрогулок, которые он создал
  2. Организатор выбирает велопрогулку
  3. Организатор нажимает кнопку "изменить велопрогулку"
  4. Организатор попадает в окно редактирования велопрогулки
  5. Организатор изменяет параметры велопрогулки
  6. Организатор сохраняет изменения
  7. Ведущий получает уведомление о том, что велопрогулка была изменена
  8. Участник велопрогулки получает уведомление, что велопрогулка была изменена

Альтернатива 1:

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

Альтернатива 2:

  • В п. 6 организатор не сохранил изменения. В таком случае организатор возвращается к списку велопрогулок, изменения не сохранены.

3. Регистрация участника на велопрогулку

  1. Участник открывает окно поиска велопрогулки
  2. Участник выбирает желаемые параметры
  3. Участник выбирает велопрогулку из списка
  4. Участник просматривает велопрогулку
  5. Участник регистрируется на велопрогулку
  6. Участник попадает в окно оплаты велопрогулки
  7. Участник оплачивает велопрогулку
  8. Участник возвращается в окно с информацией о велопрогулке
  9. Участник видит себя в списке участников

Альтернатива 1:

  • В п. 3 список велопрогулок оказался пуст или желаемой велопрогулки не нашлось. В таком случае возвращаемся на п. 2.

Альтернатива 2:

  • В п. 4 описание велопрогулки не понравилось участнику. В таком случае возвращаемся на п. 3.

Альтернатива 3:

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

Альтернатива 4:

  • В п. 7 оплата не прошла. В таком случае возвращаемся на п. 4.

4. Участник оставляет отзыв после велопрогулки

  1. Участник открывает список своих велопрогулок
  2. Участник выбирает прошедшую велопрогулку
  3. Участник использует функциональность "оставить отзыв"
  4. Участник попадает в окно отзыва
  5. Участник пишет отзыв
  6. Участник вводит сумму вознагарждения
  7. Участник отправляет отзыв
  8. Участник попадает в окно оплаты
  9. Участник оплачивает
  10. Участник попадает в окно велопрогулки

Альтернатива 1:

  • В п. 6 участник не хочет отправлять вознаграждение. В таком случае игнорируем п. 8 и п. 9.

Альтернатива 2:

  • В п. 9 оплата не прошла. В таком случае возвращаемся на п. 6.

5. Ведущий просматривает участников велопрогулки (аналогично для организатора и участника велопрогулки)

  1. Ведущий открывает список велопрогулок в которых он участвует
  2. Ведущий открывает велопрогулку
  3. Ведущий использует функциональность "распечатать список участников"
  4. Ведущий получает документ со списком контактов участников

Альтернатива 1:

  • В п. 3 список участников пуст. В таком случае показывается соответствующее сообщение, документ не печатается.

6. Поиск велопрогулки участником

  1. Участник открывает окно поиска велопрогулки
  2. Участник вводит желаемые параметры
  3. Участник нажимает кнопку "найти"
  4. Участник видит результаты поиска
  5. Участник просматривает одну из велопрогулок
  6. Участник участник переходит к регистрации на велопрогулку

Альтернатива 1:

  • В п. 4 результаты поиска пусты. В таком случае переходим к п. 2.

Альтернатива 2:

  • В п. 5 участнику не понравилась велопрогулка. В таком случае переходим к п. 4.

<< Постановка задачи | Разработка статической объектной модели предметной области >>

⚠️ **GitHub.com Fallback** ⚠️