Материал: Система тестирования

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

.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с.