1. Постановка задачи - MaxCiv/LibraryArchitecture GitHub Wiki
Назначение проектируемой системы
Предметная область:
Библиотека, выдача книг на время, обмен книгами клиентов.
Пользователями являются:
- Поставщик - находит требуемые книги, продаёт их в библиотеку;
- Библиотекарь - составляет список требуемых книг, закупает их у поставщика, выдаёт/принимает клиентам книги на дом или в читальный зал, принимает книги клиентов на обмен, проводит обмен книгами клиентов;
- Клиент - забирает/возвращает книги на время домой или в читальный зал, оставляет свои книги на обмен, обменивает свои книги на чужие.
Функциональные требования
-
Поставщик
- находит требуемые книги
- продаёт (поставляет) книги в библиотеку
-
Библиотекарь
- составляет список требуемых книг
- закупает требуемые книги у поставщика
- регистрирует клиентов в библиотеке
- выдаёт/забирает клиентам книги на дом или в читальный зал
- принимает книги клиентов на обмен
- проводит обмен книгами клиентов
-
Клиент
- забирает/возвращает книги на время домой или в читальный зал
- оставляет свои книги на обмен
- обменивает свои книги на чужие
Бизнес процессы:
Закупка требуемых книг
- Участники
- Поставщик
- Библиотекарь
- Сущности
- Список требуемых книг
- Книги
- Заказ
- Этапы
- Библиотекарь составляет список требуемых книг
- Библиотекарь заказывает у поставщика требуемые книги
- Поставщик ищет заказанные книги
- Библиотекарь покупает найденные поставщиком книги
Выдача/возврат книг на дом или в читальный зал
- Участники
- Библиотекарь
- Клиент
- Сущности
- Профиль клиента
- Книга
- Этапы
- Клиент выбирает понравившуюся книгу
- если клиент не находит книгу, он уходит из библиотеки
- Клиент обращается к библиотекарю, чтобы взять книгу домой или в читальный зал
- если у клиента нет профиля, библиотекарь его регистрирует
- Библиотекарь оформляет книгу на клиента
- Клиент читает книгу определённое время (дома или в читальном зале)
- Клиент приходит в библиотеку, чтобы вернуть книгу
- Библиотекарь оформляет возврат книги
Обмен книгами между клиентами
- Участники
- Библиотекарь
- Клиент 1
- Клиент 2
- Сущности
- Профиль клиента 1
- Профиль клиента 2
- Книга клиента 1
- Книга клиента 2
- Договор об обмене книги
- Этапы
- Клиент 1 приходит в библиотеку со своей книгой 1
- если у клиента 1 нет профиля, библиотекарь его регистрирует
- Библиотекарь регистрирует книгу клиента 1 и оставляет ее в библиотеке для последующего обмена
- Клиент 2 приходит в библиотеку со своей книгой 2 и выбирает книгу 1 для обмена
- Клиент 2 обращается к библиотекарю для обмена книг
- если у клиента 2 нет профиля, библиотекарь его регистрирует
- Библиотекарь контактирует с владельцем книги 1 (клиентом 1), если обмен согласован, библиотекарь открывает договор по обмену книг, клиент 2 оставляет свою книгу 2 и уходит с книгой 1, полученной по обмену
- если обмен не согласован, клиент 2 уходит или оставляет книгу для последующего обмена (пункт 1)
- Клиент 1 приходит в библиотеку и забирает книгу 2 домой для чтения
- Клиент 2 приходит в библиотеку и возвращает книгу 1
- Клиент 1 приходит в библиотеку, возвращает книгу 2 и забирает свою книгу 1
- Клиент 2 приходит в библиотеку и забирает свою книгу 2
- Библиотекарь закрывает договор по обмену книг
Термины
- Требуемые книги - список книг, которые отсутствуют в библиотеке и которые необходимо заказать у поставщика.
- Профиль клиента - профиль клиента, под которым он зарегистрирован в библиотеке. На профиль можно оформлять книги.
- Договор об обмене книги - открывается на книгу, которую приносят на обмен. Позже в этот договор записываются все книги, которые менялись на первоначальную книгу. Закрывается, когда владелец забирает свою книгу из библиотеки.