Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса «Движение библиотечного фонда» (Выбор комплекса задач автоматизации)

Содержание:

ВВЕДЕНИЕ

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

Цель курсовой работы – проектирование информационной системы для реализации бизнес-процесса «Учет движения библиотечного фонда».

Для достижения поставленной цели необходимо решить следующие задачи:

  • проанализировать текущую организацию бизнес-процесса учета движения библиотечного фонда в библиотеке и возникающего при его выполнении документооборота;
  • выбрать и обосновать проектные решения по информационному и программному обеспечению;
  • составить информационную модель проектируемой информационной системы;
  • разработать базу данных и программные модули ИС;
  • описать контрольный пример реализации проекта.

Глава 1. Аналитическая часть

1.1. Выбор комплекса задач автоматизации

Библиотека – это учреждение, собирающее и хранящее произведения печати и письменности для общественного пользования, а также осуществляющее справочно-библиографическую работу.

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

Для поиска нужно книги посетителем используются два вида каталогов: старые, бумажные, и новые, электронные. Бумажные представляют собой большие ящики, в котором находятся карточки каждой книги, отсортированные по категориям и по алфавиту. Электронные каталоги – это специальные компьютеры, установленные в библиотеке, которые позволяют искать информацию об интересующих книгах и других печатных изданиях в электронной базе данных.

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

После работы с каталогом и выбора нужной книги посетитель обращается к работнику библиотеки, чтобы он выдал ему эти книги. Работник библиотеки фиксирует факт выдачи.

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

В качестве предмета исследования в рамках данного курсового проекта выступает организация бизнес-процесса «Учет движения библиотечного фонда». Для более подробного изучения его организации будет использован метод моделирования.

1.2. Характеристика существующих бизнес – процессов

Для анализа бизнес-процесса воспользуемся функционально-структурным моделированием этой деятельности. В качестве основной методологии построения функциональных моделей выступает IDEF0.

IDEF0 – это метод, с помощью которого система описывается как множество взаимосвязанных действий (или функций).

Исследование функций производится независимо от способов и методов их выполнения. Такой «функциональный» подход обеспечивает четкое разделение аспектов назначения описываемой системы от вопросов её реализации.

IDEF0 часто используется при исследовании и проектировании систем на концептуальном уровне.

IDEF0 определяет два графических объекта:

1. блок, с помощью которого обозначается некоторая функция (действие);

2. стрелка, с помощью которой указываются информационные или материальные объекты.

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

Контекстная диаграмма – диаграмма самого верхнего уровня иерархии, дает самое общее представление о системе. На контекстной диаграмме (КД) отображается только один функциональный блок (контекстная функция).

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

Следует всегда помнить, что некоторый функциональный блок и диаграмма его декомпозиции суть одно и то же, но рассматриваемое с разной степенью детализации. Отсюда следует, что все стрелки, связанные с рассматриваемым функциональным блоком, должны присутствовать на декомпозирующей его диаграмме (если таковая имеется).

Контекстная диаграмма для деятельности библиотеки изображена на рисунке 1 (для построения диаграмм использовалось CASE- средство AllFusion Process Modeler 7)

Рисунок 1. Контекстная диаграмма

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

Далее процесс декомпозируется на 5 блоков: регистрация в библиотеке, выбор книги, выдача книги, возврат книги и формирование отчетов (Рисунок 2).

Рисунок 2. Диаграмма декомпозиции

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

1.3. Характеристика документооборота, возникающего при решении задачи

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

Рисунок 3. Схема документооборота

1.4. Обоснование проектных решений по информационному обеспечению

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

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

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

Существуют определенные правила создания и проектировании базы данных для нужд какой-либо организации:

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

Реляционная модель базы данных – это такая модель, где БД – совокупность отношений, содержащих всю информацию, которая должна храниться в БД. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц.

1.5. Обоснование проектных решений по программному обеспечению

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

В состав программного обеспечения входят общесистемные и специальные программные продукты, в том числе: операционная система, системы программирования, инструментальные средства программиста, тестовые и диагностические программы, программные средства телекоммуникации, защиты информации, функциональное программное обеспечение (автоматизированные рабочие места, системы управления базами данных и т. п.).

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

В качестве возможных альтернатив были выбраны три наиболее популярных языка: Delphi, C++ и Java.

Delphi - язык программирования высокого уровня, имеющий следующие особенности

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

Следующий язык – язык С++. Синтаксис этого языка более сложен по сравнению с простым и ясным синтаксисом Object Pascal, который положен в основу языка Delphi, поэтому Object Pascal претендует на роль языка, идеально подходящего для описания алгоритма. Во всех случаях Object Pascal имеет самый быстрый, среди продуктов подобного рода, оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы. С++ является языком программирования общего назначения. Единственная для него область применения - системное программирование, понимаемое в широком смысле этого слова. С++ успешно используется во многих областях приложения, далеко выходящих за его естественную область применения. Реализации С++ находятся на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем.

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

И последний из самых популярный в последнее время языков – язык программирования Java. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) – специальной программой, которая обрабатывает байтовый код и передает соответствующие команды оборудованию.

Главным достоинство такого способа выполнения программ является независимость транслируемого байтового кода от операционной системы и оборудования. То есть JAVA-приложения могут быть выполнены на любом устройстве, для которого существует виртуальная машина. Еще одной особенностью технологии Java является полный контроль исполнения программы виртуальной машиной, что обеспечивает гибкие возможности безопасности и защиты данных. Любые операции, которые не должны входить в полномочия программы (например, доступ к закрытым или конфиденциальным данным, соединения с другим компьютером и пр.) вызывают завершение работы программы. К недостаткам технологии Java следует отнести сниженную производительность, по сравнению с классической технологией программирования в виде дополнительных операции по трансляции программы в байт-код.

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

В качестве системы управления базой данных была выбрана СУБД Microsoft SQL SERVER.

СУБД MS SQL Server 2008 наделена всеми необходимыми возможностями. В частности, система обладает следующими преимуществами:

  • обеспечивает высокую надежность и устойчивость к различным сбоям;
  • позволяет осуществлять доступ к данным посредством ЛВС;
  • обладает развитой системой репликации, позволяющей избегать конфликтов изменений и чтений информации при многопользовательском доступе к БД.

Глава 2. Проектная часть

2.1. Информационная модель и её описание

Информационной моделью называют схему движения входной, промежуточной и результативной информации и функций предметной области. Также с помощью информационной модели объясняется с помощью каких входных данных (документов) и какой нормативно-справочной информации происходит выполнение основных функций. Информационная модель проектируемой ИС представлена на рисунке 4.

Рисунок 4. Информационная модель

В соответствии с составленной информационной моделью Пользователи могут может работать со всеми справочниками информационной системы.

Также пользователи могут добавлять вводить данные о выдаче и приеме книг, а также формировать выходные документы: отчет о движении книг, список выданных книг.

2.2. Характеристика нормативно-справочной, входной и оперативной информации

В информационной системе используются пять справочников, характеристики которых приведены в таблице 2.

Таблица 2

Справочники информационной системы

№ пп

Название справочника

Ответственный за ведение

Средний объём справочника в записях

Среднюю частоту актуализации

Средний объем актуализации, %

1

Пользователи

Сотрудник библиотеки

2

1 раз в полгода

50

2

Читатели

Сотрудник библиотеки

10

1 раз в месяц

10

3

Книги

Сотрудник библиотеки

10000

1 раз в неделю

10

4

Категории

Сотрудник библиотеки

100

1 раз в месяц

10

5

Авторы

Сотрудник библиотеки

500

1 раз в месяц

10

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

Реквизитный состав каждого справочника представлен в виде таблицы 3.

Таблица 3

Реквизитный состав справочников информационной системы

№ п/п

Наименование справочника

Перечень реквизитов

1

Пользователи

ФИО пользователя

Логин

Пароль

Телефон

2

Читатели

ФИО

Адрес

Телефон

Электронная почта

3

Книги

Наименование

Описание

Код IBSN

4

Категории

Наименование

5

Авторы

ФИО

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

На рисунке 5 изображена форма для работы с записями справочника «Пользователи».

Рисунок 5. Форма Пользователь

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

Перед сохранением данных проверяется наличие пользователей с таким же логином (каждый пользователь должен иметь уникальный логин), сложность введенного пароля (минимум одна цифра и один прописной знак).

Формы для работы с записями других справочников имеют аналогичный вид (Рисунок 6-9).

Рисунок 6. Форма Читатель

Рисунок 7. Форма Книга

Рисунок 8. Форма Категория

Рисунок 9. Форма Автор

В качестве входных данных для информационной системы выступают данные о выдаче книг. Эти данные вводятся в ИС с помощью специальной формы, приведенной на рисунке 10.

Рисунок 10. Форма для добавления данных о выдаче книг

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

2.3. Характеристика результатной информации

В качестве выходных данных выступают список выданных книг и отчет о деятельности.

Подробное описание выходных данных в таблице 4.

Таблица 4

Описание результатной информации

Наименование

Список выданных книг

Отчет о деятельности

Реквизиты

Код книги;

Название книги;

ФИО читателя;

Дата выдачи;

Срок окончания выдачи

Количество выданных книг за период

Количество возвращенных книг за период

Количество книг на руках на дату формирования

Таблицы, на основе которых формируется

Книги

Читатели

Выдачи

Выдачи

Читатели

Частота формирования

По мере необходимости

По мере необходимости

Способ доставки

Файл в формате Excel

Файл в формате Excel

2.4. Общие положения (дерево функций и сценарий диалога)

Базовый набор функций разработанной информационной системы можно изобразить в виде дерева, изображенного на рисунке 11.

Рисунок 11. Дерево функций

Выполнение функций разработанной информационной системы осуществляется с помощью ведения диалога с пользователем. То есть Пользователь информационной системы выполняет какие-то действия, а программа соответствующим образом на них реагирует. Сценарий диалога с пользователем представлен на рисунке 12.

Рисунок 12. Сценарий диалога

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

2.5. Характеристика базы данных

В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД Microsoft SQL Server.

Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 6 таблиц. ER-модель спроектированной базы данных представлена на рисунке 13.

Рисунок 13. ER-модель базы данных

Описание всех таблиц базы данных представлено в таблицах 5-10.

Таблица 5

Таблица users

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код пользователя

id

int

4

AI

ФИО пользователя

fio

varchar

120

Логин пользователя

login

varchar

120

Пароль пользователя (в зашифрованном виде)

password

varchar

120

Телефон пользователя

phone

varchar

120

Таблица 6

Таблица reader

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код посетителя

id

int

4

AI

ФИО

caption

varchar

120

Телефон

phone

varchar

120

Email

email

varchar

120

Адрес

address

varchar

120

Таблица 7

Таблица book

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код книги

id

int

4

AI

Наименование

caption

varchar

120

Описание

description

text

65655

IBSN

ibsn

varchar

120

Код категории

categoryid

int

4

FK

Код автора

authotid

int

4

FK

Таблица 8

Таблица category

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код категории

id

int

4

AI

Наименование

caption

varchar

120

Таблица 9

Таблица author

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код автора

id

int

4

Фио автора

fio

int

4

Таблица 10

Таблица motion

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код выдачи

id

int

4

AI

Код книги

bookid

int

4

FK

Код посетителя

readerid

int

4

FK

Код пользователя

userid

int

4

FK

Дата выдачи

givedate

datetime

10

Дата возврата

returndate

datetime

10

Комментарий

comment

TEXT

65566

2.6. Структурная схема пакета (дерево вызова программных модулей)

Проект программы состоит из четырех модулей:

  • модуль Main.pas (главный модуль);
  • модуль Motion.pas (работа с выдачами книг);
  • модуль Connect.pas (настройки соединения с базой данных);
  • модуль Report.pas (модуль для формирования отчетов);
  • модуль Sprav.pas (работа со справочниками).

Подробное описание модулей представлено в виде таблицы 11.

Таблица 11

Описание модулей системы

№ п/п

Наименование модуля

Функции модуля

1.

модуль Main.pas

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

2.

модуль Motion.pas

в данном модуле запрограммированы процедуры для работы с выдачами книг (добавление новой, оформление возврата)

3.

модуль Connect.pas

модуль содержит процедуры и компоненты для инициализации подключения и осуществления всех операций взаимодействия с базой данных (отправки SQL-запросов и обработка результатов их выполнения)

4

модуль Report.pas

модуль содержит процедуры для формирования отчетов и выгрузки их в Excel

5

модуль Sprav.pas

модуль содержит процедуры и компоненты для выполнения основных операций со справочниками информационной системы (просмотр, добавление, изменение, удаление записей)

Дерево вызова программных модулей приведено на рисунке 14.

Рисунок 14. Дерево вызова программных модулей

2.7. Описание программных модулей

После запуска программы инициализируется подключения к базе данных. Соединение с базой данных осуществляется с помощью технологии ADO.

Данная технология связи с хранилищами данных завоевала особую популярность у разработчиков, благодаря своей универсальности – базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Windows. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO, после этого можно переносить созданный программные продукт на любой компьютер, где имеется требуемая база данных и, конечно, установленная ADO.

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

Технология ADO обеспечивает универсальный доступ к хранилищам (источникам) данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к хранилищам (источникам) данных разных типов. То есть, приложение, использующее в своей работе ADO может использовать в качестве источника любое хранилище, поддерживающее ADO, будь это локальная СУБД или серверная, или даже электронные таблицы. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.

OLE DB по сути представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов.

В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.

Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO. При этом существенно расширяется само понятие данных – ведь можно разработать набор объектов и интерфейсов и для нетрадиционных табличных данных. Например, это могут быть графические данные геоинформационных систем, древовидные структуры из системных реестров, данные CASE-инструментов и т. д.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

Форма работы со справочниками системы работают напрямую с таблицами базы данных, поэтому для их работы используется компонент Adotable. Данный компонент представляет собой виртуальную копию таблицы базы данных, изменения в которой сразу передаются в связанную таблицу БД.

Для работы с выдачами книг и формирования отчетов используется компонент AdoQuery. Данный компонент предназначен для отправки запросов к базе данных и обработки ответов на них. В приложении используются 3 вида запросов:

  • Запросы на выборку;
  • Запросы на добавление данных;
  • Запросы на обновление данных.

Для получения практически любых данных любого количества таблиц базы данных используется оператор запроса SELECT.

Этот оператор выбирает записи из базы данных и имеет самую сложную структуру, по сравнению с другими операторами языка SQL. Данный оператор позволяет не только выбирать записи из базы данных, удовлетворяющие заданному условию, но также и настраивать параметры отображения этих записей, таких как сортировка и группировка. А использование агрегатных функций позволяет подсчитывать необходимые данные.

Для обновления данных, хранящихся в базе данных используется оператор UPDATE, для добавления новых – оператор INSERT.

Следует отметить, что технология ADO позволяет писать запрос в объекте AdoQuery на классическом языке SQL, без учета особенностей СУБД, используемой в качестве хранилища данных. Это является значимым преимуществом, т.к. позволяет легко переводить программные средства с одной СУБД на другую, в зависимости от условий эксплуатации и требований к ней.

Программные модули состоят из процедур, которые обрабатывают различные действия пользователя (нажатия на кнопки, ввод текста в поля и т.д.) нужным образом.

Исходный код всех процедур с комментариями представлен в приложении.

2.8. Контрольный пример реализации проекта и его описание

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

C:\Users\Mixa\YandexDisk\Скриншоты\2017-08-20_23-35-00.png

Рисунок 15. Форма авторизации

После успешного прохождения авторизации пользователю отображается главное окно программы, в котором в виде таблицы представлены все выдачи книг в обратном хронологическом порядке, то есть сначала более новые, затем боле старые (Рисунок 16).

Рисунок 16. Главная форма со списком выдач

Для переключения между функциями программы необходимо использовать главное меню (Рисунок 17).

Рисунок 17. Главное меню

Чтобы добавить новую выдачу нужно выбрать пункт меню «Выдать книгу», откроется форма добавления новой выдачи (Рисунок 18).

Рисунок 18. Форма выдачи книги

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

Рисунок 19. Форма работы с выдачей

Форма работы со всеми справочниками имеет общий вид: большую часть формы занимает таблица с записями справочника, а над ней расположены кнопки для открытия формы добавления или изменения записи, либо удаления записи их справочника (Рисунок 20).

Рисунок 20. Форма работы со справочником

Для формирования отчетов необходимо выбрать соответствующий пункт в главном меню. Список книг на руках формируется сразу и выгружается в программу Excel (Рисунок 21).

Рисунок 21 – Список выданных книг

Для формирования отчета о деятельности необходимо ввести интервал дат с помощью соответствующей формы (Рисунок 22).

Рисунок 22 – Форма ввода интервала дат

Сформированный отчет также выгружается в программу Excel (Рисунок 23).

Рисунок 23 – Отчет о деятельности

ЗАКЛЮЧЕНИЕ

В ходе проделанной работы были решены следующие задачи:

  • Была проанализирована текущая организация бизнес-процесса учета движения библиотечного фонда, были выделены основные этапы выполнения бизнес-процесса, изучен возникающий документооборот;
  • Были выбран проектные решения по информационному обеспечению и программному, в качестве среды разработки была выбрана Delphi7, а в качестве СУБД – Microsoft SQL Server;
  • Была составлена информационная модель информационной системы, которая отражает пути преобразования входной информации в выходную;
  • Была разработана база данных и программные модули, реализующие работу ИС.
  • Был описан контрольный пример реализации проекта.

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

СПИСОК ЛИТЕРАТУРЫ

  • ГОСТ 2.105 – 95. Общие требования к текстовым документам.
  • ГОСТ 7.32 – 2001. Отчет по научно-исследовательской работе. Структура и правила оформления.
  • ГОСТ 7.82-2001. Библиографическое описание электронных ресурсов.
  • ГОСТ 24.702-85 Эффективность автоматизированных систем управления.
  • ГОСТ Р 7.0.5-2008. Библиографическая запись. Библиографическое описание.
  • Агальцов В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 272 с.
  • Гагарина Л.Г. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие. М.: ИД «ФОРУМ»: ИНФРА-М, 2013. 384 с.
  • Горбаченко В.И., Убиенных Г.Ф. Бобрышева Г.В. Проектирование информационных систем с СА Erwin Modeling Suite 7.3. Пенза: Изд-во ПГУ, 2012, 154 c.
  1. Зуев Е.А. Программирование на языке Delphi 6.0,7.0. – М.: Радио и связь, Веста, 2016. - 186 с.
  • Калмыков Ю.В. Учебно-методичское пособие по обучению программированию на языке Delphi для школ, 2014. – 100 с.
  • Карпова И.П. Базы данных: Учебное пособие. – Спб.: Питер, 2013. – 240 с.
  • Кузин А.В., Левонисова С.В. Базы данных: Учебное пособие для студ. высш. учеб. заведений. – М.: ИЦ Академия, 2012. – 320с.
  • Культин Никита – Основы программирования в Delphi, 2015 – 232 с.
  • Маклаков С. В. Моделирование бизнес-процессов с AllFusion Process Modeler (BPwin 4.1) / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2013. – 340 c.
  • Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2015. – 512 c.
  • Тельнова, Ю.Ф. Проектирование экономических информационных систем: учеб. / под ред. Ю. Ф. Тельнова. М. : Горячая линия, 2015 — 345 c.
  • Фуфаев Д.Э. Фуфаев Э.В. Разработка и эксплуатация автоматизированных информационных систем: учебник дя студ. М.: Издательский центр «Академия», 2013. 304 с.
  • Шаньгин В.Ф. Информационная безопасность компьютерных системы и сетей: Учебное пособие. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 416 с.

ПРИЛОЖЕНИЯ

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, Menus, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids, comobj,

ExtCtrls;

type

TFrm1 = class(TFrm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

Label1: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

Label2: TLabel;

Edt2: TEdt;

BitBtn2: TBitBtn;

Adotbl1: TAdotbl;

Adotbl1Id: TAutoIncField;

Adotbl1FIO: TWideStringField;

Adotbl1Phone: TWideStringField;

Adotbl1Address: TWideStringField;

Adotbl1Passport: TWideStringField;

DataSource1: TDataSource;

DataSource2: TDataSource;

Adotbl2: TAdotbl;

Adotbl2id: TAutoIncField;

Adotbl2caption: TWideStringField;

Adotbl2path: TWideStringField;

PopupMenu1: TPopupMenu;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

PopupMenu2: TPopupMenu;

N8: TMenuItem;

ADOQuery1: TADOQuery;

N9: TMenuItem;

N10: TMenuItem;

BitBtn3: TBitBtn;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

produre N3Click(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmShow(Send: TObject);

produre Edt1Change(Send: TObject);

produre N7Click(Send: TObject);

produre N8Click(Send: TObject);

produre N5Click(Send: TObject);

produre N6Click(Send: TObject);

produre N4Click(Send: TObject);

produre N2Click(Send: TObject);

produre FrmResize(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm1: TFrm1;

implementation

uses shabl;

{$R *.dfm}

produre TFrm1.N3Click(Send: TObject);

begin

frm1.Close;

end;

produre TFrm1.BitBtn1Click(Send: TObject);

begin

Edt1.Clear;

Edt1.SetFocus;

end;

produre TFrm1.BitBtn2Click(Send: TObject);

begin

Edt2.Clear;

Edt2.SetFocus;

end;

produre TFrm1.FrmShow(Send: TObject);

begin

Adotbl1.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

Adotbl2.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.Edt1Change(Send: TObject);

begin

if Edt1.text<>'' then

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='FIO like %'+Edt1.Text+'%';

DbGrid1.DataSource.DataSet.Filtered:=true;

end

else

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='';

end;

end;

produre TFrm1.N7Click(Send: TObject);

begin

Dbgrid2.DataSource.DataSet.Close;

DbGrid2.DataSource.DataSet.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.N8Click(Send: TObject);

begin

Dbgrid1.DataSource.DataSet.Close;

DbGrid1.DataSource.DataSet.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

end;

produre TFrm1.N5Click(Send: TObject);

begin

if not DbGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

Frm2.Edt1.Text:=DbGrid2.DataSource.DataSet.FieldByName('caption').AsString;

Frm2.Edt2.Text:=DbGrid2.DataSource.DataSet.FieldByName('path').AsString;

Frm2.Caption:='Редактирование шаблона';

Frm2.Label3.Caption:= DbGrid2.DataSource.DataSet.FieldByName('id').AsString;

Frm2.show;

end;

end;

produre TFrm1.N6Click(Send: TObject);

var

s: string;

begin

s := InputBox('Ввод данных','Необходимо указать название нового шаблона','');

if s<>'' then

begin

With AdoQuery1 do

begin

close;

SQL.Clear;

SQl.add('INSERT INTO shablon (caption) VALUES ( :caption )');

Parameters.ParamByName('caption').Value:=s;

EXECSQL;

end;

n7.Click;

end;

end;

produre TFrm1.N4Click(Send: TObject);

var

Word:Variant;

begin

if not DBGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

if fileExists(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString);

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+DbGrid2.DataSource.DataSet.FieldByName('path').AsString+' не найден в папке shablon.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end;

produre TFrm1.N2Click(Send: TObject);

begin

n7.Click;

n8.Click;

end;

produre TFrm1.FrmResize(Send: TObject);

begin

panel1.Width:=Round((frm1.Width-50)*0.5);

panel2.Width:=Round((frm1.Width-50)*0.5);

panel1.Width:=Round(frm1.Width*0.5);

BitBtn3.Left:=Round(panel5.Width*0.5)-Round(Bitbtn3.Width*0.5);

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.26);

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.26);

end;

end.

unit shabl;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, StdCtrls, Buttons, DB, ADODB, comobj;

type

TFrm2 = class(TFrm)

Label1: TLabel;

Label2: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

Edt2: TEdt;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

OpenDialog1: TOpenDialog;

Label3: TLabel;

ADOQuery1: TADOQuery;

produre BitBtn3Click(Send: TObject);

produre Edt1Change(Send: TObject);

produre Edt2Change(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmClose(Send: TObject; var Action: TCloseAction);

produre BitBtn4Click(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm2: TFrm2;

implementation

Uses main;

{$R *.dfm}

produre TFrm2.BitBtn3Click(Send: TObject);

begin

Frm2.Close;

end;

produre TFrm2.Edt1Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.Edt2Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.BitBtn1Click(Send: TObject);

begin

openDialog1.InitialDir := GetCurrentDir;

if opendialog1.Execute then

begin

if FileExists(opendialog1.FileName) then

begin

Edt2.Text:=Opendialog1.FileName;

end;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

CopyFile(Pchar(Edt2.text), Pchar(ExtractFilePath(ParamStr(0))+'shablon\'+ExtractFileName(OpenDialog1.Filename)), true) ;

caption:=copy(caption,0,length(caption)-2);

close;

Frm1.N7.Click;

end;

produre TFrm2.FrmClose(Send: TObject; var Action: TCloseAction);

begin

if copy(caption,length(caption)-1,1) = '*' then

begin

If MessageBox(Handle,PChar('Данные были изменены. Сохранить изменения?'),PChar('Подтверждение'),MB_ICONINFRMATION+MB_YESNO+MB_DEFBUTTON2)=IdYes

then BitBtn2.Click;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

produre TFrm2.BitBtn4Click(Send: TObject);

var

Word:Variant;

begin

if fileExists(Edt2.text) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(Edt2.text);

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+Edt2.text+' не найден.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end.

unit Connect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

Uses DataM;

{$R *.dfm}

procedure TForm5.BitBtn1Click(Sender: TObject);

var

SetF : TextFile;

s:array[1..9] of string;

i:integer;

begin

if Edit1.text='' then begin showmessage('Укажите имя сервера'); exit; end;

if Edit2.text='' then begin showmessage('Укажите логин'); exit; end;

if Edit3.text='' then begin showmessage('Укажите пароль'); exit; end;

if Edit4.text='' then begin showmessage('Укажите имя базы данных'); exit; end;

AssignFile(SetF, ExtractFilePath(ParamStr(0))+'SetF.cfg');

reset(SetF);

For i:=1 to 4 do Readln(Setf,s[i]);

closeFile(SetF);

s[1]:=edit1.text;

s[2]:=edit2.text;

s[3]:=edit3.text;

s[4]:=edit4.text;

Rewrite(SetF);

For i:=1 to 9 do Writeln(Setf,s[i]);

closefile(Setf);

Close;

end;

end.