Интерфейс пользователя
Речь пойдет об интерфейсе клиента, поскольку интерфейс сервера обычно очень прост.
Интерфейс РБД должен быть реализован способом, интуитивно понятным для пользователя-непрофессионала. От пользователя требуются лишь познания в его предметной области.
В качестве средства реализации интерфейса пользователя выбран пакет разработки программного обеспечения Delphi 5, основанный на языке высокого уровня Object Pascal. Пакет позволяет создавать приложения под графические операционные системы семейства Windows. Delphi 5 разрабатывался коллективом той же компании Borland, что и РСУБД InterBase, и потому встроенная ими в Delphi 5 поддержка InterBase является наиболее полной и оптимально функционирующей.
Для создания программ, осуществляющих взаимодействие пользователя с РБД, в системе Delphi традиционно используется механизм Borland Database Engine (BDE).
В стандартную поставку BDE входит два набора драйверов.
- • Первый набор предназначен для файл-серверных СУБД dBase, Paradox, FoxPro, Access и данных в текстовом формате. Эти драйверы реально представляют собой весьма сложные программы, выполняющие множество функций СУБД.
- • Второй набор ориентирован на клиент-серверные РСУБД InterBase, IBM DB2, Informix, Oracle, Sybase и Microsoft SQL Server. Этот набор называется SQL Links. Такие драйверы устроены проще. Они только передают запросы и команды из BDE в РСУБД и получают обратно результаты их выполнения. Всю работу по обработке данных выполняет РСУБД.
Фирмой Microsoft был разработан и стандартный протокол ODBC (Open Database Connectivity Interface, открытый интерфейс взаимодействия с БД), напоминающий работу BDE. Драйверы ODBC выпущены для всех без исключения СУБД, и разработчик может использовать в BDE как драйверы SQL Links, так и драйверы ODBC.
Разработка интерфейса РБД на любом языке высокого уровня является сложной и кропотливой задачей, в отличие от реализации интерфейса в Access, где разработчик руководствуется стандартными шаблонами и методами построения запросов, отчетов и форм.
Интерфейс пользователя БД "Учебный процесс" насчитывает свыше сорока форм, из которых порядка двадцати необходимы для генерации отчетов.
Далее предполагается, что разработчик знаком с работой приложения Delphi в рамках автоматизации программирования и потому процедура создания интерфейса опускается.
При использовании интерфейса возможно обращаться к системе меню или экранных форм. Напомним, что в данном параграфе рассматривается случай с одним пользователем.
Общая схема интерфейса пользователя показана на рис. 14.16. Кратко опишем его элементы Заполнение, Отчеты, Сервис.
Основная экранная форма для элемента Заполнение с системой закладок (кнопок) показана на рис. 14.16. Как видно, доступ возможен через систему меню или экранных форм.
Рис. 14.16. Основная экранная форма элемента Заполнение
На каждой из перечисленных закладок существует набор кнопок, позволяющих выполнять те или иные действия в программе. Для удобства пользователя все действия, вызываемые по нажатию кнопок, могут быть выполнены также с помощью системы меню.
Порядок заполнения таблиц тот же, что и в централизованной БД.
Рассмотрим одну из экранных форм. При нажатии кнопки Специальность появляется экранная форма, показанная на рис. 14.17.
Рис. 14.17. Форма для заполнения данных о специальностях
Данные могут вводиться пользователем, как в поля ввода, так и непосредственно в таблицу, расположенную в нижней части формы. Поле Кафедра связано с таблицей "Кафедра", поэтому оно может принимать только те значения, которые представлены в таблице "Кафедра". Данное поле для исключения ошибок ввода пользователя представлено в виде выпадающего списка, содержащего значения из таблицы "Кафедра". Остальные поля независимые, поэтому могут содержать любые данные. Навигация по записям, а также удаление и добавление записей осуществляется кнопками навигатора Добавить, Удалить.
Замечание. Надо помнить, что при удалении записи из таблицы "Специальность" происходит каскадное удаление к связанных с ней таблицах групп студентов, обучающихся по этой специальности, данные об обучении этих студентов, их проживании в общежитии.
Закладка Отчеты содержит в себе закладки.
- • Деканат.
- • Группа.
- • Сессия.
- • Приказы.
- • Отдел кадров.
- • Договорный отдел.
- • Кафедра.
Рассмотрим содержание одной из закладок.
Закладка Деканат содержит кнопки, генерирующие следующие отчеты.
- • Ведомости – вывод на печать зачетных и экзаменационных ведомостей.
- • Список старост – документ со списком старост по всем группам.
- • Прохождение ИПП – документ, содержащий информацию о прохождении студентами производственной практики.
- • Список кураторов групп.
В данной БД предусмотрен вариант с хранилищем данных.
После того как пользователь заполнит всю информацию о сдаче студентами сессии и сгенерирует в подсистеме ведения отчетов все необходимые и относящиеся к данной сессии документы, можно запустить процедуру автоматической очистки РБД от студентов, не сдавших сессию, а затем выполнить перевод всех студентов, успешно сдавших сессию, на следующий курс.
Процедура переноса в хранилище (архив) осуществляется через элемент Сервис головного меню БД с помощью экранной формы, показанной на рис. 14.18 и кнопки Перенос данных в архив из таблицы "Успеваемость". После переноса данные в таблице "Успеваемость" удаляются.
Рис. 14.18. Перенос данных в архив
В связи с большим объемом данных, перерабатываемых процедурами Очистка базы от несдавших сессию, Перенос данных в архив и Перевод студентов на следующий курс, работа с ними возможна только в монопольном режиме. В противном случае кнопки, запускающие эти процедуры, становятся недоступными. Программа автоматически выводит в окне Список пользователей имена пользователей, работающих в текущий момент с РБД.
Из рис. 14.18 видно, что в данный момент времени с РБД работает один пользователь с именем SYSDBA.
После нажатия на кнопку Очистка базы от не сдавших сессию программа спросит пользователя о согласии на удаление данных и после утвердительного ответа произведет удаление.
Нажатие на кнопку Перенос данных в архив приведет к переносу данных о сдаче текущей сессии студентами в архив, после чего будет очищена таблица "Успеваемость", находящаяся на закладке Успеваемость экранной формы "Предмет".
После выполнения двух вышеописанных процедур пользователь может осуществить перевод студентов на следующий курс. Для этого необходимо нажать на кнопку Перевод студентов на следующий курс. Данная процедура выполняет обновление данных в таблице "Группа", находящейся на одноименной закладке. В результате работы процедура увеличит номер группы на единицу, после чего осуществит коррекцию названий групп, выделив в названии группы последний символ, характеризующий номер группы, и увеличив его значение на единицу.
Рис. 14.19. Архив успеваемости студентов
Кнопка Просмотр архива открывает экранную форму изображенную на рис. 14.19, которая содержит перенесенную ранее в архив информацию об успеваемости студентов.
Данная информация доступна пользователю только для просмотра. Экранная форма содержит таблицу со следующими полями.
- • Номер группы.
- • Номер зачетной книжки.
- • Учебный план.
- • Семестр.
- • Предмет.
- • Преподаватель.
- • Отчетность.
- • Оценка.
- • Отметка.