Учёт книг в библиотеке
- Введение
Данный проект выполнен в рамках лабораторной работы по базам данных и технологиям low-code/no-code. Темой работы является управление книгами в библиотеке, включая добавление новых изданий, учет авторов, оформление выдачи и возврата, а также взаимодействие читателя и библиотекаря. Цель проекта — разработать работающую базу данных SQLite, создать экспорт данных в различных форматах (CSV, JSON, XML, YAML) и подготовить документацию, содержащую диаграммы, алгоритмы и программу на C++.
- Общая характеристика системы
Система реализует три ключевые функции:
-
Управление каталогом Библиотекарь может добавлять новые книги, указывая автора, название, год издания и другие необходимые параметры.
-
Выдача и возврат книг Читатель может получить книгу, если она доступна, и вернуть её. Система фиксирует дату выдачи, дату возврата и текущий статус книги.
-
Просмотр доступных книг Читатель имеет возможность просматривать книги, доступные в библиотеке.
В состав проекта входит программа на C++, которая позволяет добавлять, выдавать, возвращать и отображать книги.
- Используемая база данных
В проекте используется база данных SQLite. Структура базы включает таблицы:
Author
Book
Reader
Librarian
Status
Loan
Эти таблицы позволяют хранить информацию о книгах, пользователях и операциях выдачи.
Полная схема базы данных (ERD и SQL) находится в репозитории.
- Сгенерированные файлы (low-code)
В каталоге out/ представлены данные, экспортированные в четырёх форматах:
CSV — табличный формат
JSON — структурированный объектный формат
XML — формат на основе тегов
YAML — компактный и читаемый формат
Данные получены на основе SQL-запроса с использованием JOIN всех основных таблиц.
- Диаграммы
Каталог «Диаграм» содержит набор диаграмм, описывающих структуру и логику работы системы.
a) Алгоритмы (блок-схемы)
Представлены три алгоритма:
добавление книги;
выдача книги;
возврат книги.
Эти диаграммы отражают последовательность действий при выполнении основных операций системы.
b) ERD-диаграмма (диаграмма «сущность–связь»)
Отображает структуру базы данных, связи между таблицами, ключи и логику организации данных в библиотечной системе.
c) Диаграмма вариантов использования (Use Case UML)
Показывает взаимодействие следующих участников:
Читатель,
Библиотекарь.
Представлены варианты использования: просмотр книг, управление каталогом, регистрация читателей, выдача и возврат книг, просмотр отчётов.
- Программа на C++
Каталог «Код c++» содержит программу, реализующую следующие функции:
добавление книги;
выдача книги;
возврат книги;
отображение доступных книг.
Программа иллюстрирует базовую бизнес-логику управления библиотекой.
- Отчёт
В каталоге lab/ находится файл Word с отчётом, включающим:
тему и цели работы;
описание системы;
ERD-диаграмму;
блок-схемы;
Use Case;
описание экспортируемых форматов данных;
SQL-запросы;
результаты.
- Структура репозитория
Library-management/ │ ├── Screenshot/ # Скриншоты проекта ├── database/ # SQLite и SQL-схема ├── lab/ # Отчёт (Word) ├── out/ # CSV, JSON, XML, YAML ├── Диаграм/ # ERD, Use Case, блок-схемы ├── Код c++/ # Программа на C++ └── README.md # Документация
- Заключение
Проект демонстрирует комплексную систему управления библиотечным фондом с использованием SQLite, экспортом данных в нескольких форматах, UML-диаграммами и программой на C++. Он объединяет SQL, визуальное моделирование и программирование, отражая основные процессы функционирования библиотечной системы.
👤 Автор проекта
Аджамбо Эспуар Ойенга Группа: 25-ИВТ-2-1 Нижегородский государственный технический университет (НГТУ)