Информационные технологии применяются во всех сферах деятельности людей, это позволяет сократить время на обработку большого объема информации, поэтому целесообразно использовать информационные технологии в сферах деятельности с большим объемом информации. Например, в библиотечной системе необходимо обеспечить быстрый поиск нужной литературы. Для этого необходимо разрабатывать автоматизированные системы учета книг в библиотеке. Они предоставляют в основном два вида услуг: это удаленное чтение книг и доступ к списку библиотечного фонда [1].
Предоставление услуг по удаленному чтению книг ограниченно законом об авторском праве. Поэтому небольшие библиотеки не всегда могут позволить себе этот сервис услуг и занимаются только предоставлением удаленного доступа к списку библиотечного фонда. Таким образом, применение автоматизированных систем учета книг в библиотеке является актуальной задачей для небольших городских библиотек.
Целью работы является разработка автоматизированной системы учета книг библиотеки.
Разработка собственной автоматизированной системы учета книг библиотеки целесообразна для городских библиотек, имеющих небольшой библиотечный фонд и предоставляющих минимальный объем удаленных услуг, по сравнению с применением крупных библиотечных системы (ИРБИС, КАБИС).
Разработанная автоматизированная система учета имеет трехуровневую архитектуру. Данная архитектура предполагает клиентское приложение, подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных.
Второй и третий уровень — это серверная часть системы электронного учета, ответственная за функциональность системы учета, хранение и управление книгами в ней. Серверная часть системы обычно располагается на специально выделенных компьютерах (серверной платформе).
Уровень работы с данными представляет собой серверную компоненту низкого уровня, под которой понимается система управления базами данных, обеспечивающая фактическое хранение информации в системе. Также в этом уровне находятся серверные компоненты информационной безопасности, обеспечивающие надлежащую работу системы с электронной подписью, а также криптографическую защиту (шифрование) информации при управлении доступом к документации и ее хранении.
Для реализации системы выбрана среда программирования MS Visual Studio 2015 Community — это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки (IDE) Visual Studio. Visual Studio можно использовать для создания различных типов приложений, от простых приложений для магазина и игр для мобильных клиентов до больших и сложных систем, обслуживающих предприятия и центры обработки данных. [2].
Для хранения данных системы выбрана система управления базами данных MySQL Community 5.7 — свободная реляционная система управления базами данных.
MySQL представляет собой очень быстрый многопоточный, многопользовательский надежный SQL-сервер баз данных (SQL — язык структурированных запросов). Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения. Программное обеспечение MySQL имеет двойное лицензирование. Это означает, что пользователи могут выбирать, использовать ли ПО MySQL бесплатно по общедоступной лицензии GNU General Public License (GPL) или приобрести одну из стандартных коммерческих лицензий MySQL AB. [3].
Основное назначение системы — это автоматизированный учет книг в библиотеки и предоставление удаленного доступа к списку библиотечного фонда. Данные функции реализованы с помощью пяти модулей системы.
К основным модулям системы относятся следующие логически связанные между собой блоки:
1. Модуль «Аутентификация» — представляет собой процесс идентификации пользователя в системе.
Данный модуль должен содержать следующие функции:
- Вывод окна с запросом авторизационной информации;
- Отправка введенных данных через клиентский модуль на сервер;
- Обработка результатов запроса;
- Осуществление авторизации пользователя и назначение ему уровня привилегий.
2. Модуль «Работа с книгами» — это основной модуль обработки и хранения информации о поступлении книг, об их количестве, а так же об их бронировании.
Данный модуль должен содержать следующие функции:
- осуществление поиска среди списка книг;
- осуществление бронирования литературы;
- Проверка данных таблиц на дубликаты;
- Вывод существующих данных о книгах в виде таблиц с возможностью сортировки;
- Редактирование существующих данных о книгах.
3. Модуль «Отчеты» — представляет собой результат процесса систематического или непрерывного сбора информации об оборотах книг, об их выдачи, их количестве в фонде.
Данный модуль должен содержать следующие функции:
- Вывод пользователю список возможных отчетов;
- Генерация выборки в формате заданном выбранным отчетом;
- Поддержка возможности экспорта данных в таблицы Excel;
- Поддержка возможности вывода отчетов на печать.
4. Модуль «Оповещение» — блок является сообщением важной информации сотрудникам, работающим с документами, а так же о некорректном вводе информации.
Данный модуль должен содержать следующие функции:
- Оповещение некорректного ввода;
- Оповещение о создании записи в справочнике;
- Оповещение о проведении документа по регистру накопления;
- Ошибки записи, с указанием ошибки в коде.
5. Модуль «Сервер» — осуществляет связь между модулями.
Данный модуль должен содержать следующие функции:
- Работа на заданном порту;
- Прием запросов от нескольких клиентов одновременно;
- Проведение операции десериализации данных, переданных от клиента;
- Отправлять запросы на модуль «Работа с книгами»;
- Проведение операции сериализации для отправки данных клиенту.
В результате работы этих модулей достигается полная информативность пользователя, что способствует своевременному и правильному принятию решений.
Структура базы данных автоматизированной системы учета книг приведена на рисунке 1.

База данных содержит 8 таблиц. Структура каждой таблицы приведена в таблицах 1-8.
- Таблица «Пользователи» — содержит список операторов системы, с уровнем их привилегий;
- Таблица «Книги» — содержит данные о книгах: наименование, автор, год выпуска;
- Таблица «Читатели» — содержит данные о зарегистрированных читателях;
- Таблица «Сотрудники» — содержит данные о сотрудниках библиотеки;
- Таблица «Выдача книг» — содержит информацию о выданных читателям книгах;
- Таблица «Прием книг» — содержит информацию о поступивших в библиотеку книгах;
- Таблица «Списание книг» — содержит данные о списанных книгах;
- Таблица «Книги в наличие» — содержит список книг в библиотечном фонде учреждения.
Имя | Описание | Требуемый тип данных |
Id | идентификатор пользователя системы | Число |
Login | логин пользователя для авторизации | Строка[30] |
Password | пароль пользователя для авторизации | Число |
Level | уровень привилегий пользователя | Число |
Имя | Описание | Требуемый тип данных |
Id | Идентификатор книги | Число |
Title | Название книги | Строка[30] |
Data | Дата записи книги | Дата |
Autor | ФИО автора | Строка[50] |
God | Год выпуска | Число |
Publish | Название издательства | Строка[30] |
Sum | Количество страниц | Число |
Имя | Описание | Требуемый тип данных |
Id | идентификатор записи читателя | Число |
Name | Фамилия читателя | Строка[30] |
FirstName | Имя читателя | Строка[20] |
LastName | Отчество читателя | Строка[30] |
Data | Дата регистрации читателя | Дата |
Имя | Описание | Требуемый тип данных |
Id | идентификатор записи сотрудника | Число |
Name | Фамилия сотрудника | Строка[30] |
FirstName | Имя сотрудника | Строка[20] |
LastName | Отчество сотрудника | Строка[30] |
Data | Дата приема на работу | Дата |
Имя | Описание | Требуемый тип данных |
Id | идентификатор выдачи книг читателям | Число |
IdWorked | Идентификатор сотрудника выдавшего книгу | Число |
IdReader | Идентификатор читателя получившего книгу | Число |
IdBook | Идентификатор выданной книги | Число |
Sum | Количество выданных книг | Число |
Time | Число дней выдачи | Число |
Data | Дата выдачи | Дата |
Имя | Описание | Требуемый тип данных |
Id | Идентификатор записи книги в библиотеку | Число |
IdWorked | Идентификатор сотрудника принявшего книгу | Число |
IdBook | Идентификатор книги | Число |
Sum | Количество книг | Число |
Data | Дата приема книг | Дата |
Имя | Описание | Требуемый тип данных |
Id | Идентификатор списания книг | Число |
IdWorked | Идентификатор сотрудника | Число |
IdBook | Идентификатор книги | Число |
Sum | Количество книг | Число |
Data | Дата списания | Дата |
Имя | Описание | Требуемый тип данных |
Id | идентификатор отчета о книгах в фонде | Число |
IdBook | Идентификатор книги | Число |
Sum | Количество книг в фонде | Число |
Data | Дата оформления отчета | Дата |
Таким образом, разработанная система позволяет:
- провести автоматизированный учет книг в библиотеке;
- предоставлять удаленный доступ к списку библиотечного фонда;
- осуществлять бронирование книг;
- создавать отчеты о работе библиотеке.
Система предназначена для небольших городских библиотек.