Диплом: Автоматизация процесса контроля знаний учащихся ГБОУ города Москвы школы №656 А.С. Макаренко

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
63
выходными – соответственно таблица дисциплин, таблица тестов и таблица
сложностей.
Для задачи непосредственного конструирования тестов таблицы
дисциплин, тем и сложностей являются входными данными. Кроме этого
входными данными этой задачи является список тестов и список вопросов
каждого теста, а также список ответов каждого вопроса с указанием всех
параметров. Также в качестве входных данных выступают графические файлы,
содержащие в себе картинки к некоторым вопросам. Выходными данными
подсистемы конструирования тестов является сформированная структура
тестов, которая может рассматриваться и как результат работы системы в
целом.
Структура тестов выступает в качестве входных данных подсистемы
проведения тестирования. Также в качестве входных данных этой подсистемы
выступает идентифицированный в процессе авторизации пользователь.
Выходными данными этой системы является результат теста, который можно
рассматривать как результат работы системы в целом. В этом случае он
оформляется в виде печатной формы результата теста.
В то же время результат теста выступает в качестве входных данных для
подсистемы статистики. Выходными данными данной подсистемы является
анализ результатов статистики, строящейся на выборке результатов тестов.
2.2.3 Характеристика результатной информации
Выходными данными этой системы является результат теста, который
можно рассматривать как результат работы системы в целом. В этом случае он
оформляется в виде печатной формы результата теста.
В то же время результат теста выступает в качестве входных данных для
подсистемы статистики. Выходными данными данной подсистемы является
анализ результатов статистики, строящейся на выборке результатов тестов.
64
2.3 Программное обеспечение задачи
2.3.1 Общие положения (дерево функций и сценарий диалога)
Дерево функций создаваемой системы представлено на рисунке 2.3.
Рисунок 2.3 – Дерево функций
Функции
Основные
Служебные
Ведение списка
дисциплин
Ведение списка
тем
Ведение списка
тестов
Проверка пароля
Регистрация
Администрирова
ние списка тем
Ведение списка
вопросов и
ответов
Ведение списка
пользователей
Результаты
65
Сценарий диалога представлен на рисунке 2.4.
Рисунок 2.4 – Сценарий диалога
2.3.2 Характеристика базы данных
Вся информация, используемая при работе приложения хранится в базе
данных. В качестве базы данных выбрана база данных Paradox. То есть база
данных является каталогом на диске, в котором сосредоточены таблицы базы
Основное меню
Регистрация
Вход
Предметы
Наименование
Тема тестов
Тема тестов
Параметры
теста
Редактирование
дисциплин
Вопросы и
ответы
Администратир
ование
Выъод
66
данных в виде файлов данных и индексов к ним.
Как и другие реляционные базы данных разработанная база данных
состоит из таблиц. В таблице 2.5 представлено подробное описание структуры
каждой таблицы: наименование, тип и назначение каждого поля, ключи.
Таблица 2.5 – Таблицы базы данных
Наименование
поля
Тип
Разрешит
ь пустое
Клю
ч
Описание
1. users – список пользователей (справочник администраторов,
проверяющих и тестируемых)
ID
Integer
PK
Идентификатор записи
NAME
String(30)
Логин пользователя
FIO
String(30)
+
ФИО пользователя
PASSW
String(10)
+
Пароль пользователя
Admin
Short
Integer
Категория пользователя
2. disc -список дисциплин
ID
Integer
PK
Идентификатор записи
NAME
String(30)
+
Наименование
дисциплины
3. tema – список тем тестов
ID
Integer
PK
Идентификатор записи
ID_DISC
Integer
FK
Идентификатор
дисциплины
NAME
String(30)
+
Наименование темы
4. hard – список сложностей тестов
ID
Integer
PK
Идентификатор записи
NAME
String(10)
+
Наименование сложности
K
Number
Коэффициент сложности
5. tests – список тестов
67
ID
Integer
PK
Идентификатор записи
ID_TESTS
Integer
FK
Идентификатор теста
NAME
String(25
4)
+
Текст вопроса
NAVIGATION
Logical
+
Признак разрешения
навигации
RANDOM
Logical
+
Признак случайной выдачи
вопросов
SHOWRESULT
Logical
+
Признак отображения
результата теста по
окончании его
прохождения
ONLYANSW
Logical
+
Признак учета в подсчете
результатов теста только
тех вопросов, на которые
даны ответы
ALWAYSJ
Logical
+
Признак обязательной
записи результатов теста в
журнал
ALLRIGHT
Logical
+
Признак правильности
всех ответов
OPROS
Logical
+
Признак теста-опроса
6. quest – список вопросов
ID
Integer
PK
Идентификатор записи
ID_TESTS
Integer
FK
Идентификатор теста
PICT
Blob
+
Картинка вопроса
7. answer – список ответов
ID
Integer
PK
Идентификатор записи
ID_QUEST
Integer
FK
Идентификатор вопроса
68
NAME
String(25
4)
+
Текст ответа
VES
Number
+
Вес ответа
8. jornal – журнал результатов прохождения тестов
ID
Integer
PK
Идентификатор записи
IDUSER
Integer
FK
Идентификатор
пользователя
IDTEST
Integer
FK
Идентификатор теста
COUNTQ
Integer
+
Количество вопросов в
тесте
RESULT
Number
+
Результат теста
DATA
Date
+
Дата прохождения теста
TBEGIN
Time
+
Время начала прохождения
теста
TEND
Time
+
Время окончания
прохождения теста
9. inter – интерпритация результатов прохождения тестов
ID
Integer
PK
Идентификатор записи
IDUSER
Integer
FK
Идентификатор
пользователя
IDTEST
Integer
FK
Идентификатор теста
MINRES
Double
Нижняя граница диапазона
результатов
MAXRES
Double
Верхняя граница диапазона
результатов
INTER
Memo
Текстовая интерпретация
результата теста,
попавшего в диапазон
Таблица 1. Структура базы данных.
69
При разработке базы данных было уделено особое внимание обеспечению
ссылочной целостности или целостность на уровне ссылок. Это означает, что
если из одной таблицы есть ссылка на запись другой таблицы, то эта запись
обязательно должна существовать. Ссылочная целостность обеспечена
использованием механизма внешних ключей. Связи между таблицами
представлены на рисунке 2.5.
Рисунок 2.5 - Связи между таблицами базы данных.
Доступ к таблицам базы данных производится из программы при помощи
системы работы с базами данных фирмы Borland BDE. Непосредственное
обращение производится при помощи псевдонима базы данных (алиаса) с
именем TEST. Данный алиас должен быть создан перед первым запуском
программы утилитой BDE Administrator и иметь следующие характеристики:
Type – STANDART;
DEFAULT DRIVER – PARADOX;
ENABLED BCD – FALSE;
70
PATH – полный путь к каталогу базы данных. Данный путь
устанавливается пользователем в процессе инсталляции программы..
В программе для работы с таблицами, добавления, удаления,
редактирования записей используется универсальный язык запросов SQL.
Данный язык позволяет разработчику полностью абстрагироваться от формата и
месторасположения базы данных и одинаково обращаться к данным из баз
разного формата.
2.3.3 Структурная схема пакета (дерево вызова программных модулей)
Для реализации задачи разработки приложения тестирования знаний
учащихся была разработана структура классов, аккумулирующая в себе все
необходимые свойства и функции для выполнения задачи. Разработанная
структура классов соответствует их аналогам в предметной области: тесту,
вопросу и ответу. Объявление и реализация классов выполнены в модуле
Ctest.сpp.
Класс TAnswer представляет из себя сочетание свойств и методов, в
совокупности представляющих из себя объект предметной области «Ответ на
вопрос». Ответ на вопрос в предметной области представляет из себя
совокупность трех параметров: идентификатор ответа в базе данных, текст
ответа и вес ответа. Класс TAnswer эти параметры реализует внутри себя в виде
свойств. Кроме того, имеется конструктор, в котором происходит
первоначальное заполнение этих свойств [19].
Класс TQuestion представляет из себя объединение свойств и методов в
совокупности представляющих из себя объект предметной области «Вопрос
теста». Вопрос теста в предметной области представляет из себя совокупность
таких параметров как идентификатор вопроса в базе данных, текст вопроса,
картинка вопроса, список возможных ответов на вопрос, вычисленный
71
результат вопроса, данный или выбранный пользователем ответ на вопрос.
Каждому из этих параметров соответствует свойство класса TQuestion [20].
Отдельно остановимся на списке ответов. Список ответов в классе
TQuestion представлен свойством Answers, имеющем тип динамический список
(класс TList). При заполнении этого списка в него помещаются динамически
созданные объекты класса TAnswer. В дальнейшем обращение к свойству
Answers происходит как к списку объектов класса TAnswer, используя его
свойства.
Для реализации работы с объектом вопроса в классе TQuestion
предусмотрены методы:
конструктор TQuestion предназначен для выделения памяти под
динамически создаваемые объекты и первоначальное заполнение
параметров объекта класса;
деструктор ~TQuestion – предназначен для освобождения памяти из
под динамически созданных объектов, прежде всего из под списка
ответов;
LoadAnswers – предназначен для выполнения процедуры загрузки
списка ответов и их параметров из базы данных;
GetAnswer – предназначен для получения доступа к объекту типа
TAnswer по его порядковому номеру в списке;
GetCorrectAnswer – предназначен для получения доступа к объекту
типа TAnswer с максимальным весом.
Класс TTest представляет из себя совокупность свойств и методов для
программной реализации объекта предметной области «Тест». Тест в
предметной области характеризуется такими параметрами как идентификатор в
базе данных, наименование теста, сложность теста, ограничение по времени и
параметры теста. В программной реализации к представлению данного объекта
добавлены такие свойства как полное наименование теста, дата и время начала
прохождения теста (свойство BeginDate), дата и время окончания прохождения
72
теста (свойство EndDate), порядковый номер текущего вопроса в тесте
(свойство CurrentQ), количество вопросов, на которые пользователь дал ответ
(свойство CountQA), количетсво вопросов, на которые пользователь дал
правильный ответ, т.е. ответ с весом, отличным от нуля (свойство CorrectA),
вычисленный результат прохождения теста (свойство Res). Отдельно
остановимся на свойстве Questions, представляющий из себя динамический
список типа TList. При заполнении значений этого списка в него помещаются
динамически созданные объекты класса TQuestion. В дальнейшем при
обращении к объектам динамического списка Questions используются свойства
и методы класса TQuestion. Таким образом, объекты динамического списка
представляют из себя вопросы теста, а сам список – список вопросов теста.
Для реализации работы с объектом предметной области «Тест» в
программной реализации класса TTest предусмотрены следующие методы:
конструктор TTest предназначен для выделения памяти для
динамически создаваемых объектов, прежде всего для списка вопросов, а
также для первоначального заполнения значений свойств объекта;
деструктор ~TTest – предназначен для освобождения памяти из под
динамически создаваемых объектов;
LoadFromBD – предназначен для загрузки из базы данных свойств
теста;
LoadQuests – предназначен для загрузки из базы данных списка
вопросов;
GetQuest – предназначен для получения из списка вопросов объекта
класса TQuestion по его порядковому номеру.
Отметим отдельно, что класс TTest инкапсулирует в себе все необходимые
свойства и методы для загрузки теста вместе со списком вопросов и ответов
из базы данных. Таким образом, объекту класса TTest не требуется
визуального представления ни для своего отображения, ни для обращения к
базе данных. Для обращения к базе данных предназначены свойства раздела
private QueryTmp и QueryTmp1 типа TQuery из библиотеки VCL, которые и

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)