Skip to content

0yenga/Library-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Учёт книг в библиотеке

  1. Введение

Данный проект выполнен в рамках лабораторной работы по базам данных и технологиям low-code/no-code. Темой работы является управление книгами в библиотеке, включая добавление новых изданий, учет авторов, оформление выдачи и возврата, а также взаимодействие читателя и библиотекаря. Цель проекта — разработать работающую базу данных SQLite, создать экспорт данных в различных форматах (CSV, JSON, XML, YAML) и подготовить документацию, содержащую диаграммы, алгоритмы и программу на C++.


  1. Общая характеристика системы

Система реализует три ключевые функции:

  1. Управление каталогом Библиотекарь может добавлять новые книги, указывая автора, название, год издания и другие необходимые параметры.

  2. Выдача и возврат книг Читатель может получить книгу, если она доступна, и вернуть её. Система фиксирует дату выдачи, дату возврата и текущий статус книги.

  3. Просмотр доступных книг Читатель имеет возможность просматривать книги, доступные в библиотеке.

В состав проекта входит программа на C++, которая позволяет добавлять, выдавать, возвращать и отображать книги.


  1. Используемая база данных

В проекте используется база данных SQLite. Структура базы включает таблицы:

Author

Book

Reader

Librarian

Status

Loan

Эти таблицы позволяют хранить информацию о книгах, пользователях и операциях выдачи.

Полная схема базы данных (ERD и SQL) находится в репозитории.


  1. Сгенерированные файлы (low-code)

В каталоге out/ представлены данные, экспортированные в четырёх форматах:

CSV — табличный формат

JSON — структурированный объектный формат

XML — формат на основе тегов

YAML — компактный и читаемый формат

Данные получены на основе SQL-запроса с использованием JOIN всех основных таблиц.


  1. Диаграммы

Каталог «Диаграм» содержит набор диаграмм, описывающих структуру и логику работы системы.

a) Алгоритмы (блок-схемы)

Представлены три алгоритма:

добавление книги;

выдача книги;

возврат книги.

Эти диаграммы отражают последовательность действий при выполнении основных операций системы.

b) ERD-диаграмма (диаграмма «сущность–связь»)

Отображает структуру базы данных, связи между таблицами, ключи и логику организации данных в библиотечной системе.

c) Диаграмма вариантов использования (Use Case UML)

Показывает взаимодействие следующих участников:

Читатель,

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

Представлены варианты использования: просмотр книг, управление каталогом, регистрация читателей, выдача и возврат книг, просмотр отчётов.


  1. Программа на C++

Каталог «Код c++» содержит программу, реализующую следующие функции:

добавление книги;

выдача книги;

возврат книги;

отображение доступных книг.

Программа иллюстрирует базовую бизнес-логику управления библиотекой.


  1. Отчёт

В каталоге lab/ находится файл Word с отчётом, включающим:

тему и цели работы;

описание системы;

ERD-диаграмму;

блок-схемы;

Use Case;

описание экспортируемых форматов данных;

SQL-запросы;

результаты.


  1. Структура репозитория

Library-management/ │ ├── Screenshot/ # Скриншоты проекта ├── database/ # SQLite и SQL-схема ├── lab/ # Отчёт (Word) ├── out/ # CSV, JSON, XML, YAML ├── Диаграм/ # ERD, Use Case, блок-схемы ├── Код c++/ # Программа на C++ └── README.md # Документация


  1. Заключение

Проект демонстрирует комплексную систему управления библиотечным фондом с использованием SQLite, экспортом данных в нескольких форматах, UML-диаграммами и программой на C++. Он объединяет SQL, визуальное моделирование и программирование, отражая основные процессы функционирования библиотечной системы.


👤 Автор проекта

Аджамбо Эспуар Ойенга Группа: 25-ИВТ-2-1 Нижегородский государственный технический университет (НГТУ)

About

Library management system in C++ — CRUD operations, structured data | University project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages