2. Варианты использования - MaxCiv/LibraryArchitecture GitHub Wiki

Диаграмма вариантов использования (прецедентов)

Поставщик

Поставка книг

  1. Поставщик получает от библиотекаря заказ в виде списка требуемых книг.
  2. Поставщик ищет требуемые книги.
  3. Поставщик продаёт найденные книги библиотекарю.
Альтернатива 1

На шаге 2 поставщик ищет заказанные книги. Если будут найдены не все книги, библиотекарю будет предложено купить то, что было найдено.

Библиотекарь

Регистрация клиента

  1. Библиотекарь узнаёт у клиента все требуемые данные (ФИО, мобильный номер).
  2. Библиотекарь создаёт для клиента профиль, на который тот может брать книги.

Купить требуемые книги

  1. Библиотекарь составляет список требуемых книг.
  2. Библиотекарь делает заказ у поставщика по списку требуемых книг.
  3. Библиотекарь покупает у поставщика книги.
Альтернатива 1

На шаге 3 поставщик предоставляет заказанные книги. Если будут найдены не все книги, библиотекарь купит то, что было найдено.

Выдать книгу клиенту

  1. К библиотекарю приходит клиент с выбранной им книгой, библиотекарь находит профиль этого клиента.
  2. Библиотекарь оформляет книгу на клиента и выдаёт ему ее на руки.
  3. Позже клиент возвращается в библиотеку с прочитанной книгой, библиотекарь находит профиль этого клиента.
  4. Библиотекарь забирает книгу у клиента и оформляет возврат.
Альтернатива 1

На шаге 1 библиотекарь зарегистрирует клиента, если у того нет профиля.

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

На шаге 2 библиотекарь может оформить книгу на дом или в читальный зал.

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

Если на шаге 3 клиент придёт с недочитанной книгой, библиотекарь может продлить ее, перейдя на пункт 1.

Обмен книг

  1. К библиотекарю приходит клиент со своей книгой 1 для обмена.
  2. Библиотекарь открывает договор по обмену книгами и берёт книгу 1 у клиента.
  3. Книга 1 лежит среди книг на обмен и её видят другие клиенты.
  4. Другой клиент предлагает свою книгу 2 в обмен на книгу 1.
  5. Библиотекарь звонит клиенту книги 1 и спрашивает у него, согласен ли он на обмен.
  6. В случает согласия клиенты обмениваются книгами, это отмечается в договоре.
  7. Позже клиенты возвращают чужие книги и забирают свои.
  8. Библиотекарь закрывает договор по обмену книги.
Альтернатива 1

На шаге 1 библиотекарь зарегистрирует клиента, если у того нет профиля.

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

Если на шаге 5 клиент книги 1 отказывает в обмене, клиент книги 2 может оставить свою книгу на обмен или просто уйти.

Клиент

Взять книгу в библиотеке

  1. Клиент просматривает книги в библиотеке и выбирает ту, которую хочет взять.
  2. Клиент обращается к библиотекарю, библиотекарь оформляет книгу на клиента.
  3. Клиент забирает книгу и читает её определенное время.
  4. Клиент приносит книгу обратно в библиотеку, библиотекарь оформляет возврат книги.
Альтернатива 1

На шаге 2 библиотекарь зарегистрирует клиента, если у того нет профиля.

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

На шаге 2 книга оформляется или на дом, или в читальный зал.

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

Если на шаге 3 клиент придёт с недочитанной книгой, библиотекарь может продлить ее, перейдя на пункт 2.

Обмен книг

  1. Клиент приходит со своей книгой в библиотеку.
  2. Дальше клиент выбирает, хочет ли он оставить книгу для дальнейших предложений обмена или хочет обменять свою книгу на книгу, которая уже есть в библиотеке.
  3. Клиент обращается к библиотекарю и он проводит обмен, открывая договор или создавая новый.
  4. Клиент читает чужую книгу определенное время.
  5. Клиент возвращает чужую книгу и получает обратно свою.
  6. Договор об обмене книг клиентов закрывается библиотекарем.
Альтернатива 1

На шаге 2 библиотекарь зарегистрирует клиента, если у того нет профиля.

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

Если на шаге 3 клиент книги 1 отказывает в обмене, клиент книги 2 может оставить свою книгу на обмен или просто уйти.

<< 1. Постановка задачи | 3. Диаграмма классов >>

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