Разработка системы автоматизации библиотечного учёта

В статье рассматривается разработанная система автоматизации библиотечного учёта. 

В ходе исследования распространённых систем автоматизации библиотечного учёта,  опубликованного в статье «Анализ распространенных систем автоматизации библиотечного учёта» [1] было принято решение о разработке новой системы автоматизации библиотечного учёта. Чтобы разрабатываемое программное обеспечение могло составить конкуренцию существующим системам автоматизации, оно должно соответствовать следующим требованиям:

  • выполнять большинство основных функций по учёту библиотечных фондов; 
  • автоматизировать формирование отчётов о деятельности библиотеки;
  • предоставлять возможность расчёта книгообеспеченности библиотечных фондов;
  • поддерживать конвертацию библиографических записей в международный формат RusMarc;
  • иметь белее дружелюбный пользовательский интерфейс, по сравнению с существующими аналогами;
  • для реализации функции автоматизированной программы обработки информации при управлении библиотечным фондом разработана электронная база данных и специализированная программа, контролирующая взаимодействие пользователя с базой, содержащей всю необходимую информацию по библиотечным фондам и списку читателей. Разработанный программный продукт получил название «Библиотечный фонд».

Программный продукт «Библиотечный фонд» представляет собой программный комплекс, состоящий из пяти частей:

  • серверная часть базы данных;
  • клиентская (локальная) часть базы данных;
  • серверное приложение;
  • клиентское приложение библиотекаря;
  • клиентское приложение читателя. 

Разработка структуры базы данных

Для разработки базы данных была выбрана СУБД Microsoft Access 2003. Данная СУБД была выбрана по следующим причинам:

  • простота средств реализации;
  • легкость освоения инструментарием разработчика (VBA);
  • наглядность визуализации информации.

Также «Microsoft Access» предоставляет большое количество внутренних средств по оптимизации работы проектируемого приложения. К ним относятся:

  • загрузка модулей по требованию;
  • оптимизация дерева вызовов;
  • использование файлов MDE;
  • автоматическая поддержка компилированного состояния;
  • использование библиотек Windows API;
  • индивидуальная настройка системы;
  • эффективное использование индексов;
  • встроенный оптимизатор запросов.

База данных разделена на две функциональные части: серверную и локальную. Серверная часть базы данных содержит информацию,  предназначенную для редактирования работниками библиотеки:    таблицы с данными о библиотечных фондах, читателях, поступлении/выбытии изданий из фонда, справочные таблицы.Локальная часть базы данных содержит информацию, не подлежащую редактированию: Справочники ББК, УДК, авторских знаков. Эта часть базы данных устанавливается на компьютер пользователя вместе с клиентским приложением. Такая организация базы данных позволяет снизить объём сетевого трафика при обмене данными между сервером и клиентскими приложениями.Были разработаны связанные между собой электронные таблицы, включающие в себя данные, объединенные по своей тематике. Структуры таблиц были разработаны с учетом типов и объемов исходных данных, используемых на   бумажных   носителях,    но   были   применены    особенности   электронных   носителей,    заключенные в связывании данных между собой.

В составе серверной БД имеются двадцать четыре   таблицы:

  1. таблица «Акты о списании» содержит данные об имеющихся в наличии актах на списание;
  2. таблица «Виды документов» содержит в себе данные о видах документов, а именно код документа и его наименование;
  3. таблица «Виды изданий» содержит данные о видах изданий;
  4. таблица «Дисциплины» содержит данные о дисциплинах, изучаемых в данном учебном заведении;
  5. таблица «Изучаемые дисциплины» содержит данные о дисциплинах, изучаемых каждым студентом данного учебного заведения;
  6. таблица «Инвентарные номера» содержит инвентарные номера экземпляров изданий библиотечного фонда;
  7. таблица «Кафедры» содержит данные о кафедрах учебных заведений;
  8. таблица «Книги на руках» содержит данные о книгах, которые выдаются читателям, а именно:

№ документа читателя, код книги, № (ID поле), и дата выдачи.

  1. таблица «Книжный  фонд»  это  основная  библиотечная  база  данных.  В  ней хранятся    все сведения о книгах;
  2. таблица «Курс» содержит данные о курсе обучения читателя; 
  1. таблица «Литература к накладной» содержит данные о книгах, которые оформляются по приходным накладным;
  2. таблица «Национальности», в этой таблице хранится база с перечнем всех национальностей;
  3. таблица «Обозначение материала» содержит данные о типах носителей информации;
  4. таблица «Образование» содержит данные о видах образований;
  5. таблица «Перечень  литературы  к  акту»  содержит  данные  о  книгах,  которые  подлежат   списанию, а именно: №, причина списания, код книги, количество, количество экземпляров, цена и № акта выбытия;
  6. таблица «Приходные накладные» содержит данные о приходных накладных;
  7. таблица «Причины выбытия из фонда» - это данные о причинах выбытия из книжного фонда;
  8. таблица «Рекомендованная литература» - это данные о литературе, рекомендованной для изучения дисциплины;
  9. таблица «Рубрикатор» содержит данные о рубриках, к которым может принадлежать издание;
  10. таблица «Статусы читателей» содержит данные о статусах читателей;
  11. таблица «Факультеты» содержит данные о Факультете, на котором учится студент;
  12. таблица «Формы обучения» содержит данные о формах обучения;
  13. таблица «Читатели» - это база данных, которая хранит в себе всю информацию о читателях;
  14. таблица «Язык», в этой таблице хранится база с перечнем языков. В составе клиентской БД имеются три таблицы:
  15. таблица «Справочник авторских знаков» - это база данных, содержащая в себе описание и перечень всех известных авторских знаков;
  16. таблица «Справочник ББК» - это база данных, содержащая в себе описание и перечень всех известных ББК (их более двух тысяч);
  17. таблица «Справочник УДК» - это база данных, содержащая в себе описание и перечень всех известных УДК (их более шестнадцати тысяч).

Таблицы имеют  свою  иерархию. Это выражается в том,  что таблицы «Книжный фонд», «Читатели», «Приходные  накладные»   и  «Актов   о  списании»   являются  основными.   Таблицы  «Книги  на     руках», «Литература   к  накладной»,   «Перечень  литературы  к  акту»   являются  подчинёнными по отношению к основным таблицам. Таблицы «Виды документов», «Виды изданий»,  «Кафедры», «Курс», «Национальности», «Обозначение материала», «Причины выбытия из фонда», «Рубрикатор», «Справочник авторских знаков», «Справочник ББК», «Справочник УДК», «Статусы читателей», «Факультеты», «Формы обучения», «Язык» являются таблицами нижнего уровня, так как в них содержатся  вспомогательные данные, используемые для заполнения основных таблиц. Таким образом, осуществляется связь между таблицами. 

Разработка интерфейсной части программного комплекса «Библиотечный фонд»

В качестве среды программирования выбрана среда Embarcadero Delphi 2010, использующая язык программирования Delphi. Сформулируем основные критерии, по которым производился выбор среды программирования для создания данной программы:

  • создание максимально возможного  удобства  в  работе.  Для этого  программа  должна  иметь удобный и современный интерфейс пользователя;
  • работа модуля  должна  выполняться с максимально возможной скоростью.  Нежелательны  ситуации, в которых пользователю длительное время придется ожидать окончания работы программы;
  • программа должна поддерживать возможность перекрестного использования других приложений, таких как Microsoft Access, Excel;
  • максимальная простота в установке и использовании модуля.

В ходе последующего анализа имеющихся средств программирования на основании перечисленных критериев был выбран вариант написания данного модуля с использованием системы визуального программирования Embarcadero Delphi. Данное заключение основывалось на следующем.

Среда визуального программирования Delphi работает в среде Windows и предоставляет программисту возможность реализации всех достоинств графического интерфейса этой системы. Так как подавляющее большинство пользователей персональных компьютеров работают сегодня в среде операционных систем семейства Windows, то этот интерфейс является для них наиболее привычным и удобным.

Так как Delphi является средой программирования для Windows, то, как и сама операционная система, Delphi поддерживает длинные имена файлов и папок. Для запуска программ, написанных на Delphi, не требуются никакие дополнительные библиотеки, интерпретаторы кода и прочее. Достаточно взять один- единственный сгенерированный исполняемый файл и запустить его там, где нужно. Для установки программы на другой компьютер не требуется создание каких-либо дистрибутивов, не нужен процесс инсталляции, достаточно переписать исполняемый файл программы. Среда визуального программирования Delphi является мощным средством для быстрой и качественной разработки программ для операционной системы   Windows.    Имеющаяся   библиотека    визуальных   компонентов   позволяет   создать    интерфейс с пользователем за считанные минуты. Объектно-ориентированный язык Delphi, положенный в основу среды Delphi, является расширением языков Turbo Pascal и Borland Pascal фирмы Borland и нашел в себе отражение новых веяний в программировании. Компонентный принцип, используемый в Delphi, позволяет создавать полноценные Windows-приложения, написав минимальное количество строк кода. Delphi представляет собой открытую систему, позволяя добавлять свои компоненты в систему,  модифицировать уже имеющиеся стандартные компоненты благодаря тому, что предоставлены их исходные тексты. Благодаря всему этому разработка программ в среде Delphi становится легкой и приятной.

Таким образом, выбранная платформа, как было показано выше, удовлетворяет поставленным требованиям, поэтому выбор был остановлен на данной системе программирования.

Разработка серверного приложения

Основой серверного приложения является технология Remote Data Module, инкапсулирующая сервер автоматизации. В удалённом модуле данных располагаются компоненты класса TDataSetProvider, предоставляющие клиентским приложениям доступ к серверным наборам данных. Доступ к базе данных осуществляется при помощи компоненты класса TADOConnection и TADODataSet, располагающихся на главной форме приложения. Данные компоненты используют технологию ADO для доступа к базе данных.

Технология ADO (Active Data Objects) - это высокоуровневый компонент технологии доступа к данным от Microsoft. (т.н. MDAC - Microsoft Data Access Components) Другие компоненты - это старый добрый ODBC и новый низкоуровневый интерфейс OLE DB.

Технология Microsoft ActiveX Data Objects(ADO) обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB. OLE DB представляет собой набор  специализированных  объектов  СОМ,  инкапсулирующих  стандартные  функции  обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами. Объекты OLE DB создаются и функционируют так же, как и другие объекты СОМ. Каждому объекту соответствует идентификатор класса CLSID, хранящийся в системном реестре. Для создания объекта используется метод CoCreateinstance и соответствующая фабрика класса. Объекту соответствует  набор   интерфейсов,   к   методам   которых   можно   обращаться   после   создания объекта. В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который «умеет» представить данные (например, из файла электронной почты) в виде таблицы  БД  или результата выполнения запроса SQL. Данными для ADO могут быть как привычные таблицы Access или серверные базы MS SQL или Oracle, так и несколько экзотичные Microsoft Active Directory Service, XML-файлы и т.п.

Также на главной форме серверного приложения располагаются компоненты классов TTrayIcon, TImageList, TPopupMenu, TSaveDialog и TOpenDialog. Для поддержки подключения клиентского приложения с помощью технологии SocketConnection на главной форме серверного приложения расположен компонент TSocketDispatcher.

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

Разработка клиентского приложения читателя

Клиентское приложение читателя предназначено для удобного поиска литературы в библиотечном каталоге. В данном приложении невозможно осуществлять редактирование и удаление записей.

Приложение состоит из пяти модулей: AdvancedSearch.pas, CompList.pas, Logo.pas, Main.pas, ConnectParameters.pas. Главное окно располагается в модуле Main.Pas. В данном модуле располагаются следующие невизуальные компоненты: DCOMConnection, SocketConnection, ClientDataSet, DataSource, sSkinManager, sFrameAdapter и MainMenu. Компоненты DCOMConnection и  SocketConnection предназначены для соединения с серверным приложением. Компоненты ClientDataSet и DataSource предназначены для открытия в клиентском приложении набора данных и связи с визуальными компонентами для отображения данных. Компоненты sSkinManager и sFrameAdapter предназначены для реализации в программе поддержки нестандартных графических оболочек.

Для создания удобного пользовательского интерфейса в главном окне программы использовались следующие типы визуальных компонентов: TsPanel, TsButton, TsEdit, TsComboBox, TsCheckBox, TsDBGrid, TsPageControl, TsRichEdit, TsDBMemo. Данные компоненты взяты из библиотеки  компонентов AlphaControls и  являются  аналогами  стандартных  компонентов  Delphi  с  расширенным  набором свойств и методов и встроенной поддержкой нестандартных графических оболочек.

В окне располагаются компоненты для удобного поиска литературы в библиотечном фонде, просмотра результатов поиска и сведений о найденных изданиях. Функция поиска данных в библиотечном фонде реализована с использованием SQL-запросов  для выборки  данных. Таким  образом,  приложение получает от сервера только те записи, которые удовлетворяют запросу, автоматически сформированному процедурой для генерации SQL-запросов на основании введённых данных. Ввод данных для поиска реализован двумя способами: 

  • Поиск по одному параметру. Читатель вводит искомое значение в поле «Поиск», и выбирает из выпадающего списка наименование поля в таблице базы данных, по которому будет производиться выборка данных.
  • Поиск по нескольким параметрам. Читатель открывает окно расширенного поиска нажатием на кнопку «Расширенный поиск». В открывшемся окне читатель вводит искомые значения в поля  для ввода текста, и выбирает тип взаимоотношения между параметрами поиска:
  • совпадение всех значений (соответствует оператору «AND» в SQL-запросе);
  • совпадение хотя бы одного значения (соответствует оператору «OR» в SQL-запросе). 

Разработка клиентского приложения библиотекаря

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

Данное приложение в общей сложности представляет собой 28 окон программы различного назначения и состоит из следующих модулей: Main.pas, ItemsList.pas, EditReader.pas, BooksOnHands.pas, Color.pas, EnterBBK.pas, EditWayBill.pas, EditWayBillBook.pas, EditAct.pas, EditActBook.pas, Logo.pas, BBKandUDK.pas, OrgInfo.pas, Wait.pas, TablesOpt.pas, ColorOpt.pas, AuthorZnak.pas, About.pas, MyRegister.pas, SearchReader.pas, Account.pas, CreatePass.pas, BookDate.pas, ReaderWithBooks.pas, ServerParameters.pas, CompList.pas, Disciples.pas, CalculateBook.pas. Решение о создании каждого из окон обосновано обеспечением  надежности сохранности данных,  наглядности информации,  удобством  в работе с данными тесно связанными между собой.

На главной форме приложения располагаются компоненты DCOMConnection и SocketConnection для соединения с сервером. Компоненты ClientDataSet и DataSource предназначены для открытия в клиентском приложении набора данных и связи с визуальными компонентами для отображения данных. Компоненты sSkinManager и sFrameAdapter предназначены для реализации в программе поддержки нестандартных графических оболочек. Компонент ADOConnection предназначен для соединения с клиентской (локальной) частью базы данных. Для экспорта отчётов в Ms Word и Ms Excel используются компоненты WordApplication, WordDocument, ExcelApplication, ExcelWorkBook и ExcelWorkSheet. Для реализации функции экранной лупы используется компонент TsMagnifier.

Для создания удобного пользовательского интерфейса в главном окне программы использовались следующие типы визуальных компонентов: TsToolBar, TsButton, TsEdit, TsComboBox, TsCheckBox, TsDBGrid, TsPageControl, TsRichEdit, TsDBMemo, TsPanel, TsDBNavigator, TsStatusBar. Данные компоненты взяты из библиотеки компонентов AlphaControls и являются аналогами стандартных компонентов Delphi с расширенным набором свойств и методов и встроенной поддержкой  нестандартных графических оболочек.

В главном окне располагаются элементы управления библиотечным фондом. В главном окне используются данные из таблиц «Книжный фонд», «Читатели», «Приходные накладные», и «Реестр  актов на  списание».  Это  окно  предназначено   для   просмотра   текущего   состояния   библиотечных  фондов, для оптимального просмотра имеющихся данных об изданиях, читателях, приходных накладных и актах на списание.

В   клиентском   приложении   библиотекаря   реализована   защита    от    нелегального копирования при  помощи  Hardware  ID  и  лицензионного  ключа.  Для  предотвращения  несанкционированного доступа к программе лицами, не имеющими для этого достаточных прав, реализована возможность защиты доступа к программе с помощью пароля. Пароль хранится в зашифрованном виде в защищённом от изменения или удаления файле.

Выводы.

В процессе разработки данного программного комплекса были изучены методы учёта библиотечных фондов, изучена методика расчёта книгообеспеченности библиотечных фондов.

Для     решения     поставленных      задач      были     сформулированы      требования,    предъявляемые к разрабатываемой информационной системе.

Разработана     информационная      система,      представляющая      собой      программный     комплекс и автоматизирующая основные задачи учёта библиотечных фондов.

Программная реализация информационной системы позволяет осуществлять:

  1. клиент-серверное взаимодействие пользователей с базой данных библиотечного фонда;
  2. внесение и изменение данных об изданиях, входящих в состав библиотечных фондов;
  3. внесение и изменение данных о читателях библиотеки;
  4. контроль выдачи литературы читателям;
  5. внесение и изменение данных справочных таблиц;
  6. внесение и изменение данных о приходных накладных и актах о списании; 
  7. автоматическое формирование отчетности о состоянии библиотечных фондов;
  8. решение задач, стоящих перед информационной системой, будет способствовать более эффективному использованию рабочего времени сотрудниками библиотеки;

Результатом  работы  стало  внедрение  разработанной  ИС  в  процесс  учёта  библиотечных   фондов ГУ «Комплекс «Музыкальный колледж – музыкальная школа-интернат для одарённых детей»».

Фамилия автора: А.С. Классен
Год: 2012
Город: Павлодар
Яндекс.Метрика