Таким образом, следует задать вызов страниц для каждой из кнопок навигационного меню.
Итак, страницы созданы, навигация по ним
настроена. Теперь можно распределять элементы. Но прежде мы настроим
подключение к базе данных.
.3.2 Этап второй: создание модуля данных и подключение к базе
Стоит отметить, что взаимодействие приложений с базами данных на этапе проектирования и в дальнейшем осуществляется с помощью двух типов компонентов: визуальных и не визуальных, причём нормальное функционирование первых всегда зависит от наличия вторых, поскольку те являются прослойкой (каналом доступа) к базам данных.
Хороший тон программирования требует отделять не визуальные компоненты (если их много) в отдельные структуры, которые будут вносить ясность в логику проектирования приложения. Такими структурами являются модули данных. Они так же не имеют визуального представления, а являются лишь контейнерами (хранителями) данных. Создадим такой модуль в нашем проекте.
Добавление модуля данных осуществляется через File
> New > Other…
Рисунок 22 - Создание модуля данных
Созданный модуль данных (рисунок 23) будет
помещён в файл Unit2.
Переименуем модуль данных (Name)
в DM.
Рисунок 23 - Модуль данных
Займемся теперь подключением программы к базе данных.
Центральный доступ к базе данных осуществляет компонент TADOConnection. Переместим его на модуль с вкладки компонентов “dbGo”. Данный компонент предназначен для управления соединением с объектами хранилища данных ADO, обеспечивает доступ к хранилищу данных компонентам ADO, инкапсулирующим набор данных. Проще говоря, все запросы к базе данных и все её ответы будут проходить через этот компонент.
Перед открытием соединения необходимо задать его параметры. Это можно осуществить с помощью специального редактора параметров соединения, который вызывается двойным щелчком на компоненте TADOConnection, или щелчком на кнопке в поле редактирования свойства ConnectionString в Инспекторе объектов. Здесь можно настроить соединение через свойство ConnectionString (радиокнопка Use Connection String) или загрузить параметры соединения из файла с расширением udl (радиокнопка Use Data Link File).
Файл UDL представляет собой обычный текстовый файл, в котором указывается название параметра и через знак равенства его значение. Параметры разделяются точкой с запятой.
Использование в качестве параметров выгрузку из
файла UDL
предпочтительнее, поскольку при изменении местоположения базы данных не
потребуется перекомпиляция программы из-за корректировки одной лишь строчки.
Создадим текстовый файл в папке проекта, в котором напишем следующий текст:
[oledb]
; Everything after this line is an
OLE DB initstring=Microsoft.Jet.OLEDB.4.0;Source=tests.mdb;
Security
Info=False
В данном случае база данных
находится непосредственно в папке проекта, поэтому в подстроке Data
Source в качестве
параметра указано лишь имя файла базы данных (=tests.mdb).
При ином раскладе, путь к БД используется полный.
Сохраним изменения, а после изменим расширение файла на *.UDL.
Имя изменим на “base”.
Теперь следует выбрать в качестве строки параметра подключения готовый UDL
- файл (рисунок 24).
Рисунок 24 - Выбор строки подключения
Успешность подключения можно проверить, назначив свойству Connected значение “true”. Если свойство сумело перевестись в это значение, значит связь работает.
Связь с базой данных установлена. Теперь нам нужно позаботиться над вопросом отправки запросов к базе данных и обработке полученных результатов. Для решения этих задач служат два компонента TADOTable с вкладки компонентов “dbGo” и TDataSource с вкладки “Data Access”. Первый обеспечивает применение запросов SQL при работе с данными через ADO, но не умеет отображать полученную информацию в формах приложения. Второй же является связующим звеном между наборами данных, представленных компонентами TADOTable и визуальными компонентами отображения и управления данными. Вместе они обеспечивают манипулирование данными из базы.
Разместим компонент TADOTable в модуль DM, после переименуем его в VyborTemyTestaTable. Укажем для него в свойстве “Connection” созданный ранее ADOConnection. Теперь добавим TDataSource, переименуем его в VyborTemyTestaSource. Свойством “Dataset” для него укажем VyborTemyTestaTable. Данная связка двух компонентов (рисунок 25) обеспечит нам полную работу с таблицей Clients, находящейся в базе данных.
Рисунок 25 - Связка Table
+ DataSource для таблицы
ТемыТестов
Теперь, следуя аналогии создания вышеописанной
связки, создадим связки для всех таблиц из базы данных (рисунок 26).
Рисунок 26 - Состав модуля данных
На (рисунок 26) красным выделен TempQuery, который не имеет связку DataSource. Этот отдельный Query не связан конкретно с какой-либо таблицей; он будет работать с промежуточными запросами.
Теперь всё готово для манипуляции данными из
базы.
.4 Real-time
работа системы
Запуск системы осуществляется посредством
открытия исполняемого файла - project1.exe.
.4.1 Авторизация
При старте программы пользователь попадает на страницу авторизации (рисунок 27). До тех пор пока авторизация не осуществлена - переход по навигационному меню невозможен. Поскольку типов пользователей в системе - два, соответствующая роль выбирается в выпадающем списке. Если требуется создать новый аккаунт, то используется кнопка “новый аккаунт”. Через данную страницу так же осуществляется выход из системы.
Рисунок 27 - Страница авторизации
В случае успешной авторизации, при выборе роли
студента, ему становится доступен переход к разделу тестирования. Для роли
преподавателя успешная авторизация открывает доступ к дополнительным разделам
системы. В этом случае навигация имеет следующий вид (рисунок 28).
Рисунок 28 - Авторизован преподаватель
.4.2 Разработка тестов
При переходе к разделу разработки тестов,
пользователь увидит следующую страницу (рисунок 29).
Рисунок 29 - Раздел разработки тестов
Данный раздел содержит список всех тестов имеющихся в базе, а так же конструктор для создания новых. Кнопки управления на странице позволяют добавлять, удалять и переименовывать темы тестов и, непосредственно, тесты, содержащиеся в них. Выбор конкретного теста осуществляется через выпадающий список. Правый щелчок мыши по списку отобразит окно параметров выбранной записи.
Чтобы отредактировать уже имеющийся в базе тест, используется кнопка “Импорт теста в конструктор”. Для сохранения тестов в базу используется кнопка “Экспорт теста из конструктора в БД”.
Сам конструктор представляет из себя две области
- таблицу вопросов и область редактирования (рисунок 30).
Рисунок 30 - Области конструктора
Табличная часть содержит список вопросов и
описание типа каждого из них. Для добавления/удаления вопросов вызывается
контекстное меню правой кнопкой мыши по данной области (рисунок 31).
Рисунок 31 - Меню добавления/удаления вопросов
Можно комбинировать типы вопросов в любой форме.
Заполнение контекста вопроса вызывается двойным кликом мыши по номеру вопроса. Структура вопроса автоматически сгенерируется в области редактирования.
Обновление структуры вопроса происходит после нажатия кнопки “Построить”, для сохранения структуры вопроса в конструктор вызывается кнопка “Сохранить”.
После того как тест из конструктора будет
загружен в базу, он станет доступен и в разделе тестирования.
.4.3 Раздел выбора теста
При переходе к разделу тестирования,
пользователь увидит следующую страницу (рисунок 32).
Рисунок 32 - Страница выбора теста
На странице расположены два списка: список тем тестов и названий тестов содержащихся в них.
Нужный тест выбирается в списке
и нажимается кнопка “Пройти выбранный тест”. Система выведет дополнительную
информацию о тесте и запросит у пользователя подтверждение на запуск
тестирования (рисунок 33).
Рисунок 33 - Подтверждение запуска тестирования
При ответе - “Да’ пользователем, система сгенерирует “тело” теста и запустит таймер, заданный в параметрах.
Каждый вопрос теста расположен на отдельной странице. Переход по вопросам осуществляется через пронумерованные ярлычки (рисунок 34).
Система автоматически подсчитает количество
верных ответов и выведет результат на экран (рисунок 35).
Рисунок 34 - Процесс тестирования
Рисунок 35 - Окно результата
Отличие прохождения теста преподавателем от
студента в том, что результаты не сохраняются в базу и служат проверкой теста
на корректность.
.4.4 Статистика
Мониторинг результатов отображён в разделе
“Статистика” (рисунок 36). По умолчанию выводятся результаты за прошлый
пройденный тест.
Рисунок 36 - Раздел статистики
Система позволяет отобразить интересующие
результаты тестирования, используя так же поиск по критериям. При желании, из
исходных данных можно сформировать отчёт - кнопка “Сохранить отчёт”.
.4.5 Администрирование
Раздел “Администрирование” выполняет две функции:
) Управление аккаунтами преподавателей. Регистрация новых преподавателей аналогична с регистрацией аккаунтов студентов на главной странице.
) Указание пути к базе данных.
Отображение страницы данного раздела
представлено на (рисунок 37).
Рисунок 37 - Раздел администрирования
ЗАКЛЮЧЕНИЕ
В результате проделанной работы можно выделить следующие моменты:
для первой главы
произведен анализ и описание предметной области АИС «Система тестирования»
была разработана DFD-модель данной предметной области
описано проектирование базы данных методом «Сущность - связь»
определены внешние и первичные ключи отношений
спроектированы логическая и физическая модели с помощью CASE- средств ERWin Data Modeler r7
для второй главы
было описано программное обеспечение АИС «Система тестирования»
обоснован выбор СУБД и ИСР
описано проектирование базы данных на конкретной СУБД (Access)
описана разработка клиентской части АИС «Система тестирования»
в целом
получены теоретические сведения по АИС и базам данных
приобретены навыки моделирования процессов
приобретены навыки комплексного моделирования баз данных
приобретены навыки разработки приложений баз данных
разработана АИС «Система тестирования», согласно поставленной цели курсовой работы
Автоматизированная информационная система " Система тестирования" может принести немалую пользу для успешной организации работы с большим потоком людей. АИС такого типа заменяет хранение данных в бумажном или ином виде, больших томов и журналов, а также ускоряет во много раз получение необходимой информации.
В заключении можно сказать, что данная СУБД является законченной и полнофункциональной, то есть она выполняет все поставленные перед ней функции.
база данные автоматизированный тестирование
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Кренке Д. Теория и практика построения баз данных. 9-е изд. - СПб.: Питер, 2005 - 859 c.
2. Грекул В.И., Коровкина Н.Л., Куприянов Ю.В. Проектирование информационных систем. Практикум. М.: Национальный открытый университет «ИНТУИТ», 2012. - 186 c.
3. Кондзюба С.П., Громов В.Н. Delphi 5. Базы данных и приложения: Лекции и упражнения. - Киев: ДиаСофт, 2001. - 592 с.
4. Сорокин А.В. Delphi. Разработка баз данных. - СПб.: Питер, 2005. - 2005. - 477с.
5. Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. - СПб.: Питер, 2004. - 459 с.
6. Хомоненко А.Д., Гофман В.Э. Работа с базами данных в Delphi. - СПб.: БХВ-Питер, 2005. - 640с.
7. Шкрыль А. Разработка клиент-серверных приложений в Delphi. - СПб.: БХВ-Питер, 2006. - 480с.