Смекни!
smekni.com

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

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

Таблица 2. Описание связей

Наименование связи Правило удаления Правило обновления
Справочник факультетов®Справочник групп RESTRICT CASCADE
Справочник групп®Список студентов RESTRICT CASCADE
Список студентов®Книга лицевых счетов RESTRICT CASCADE
Список студентов®Книга оплат RESTRICT CASCADE
Книга выписок банка®Книга оплат CASCADE CASCADE
Справочник групп®Архив списка студентов RESTRICT CASCADE
Список студентов®Архив книги оплат RESTRICT CASCADE
Архив списка студентов®Архив лицевых счетов RESTRICT RESTRICT
Архив списка студентов®Архив книги оплат RESTRICT RESTRICT
Архив книги выписок®Архив книги оплат RESTRICT RESTRICT

Ведение индексов:

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

Индексы содержат уникальные идентификаторы записей и дополнительную информацию об организации данных. Поэтому получение данных при выполнении запроса с помощью индексов занимает значительно меньше времени [4].

По определениям первичных и вторичных ключей СУБД автоматически строит индексы.

В БД существуют следующие индексы:

Справочник факультетов:

-по коду факультета (PK);

Справочник групп:

-по номеру группы (PK);

-по коду факультета;

Справочник студентов:

-по коду студента (PK);

-по Ф.И.О. студента;

-по номеру группы и Ф.И.О. студента;

Книга лицевых счетов:

-по идентификатору счета (PK);

-по коду студента;

Книга выписок банка:

-по идентификатору выписки (PK);

-по номеру выписки;

-по дате выписки;

Книга оплат:

-по идентификатору оплаты (PK);

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

-по коду студента;

Архив списка студентов:

-по коду студента (PK);

-по Ф.И.О. студента;

-по номеру группы и Ф.И.О. студента;

Архив книги лицевых счетов:

-по идентификатору счета (PK);

-по коду студента;

Архив книги выписок банка:

-по идентификатору выписки (PK);

-по номеру выписки;

-по дате выписки;

Архив книги оплат:

-по идентификатору оплаты (PK);

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

-по коду студента.

Хранимые процедуры:

Хранимая процедура – это модуль, написанный на процедурном языке InterBase и хранящийся в БД.

Преимущества хранимых процедур:

-одна процедура может использоваться многими приложениями;

-разгрузка приложений клиента путем переноса части кода на сервер и вследствие этого – упрощение клиентских приложений;

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

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

В БД были созданы процедуры для архивации и получения оборотной ведомости. Тексты процедур приведены в приложении 2.

Создание БД:

Вся база данных на сервере InterBase хранится в одном файле с расширением GDB. Для создания, изменения и удаления объектов базы данных используется язык SQL.

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

3.2 Описание функциональной структуры программного комплекса

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

-ведение договоров на обучение;

-ведение лицевых счетов студентов;

-учет оплаты за обучение;

-ведение нормативно-справочной информации;

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

-ведение архивов.

В составе программного комплекса ведутся следующие справочники:

-справочник студентов;

-справочник групп;

-справочник факультетов.

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

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

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

Через определенное время проводится закрытие периода (архивация). При этом вся информация о студентах, лицевых счетах, выписках банка и оплатах переносится в архивы.

Функция по ведению нормативно-справочной информации реализована с помощью модулей Facul.pas, Group.pas, Student.pas. Модуль Facul.pas реализует просмотр и редактирование справочника факультетов. С помощью модуля Group.pas осуществляется просмотр и редактирование справочника групп. Модуль Student.pas выполняет функцию просмотра данных из списка студентов. Редактирование списка студентов осуществляется с помощью модуля StudentDlg.pas. К нормативно-справочной информации кроме данных о студентах, группах и факультетах относится информация как реквизиты ВУЗа и реквизиты банка. Просмотреть и отредактировать эту информацию можно с помощью модулей Bank.pas и Params.pas. В модулях Student.pas и StudentDlg.pas также реализуется функция ведения договоров на обучение.

Функция ведения лицевых счетов реализована в модуле Schet.pas, с помощью которого можно просмотреть и отредактировать суммы, начисленные для оплаты одному из студентов, и в модуле Oplat.pas, с помощью которого можно просмотреть все оплаты, относящиеся к данному студенту.

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

Функция ведения архивов осуществляется с помощью модулей Arh.pas (реализуется проведение архивации), ArhStudent.pas, ArhSchet.pas, ArhOplatStud.pas, ArhVypis.pas (просмотр архивов).

В программном продукте предусмотрена возможность получения различных отчетов. Формирование отчетов реализуется с помощью модулей KvitDlg.pas, KvitRep.pas (получение квитанции), Oborot.pas, OborotRep.pas (получение оборотной ведомости), Dolg.pas, DolgRep.pas (получение ведомости задолженников).

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

- About.pas – модуль, предназначенный для вывода окна «О программе»;

- DataModule.pas – модуль данных, который представляет собой контейнер, где расположены все невизуальные компоненты доступа к данным, такие как TIBDataBase, TIBTransaction, TIBQuery, TDataSource;

- Main.pas – модуль, который соединен с главным меню программы.

Описание всех модулей, входящих в состав проекта, содержится в файле проекта Oplata.dpr, который представляет собой программу, предназначенную для обработки ее компилятором Delphi.

3.3 Руководство пользователя

Главное меню программы:

При запуске программы на экране появляется диалоговое окно для ввода имени пользователя и его пароля.

Если имя и пароль введены правильно, то на экране появляется основная форма, содержащая главное меню программы (рис.10). В противном случае на экран выводится предупреждение о том, что данные введены неправильно.


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

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

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

Главное меню включает следующие пункты:

Данные:

-Выписки банка (кнопка

) – для вызова книги выписок банка;

-Студенты (кнопка

) – для вызова списка студентов;

-Группы (кнопка

) – вызов справочника групп;

-Факультеты (кнопка

) – вызов справочника факультетов;

-Выход;

Отчеты:

-Оборотная ведомость (кнопка

) – вызов формы для получения оборотной ведомости;

-Должники (кнопка

) – вызов формы для получения ведомости должников;

Архивы:

-Закрытие периода (архивация) – вызов диалогового окна для проведения процедуры архивации;