Скачиваний:
10
Добавлен:
17.06.2023
Размер:
2.07 Mб
Скачать

Заказ

Номер заказа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Фонд

 

 

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

 

 

 

 

 

 

 

Заказчик

 

 

 

 

 

Номер книги

 

 

Дата заказа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дата предполагаемого выполнения

 

 

включает /

 

 

УДК

 

 

Номер книги (FK)

 

 

включаются

 

 

Вид книги

 

 

Автор

 

 

 

 

 

 

 

 

 

 

 

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

 

УДК

 

 

 

 

 

 

 

 

 

 

 

Автор

 

 

Год

 

 

 

 

 

 

 

 

 

 

 

 

Год

 

 

Количество

 

 

 

 

 

 

 

 

 

 

 

 

Количество

 

 

Вид книги

 

 

 

 

 

 

 

 

 

Выдача

 

 

Редактирование

 

Добавление

 

 

 

 

 

Редактирование

 

 

Номер выдачи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дата реального возврата

 

 

 

 

 

 

 

 

 

 

Дата предполагаемого возврата

 

 

 

 

 

 

 

 

 

 

Книга

 

предоставляется к /

 

 

 

 

 

 

Читатель

 

произ водится из

 

 

 

 

 

 

Дата выдачи

 

 

 

 

 

 

 

Читатель

 

 

Номер читателя (FK)

 

 

 

 

 

 

 

оформляет /

Номер книги (FK)

 

 

 

 

 

 

 

Номер читателя

осу ществляется

Возврат

 

 

 

 

 

 

 

 

 

 

Редактирование

 

 

 

 

 

 

 

Телефон

 

 

 

Шт рафы

Пароли

 

 

 

 

 

 

 

 

 

 

 

Паспорт

 

 

 

 

 

Адрес

 

 

 

 

Номер штрафа

 

Номер пароля

 

Ф ИО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер читательского билета

 

 

 

 

Вид

 

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

 

Редактирование

 

 

 

 

 

 

 

 

 

 

Цена за просроченный день

 

Пароль

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3 – Логическая модель данных

Zakaz

zz_id: integer

zz_nazvanie: varchar(100) zz_ch: varchar(50) zz_data_zakaza: datetime zz_pred_vip: datetime zz_avtor: varchar(50) zz_udk: varchar(20) zz_god: integer

zz_kolvo: integer zz_vid: varchar(20) zz_dobav: bit

f_id: integer (FK) EDIT: bit

Chitatel

ch_id: integer

ch_nomer: integer ch_fio: varchar(50) ch_adres: varchar(70) ch_pasport: varchar(11) ch_tel: varchar(11) EDIT: bit

 

 

 

 

Fond

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f_id: integer

 

 

 

 

 

 

 

 

 

 

zz_nazvanie__zz_avtor__zz_vid__zz_udk__zz_god__zz_kolvo

 

f_udk: varchar(20)

 

 

f_vid: varchar(20)

 

 

 

 

 

 

 

 

 

 

 

 

f_nazvanie: varchar(100)

 

 

 

 

 

 

f_avtor: varchar(50)

 

 

Vidacha

 

 

 

f_god: integer

 

 

 

 

 

f_kolvo: integer

 

 

 

 

 

 

 

 

v_id: integer

 

 

 

EDIT: bit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v_kniga: varchar(100)

 

 

 

 

 

 

 

 

v_ch: integer

 

 

 

 

 

 

 

 

v_data: datetime

 

f_nazvanie

 

 

 

 

 

v_pred_vozv: datetime

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v_real_vozv: datetime

 

 

 

 

 

 

 

ch_nomer

ch_id: integer (FK)

 

 

 

 

 

 

 

v_vozvrat: bit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f_id: integer (FK)

 

 

 

 

 

 

 

 

EDIT: bit

 

Shtraf

 

 

Parol

 

 

 

 

 

 

 

 

 

 

 

 

sh_id: integer

 

 

par_id: integer

 

 

 

 

 

 

 

 

 

sh_vid: varchar(20)

 

par_user: varchar(20)

 

 

 

sh_cena: integer

 

par_parol: integer

 

 

 

 

 

 

 

 

 

Рисунок 4 – Физическая модель данных

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

содержит информацию о пользователях, которая используется для входа систему

12

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

которые непосредственно связаны с библиотекой. Кроме того, на физической модели отсутствует такая сущность как «Оплата». Это связано с тем, что данная таблица формируется за счет уже имеющихся таблиц и содержит обобщающую информацию [2-3].

В таблице 2 представлены связи между сущностями.

Таблица 2 - Отношения между таблицами

Родительская таблица

Дочерняя таблица

Тип связи

Fond

Zakaz

1:N

Fond

Vidacha

1:N

Chitatel

Vidacha

1:N

Из таблицы видно, что в БД используется тип связи «один ко многим». Связь

«Фонд – Заказ» предполагает, что заказов может быть несколько, но все они поступают в единственный книжный фонд. Связь «Фонд – Выдача» предполагает,

что из одного фонда может быть осуществлено несколько выдач книг. Связь

«Читатель – Выдача» означает, что одному читателю можно на руки выдать несколько книг.

1.5 Описание таблиц базы данных

Описание таблиц БД представлено в таблице 3 .

Таблица 3 - Описание таблиц БД

 

 

 

 

Свойства

 

Атрибут

Представление

 

Ключевое

Тип

Размер

 

 

 

поле

данных

поля

 

 

 

 

 

 

 

Таблица Chitatel

 

 

 

ch_id

Номер читателя

 

+

integer

long

ch_nomer

Номер читательского билета

 

-

integer

long

ch_fio

ФИО

 

-

string

255

ch_pasport

Паспорт

 

-

string

255

ch_tel

Телефон

 

-

string

255

EDIT

Редактирование

 

-

boolean

-

 

 

 

 

 

 

13

Продолжение таблицы 3

Таблица Fond

f_id

Номер книги

 

+

integer

long

f_udk

УДК

 

-

string

255

f_vid

Вид книги

 

-

string

255

f_nazvanie

Название

 

-

string

255

f_avtor

Автор

 

-

string

255

f_god

Год

 

-

integer

long

f_kolvo

Количество

 

-

integer

long

EDIT

Редактирование

 

-

boolean

-

 

Таблица Shtraf

 

 

 

sh_id

Номер штрафа

 

+

integer

long

sh-vid

Вид штрафа

 

-

string

255

sh_cena

Цена штрафа за день просрочки,

 

-

integer

long

руб.

 

 

 

 

 

 

EDIT

 

 

-

boolean

-

 

Таблица Zakaz

 

 

 

zz_id

Номер заказа

 

+

integer

long

zz_nazvanie

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

 

-

string

255

zz_avtor

Автор

 

-

string

255

zz_ch

Заказчик

 

-

string

255

zz_data_zakaza

Дата заказа

 

-

datetime

-

zz_pred_vip

Дата предполагаемого выполнения

 

-

datetime

-

zz_udk

УДК

 

-

string

255

zz_vid

Вид книги

 

-

string

255

zz_god

Год

 

-

integer

long

zz_kolvo

Количество

 

-

integer

long

zz_dobav

Добавление

 

-

boolean

-

EDIT

Редактирование

 

-

boolean

-

 

Таблица Parol

 

 

 

par_id

Номер пароля

 

-

integer

long

par_user

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

 

-

string

255

par_parol

Пароль

 

-

integer

long

Рассмотрим более подробно сложную таблицу Vidacha (таблица 4).

Таблица 4 - Описание таблицы Vidacha

Таблица Vidacha

 

 

 

Свойства

 

Атрибут

Представление

Ключевовое

Тип

Размер

Подстановка

 

 

поле

данных

поля

 

 

 

v_id

Номер выдачи

+

integer

long

-

v_data

Дата выдачи

-

datetime

-

-

v_ch

Читатель

-

integer

long

ch_nomer

v_kniga

Книга

-

string

255

f_nazvanie

v_pred_vozv

Дата предполагаемого

-

datetime

-

-

возврата

 

 

 

 

 

v_real_vozv

Дата реального возврата

-

datetime

-

-

v_vozvrat

Возврат

-

boolean

-

-

EDIT

Редактирование

-

boolean

-

-

14

Данные из таблицы Zakaz также переходят в таблицу Vidacha, но механика этого процесса иная: при переносе данных в таблицу Vidacha, они удаляются из таблицы Zakaz, т.е. заказ считается выполненным. Логическое поле v_vozvrat

позволяет сделать в дальнейшем вывод о том, есть ли у данного читателя задолженность (штрафы за просрочку книг) [4-6].

1.6 Дерево программных модулей

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

Описание данных модулей представлено в таблице 5 .

Parol (Авторизация)

Main_menu (Основное меню)

Data_modul (Модуль памяти)

 

 

 

Справочники

 

 

 

Отчеты

 

 

Сервис

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fond

 

 

 

 

Zadolgniki

 

 

 

Smena_parol

 

 

 

 

 

(Фонд)

 

 

 

 

(Задолжники)

 

 

 

(Смена пароля)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Chitatel

 

 

 

 

Nevip_zak

 

 

 

 

 

 

 

 

 

(Читатели)

 

 

 

 

(Невыполненные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заказы)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zakaz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Заказы)

 

 

 

 

Dolgniki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Должники)

 

 

 

 

 

 

 

 

 

Vidacha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Выдача)

 

 

 

 

Otbor

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Отбор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

литературы)

 

 

 

 

 

 

 

 

 

Oplata

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Оплата)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sost_fond

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Состояние фонда)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Таблица 5 - Описание модулей программы

 

 

Модуль

Описание

Parol

Форма авторизации пользователя, а также смены пользователя в процессе работы,

относится к условной группе модулей «Сервис».

 

Main_menu

Основное меню программы, из которого обеспечивается доступ ко всем модулям

программы.

 

Data_modul

Модуль, позволяющий связывать БД и программные модули.

Fond

Входит в условную группу модулей «Справочники». Отображает информацию о

фонде библиотеки. Возможно добавление, изменение и удаление записей.

 

 

15

Продолжение таблицы 5

Chitatel

Входит в условную группу модулей «Справочники». Отображает информацию о

читателях библиотеки. Возможно добавление, изменение и удаление записей.

 

Zakaz1

Входит в условную группу модулей «Справочники». Отображает информацию о

заказах книг в библиотеку. Возможно добавление, изменение и удаление записей.

 

 

Входит в условную группу модулей «Справочники». Отображает информацию о

Vidacha

выдаче и возврате книг в библиотеке. Возможно добавление, изменение и удаление

 

записей.

Oplata

Входит в условную группу модулей «Справочники». Отображает информацию об

оплате штрафов читателями. Возможно изменение и удаление записей.

 

Zadolgniki

Входит в условную группу модулей «Отчеты». Формирует список задолжников на

текущий момент времени.

 

Nevip_zak

Входит в условную группу модулей «Отчеты». Формирует список невыполненных

заказов на текущий момент времени.

 

Dolgniki

Входит в условную группу модулей «Отчеты». Формирует список должников на

текущий момент времени.

 

Otbor

Входит в условную группу модулей «Отчеты». Формирует список литературы по

заданным критериям. Возможен вывод на печать.

 

Sost_fond

Входит в условную группу модулей «Отчеты». Формирует отчет о состоянии фонда

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

 

Smena_parol Входит в условную группу «Сервис». Форма для смены пароля пользователямию

1.7 Схемы взаимосвязей модулей и массивов данных На рисунках 6-7 представлены схемы взаимосвязей и массивов данных.

 

Parol

 

 

(Авторизация)

 

 

Main_menu

Data_modul

 

(Основное меню)

(Модуль памяти)

Справочники

Отчеты

Сервис

 

 

 

Zakaz

Nevip_zak

Smena_parol

(Невыполненные

(Заказы)

(Смена пароля)

заказы)

 

 

Chitatel

Dolgniki

 

(Читатели)

 

(Должники)

 

 

 

Vidacha

Zadolgniki

 

(Выдача)

 

(Задолжники)

 

 

 

Oplata

 

 

(Оплата)

Sost_fond

MS Excel

 

 

(Состояние фонда)

 

 

Fond

 

 

(Фонд)

Otbor

 

 

 

 

(Отбор

MS Word

 

литературы)

 

Рисунок 6 - Схема взаимосвязей программных модулей

Связь между модулями осуществляется в основном с помощью модуля памяти.

16

Parol (Авторизация)

Main_menu (Основное меню)

Data_modul (Модуль памяти)

 

 

 

 

 

 

 

 

Отчеты

 

 

 

 

 

База данных

 

 

 

 

 

Сервис

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nevip_zak

 

 

Smena_parol

 

 

Zakazakaz

 

 

 

Zakaz

 

 

 

 

 

 

 

 

 

 

 

(Невыполненные

 

 

 

 

 

 

 

(Заказы)

 

 

 

 

(Смена пароля)

 

 

((ЗаказЗаказы))

 

 

 

 

 

заказы)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Chitatelhitatel

 

 

 

 

 

 

 

 

 

 

 

 

 

Chitatel

 

 

Dolgniki

 

 

 

 

 

((Читателтатели))

 

 

 

 

 

 

 

 

 

 

 

 

 

(Читатели)

 

 

(Должники)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vidachaidacha

 

 

 

 

 

 

 

 

 

 

 

 

(Выдача)

 

 

 

Vidacha

 

 

Zadolgniki

 

 

 

 

 

( дача)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Выдача)

 

 

(Задолжники)

 

 

 

 

 

Shtrafhtraf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

((Штратрафы))

 

 

 

 

 

 

 

 

 

 

 

 

 

Oplata

 

 

Sost_fond

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fondond

 

 

 

(Оплата)

 

 

(Состояние фонда)

 

 

 

 

 

((Фоондд))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fond

 

 

 

 

 

 

 

 

 

 

 

 

(Фонд)

 

 

Otbor

 

 

 

 

 

Parolarol

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Отбор

 

 

 

 

 

((Парольароль))

 

 

 

 

 

 

литературы)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 7 - Схема взаимосвязей программных модулей и массивов данных

Main_menu является главным модулей программы, из которого осуществляется доступ ко всем остальным модулям.

Из Zakaz в Fond книги поступают путем перенесения записей из первой таблицы во вторую. В Vidacha берется информация из модуля Chitatel (ch_nomer).

Модуль Oplata включает в себя, как информацию из модуля Shtraf(sh_cena) из базы данных, так и из «Vidacha» [7-8].

Отчет Nevip_zak формируется исходя из данных модуля Zakaz из базы данных, отчет Dolgniki из Vidacha, отчет Zadolgniki из Oplata, отчет Sost_fond и Otbor из Fond. Также последние отчеты можно вывести в MS Excel и MS Word.

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

Общая схема работы программы представлена на рисунке 8.

17

Начало

 

 

 

 

 

 

 

Не найдена

 

 

 

 

 

Связь с БД

 

Установка

 

 

 

 

 

 

связи с БД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Установлена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вход в

 

 

 

 

 

 

 

 

 

систему

 

 

 

 

Ошибка входа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Авторизация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа со

 

 

 

Работа с

 

Использование

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

 

 

 

отчетами

 

сервиса БД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

Рисунок 8 – Общая схема работы программы

Таким образом, алгоритм работы программы следующий:

1.При запуске программы проверяется связь с БД. Если БД не найдена, то пользователь должен указать путь к БД, после чего осуществляется вход в систему.

2.Пользователь вводит логин и пароль. Если данные указаны не верно –

требуется повторный ввод.

3. При успешной авторизации пользователь попадает в главное меню

программы, из которого он может:

работать со справочниками;

работать с отчетами;

использовать сервис БД (резервное копирование БД, смена пользователя,

смена пароля).

4. Окончание работы с программой.

18

1.8 Алгоритм работы одного из выбранных модулей

Алгоритм обработки программного модуля Otbor представлен на рисунке 9.

Экранная форма модуля представлена на рисунке 10. Текст программы представлен в приложении Б.

Начало

 

Выбор первого элемента поиска

Ввод первого значения для

 

поиска

 

Продолжение ввода

Нет

 

Да

 

Выбор второго элемента поиска

Ввод второго элемента поиска

 

Вывод отобранной

 

литературы

 

Выбор литературы для

 

формирования списка

 

Вывод списка литературы

Конец

Рисунок 9 - Блок-схема модуля Otbor

Рисунок 10 - Экранная форма модуля Otbor 19

Для формирования данной таблицы в БД были использованы следующие SQL

запросы (таблица 6).

Таблица 6 – SQL запросы для формирования отбора и списка литературы

Назначение

 

SQL

Формирование

полного

SELECT * FROM z_Fond;

списка литературы из фонда

 

Поиск по первому критерию

SELECT * FROM z_Fond'+' WHERE '+s1+' LIKE "'+Edit1.Text+'%"';

Поиск по второму критерию

'and '+s2+' LIKE "'+Edit2.Text+'%"';

Формирование

списка

SELECT * from z_Fond2;

литературы

 

 

Очистить список литературы

DELETE from z_Fond2;

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

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

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

1.9 Инструкция пользователя по установке программного продукта и работе

Необходимые требования к аппаратным средствам для работы с программой:

процессор частотой 800Мгц;

объем оперативной памяти не менее 128 Мб;

видеокарта объемом не менее 128 Мб;

монитор;

20

клавиатура;

мышь;

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

Необходимые требования к программным средствам для работы с программой:

ОС Windows XP и выше;

MS Access 2003 и выше версии;

MS Word 2003 и выше версии;

MS Excel 2003 и выше версии.

Для установки программы «Библиотека» на рабочее место, необходимо:

создать папку «Библиотека»;

поместить в эту папку следующие файлы: запускающий файл

«Biblioteka.exe», БД «biblio.mdb», конфигурационный файл «Options.ini».

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

«Biblioteka.exe» двойным нажатием левой кнопки мыши[7-8].

Работа программы начинается с авторизации пользователя (рисунок 11).

Рисунок 11 - Вход в систему

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

21

Соседние файлы в папке Курсовые работы