Разработка ИС для обработки результатов тестирования
Программа имеет название «TestAcad», предназначена для оптимизации работы приёмной комиссии. Написанный продукт не требует никакого дополнительного программного обеспечения и обладает дружественным интерфейсом.
Система тестирования должна соответствовать нижеперечисленным условиям, так как случайный набор заданий сложно назвать тестированием:
· каждый блок должен отвечать требованиям валидности (соответствие блока его назначению);
· приведение к определённому стандарту всех заданий;
· каждое задание тестирования должно быть четко описано и не должно содержать всякого рода смысловых «ловушек»;
· тестовые задание должны соответствовать дидактическим требования, т.е. наглядности, доступности, научности;
· задания тестирования не должны содержать в себе ответов на самих себя;
· ответы на одни задания тестирования не должны быть подсказкой для другого тестирования;
Так же необходимо соблюдать следующие требования: определённость, простота и надежность.
При прочтении вопроса учащийся должен понять, что от него требуется, какие знания нужно продемонстрировать. В том случае если на вопрос верно отвечают менее семидесяти процентов, скорее всего здание не отвечает требованиям определённости, т. е. учащиеся не понимают, что от них требуется.
Простота. Вопросы и задания тестирования должны быть чётко и кратко сформулированы. Чем проще сформулирован вопрос, тем выше скорость ответа на вопрос.
Однозначность. Каждый вопрос должны иметь один и только один верный ответ – эталон.
Также большое значение имеет и правильно составленная сетка ответов, что, кстати, и является самой важной и трудоёмкой часть компоновки теста. (В идеале ответ на каждый вопрос должен соответствовать характерным ошибкам учащегося, что и даёт нам наиболее точную оценку знаний, но наиболее точно описывает характер личности). Исходя из накопленного опыта оптимальное количество ответов равно пяти, что минимизирует фактор угадывания. При таком количестве вариантов ответов фактор угадывания равен 20% [34].
В тестировании помимо верного ответа, остальные должны учитывать типовые ошибки учащегося. Разумеется, что построение такой базы ответов, по силам лишь преподавателю с очень большим опытом работы. Полагаясь на всё вышесказанное, отметим, что простого теста, возможно для любого преподавателя, но тем не менее создание грамотной базы вопросов и группировка релевантного тестирования по силам лишь опытному педагогу.
Если невозможно построение ответов по вышеуказанной схеме, то недостающие ответы нужно сформировать таким образом, чтобы они были однозначно неверными либо вовсе противоречили здравому смыслу.
Также есть возможность создать вопросы так, что все ответы будут верными, но частично. Только один ответ должен полностью раскрывать суть вопроса – значит быть полностью верным. Обычно такая база вопросов формируется при проверки теоретических знаний пройденного материала.
Для работы с программой необходимо соединение компьютера с локальной сетью. Локальная сеть необходима для того что программой пользовались несколько пользователей одновременно.
Интерфейс программы должен способствовать снижению количества ошибок, вызванных неправильными действиями пользователей системы, а также система должна осуществлять контроль над вводимыми данными
Конечный продукт должен не допускать появления ошибок в процессе работы, которые могли бы появиться в результате неверных действий пользователей, а также должен осуществлять контроль над данными, которые вводятся в программу.
Работоспособность и надежность системы целиком и полностью зависят от надёжности компьютера на котором она установлена. Для надёжной работы системы необходимо осуществлять надзор за вводимыми данными. Полностью запрещается выполнять какие-либо действия с исходными файлами программы.
Вопросы используемые на традиционных письменных и устных зачётах и экзаменов, как правило, не могут быть переквалифицированы в тестовые задания без определённой пеработки Для них необходимо создавать специальные тестовые задания.
Тестовые задания можно разделить по действиям обучаемого на следующие категории:
· выбор одного ответа;
· выбор нескольких ответов;
· выбор из элементов двух множеств;
· нахождение соответствия между несколькими элементами;
· установка верной последовательности;
· завершение предложений, заполнение пропусков;
· распределение предлагаемых элементов;
· вычисление ответа;
· подстановку;
· выбор и вычисление ответов;
· составление ответов.
Тестовые испытания могут быть утвердительными, вопросительными, текстовыми, графическими (используются рисунки, диаграммы, графики), табличными.
Оболочка для тестирования должна быть разработана в интегрированной среде разработке Lazarus, которая должна содержать в себе редактор тестов, не допускающий дублирования вопросов в определённой теме, отсутствие верных и неверных ответов на вопросы. Тестовые задания должные выводиться на экран по порядку во избежание отвлечения внимания учащегося от определённой темы. Если испытуемый не введёт ответ на вопрос программа должна вывести соответствующее сообщение. После завершения тестирования программа должна вывести количество верных и не верных ответов, так же программа должна выставлять оценку по результатам тестирования по бальной либо по процентной шкале [6].
Интерфейс должен быть интуитивно понятным, максимально простым и удобным.
Для корректной работы среды тестирования компьютер должен удовлетворять следующим системным требованиям:
· Операционная система: ОС семейства Windows (Старше Windows 2000), все Unix подобные системы;
· Минимальное разрешение экрана: 1024 × 768 точек;
· Процессор (CPU): c двумя и более физическими ядрами;
· Оперативная память (RAM): 512мб;
· Свободное пространство на винчестере: ~28 МБ.
Разработать систему компьютерного тестирования, используя интегрированную среду разработки, создать среду тестирования для быстрого и надёжного контроля знаний обучающихся.
Среда тестирования должна включать в себя:
· контрольно – измерительные материалы;
· вопросы с одним верным вариантом ответом;
· вопросы с несколькими вариантами ответами;
· нахождение соответствия между несколькими элементами;
· выбор из элементов двух множеств.
Программный продукт должен отвечать следующим требованиям и обладать следующим функционалом:
· продукт должен обладать максимальной надёжностью;
· продукт должен быть максимально гибким, не требующий специального обучения;
· продукт не должен требовать специально ПО;
· программа должна соответствовать требованиям кросплатформенности;
· продукт должен соответствовать информационной и программной совместимости;
· программный продукт должен обладать соответствющей документацией.
На основе выше написанного можно выделить основные этапы разработки программного продукта:
1. Этап проектирования интерфейса программы.
2. Этап написание программного кода.
3. Этап доработки, внесения изменений.
4. Этап формирования конечного продукта.
5. Этап тестирования продукта.
На первом этапе проектирования создается общий интерфейс программного продукта и создается его функциональная поддержка.
Этап задания обучающего материала включает в себя:
· создание определенного макета программы;
· создание интерфейса управления;
· оформление интерфейса программы.
В результате проектирования выше изложенной части работы программный продукт должен поддерживать следующие функции:
· ввод текстовой информации и ее изменение до отправки;
· быстродействие и удобство пользования интерфейсом.
Этап написания программного кода:
· выбор и анализ методов написания алгоритма выполнения программы;
· написание основных процедур;
· внесение исправлений и настройка программы.
Для запуска программы необходимо поместить папку с программой на жесткий диск компьютера, желательно путь к программе не должен состоять из символов кириллического алфавита. Для начала работы с программой необходимо в папке с программой запустить файл с названием «test.exe».
Рисунок 6 – Форма «Test»
Форма «TEST» (основная форма приложения) служит для добавления шифров, каждый из которых означает результат экзамена некоторого студента, также в форме возможен поиск по определённому шифру (Рисунок 6).
Форма «Результаты экзаменов» служит для просмотра результатов всех сданных экзаменов некоторого абитуриента (Рисунок 7).
Форма «Добавление результатов» предназначена для добавления результатов экзаменов. (Рисунок 8).
Форма «Предметы» необходима для добавления вопросов и верных ответов для них. (Рисунок 9).
Рисунок 7 – Форма «Результаты»
Рисунок 8 – Форма «Добавление результатов»
Рисунок 9 – «Форма предметы»
Рисунок 10 – «Окно управление экзаменами»
Рисунок 11 – «Форма отчёты»
Рисунок 12 – «Окно ввода данных оператора»
Рисунок 13 – «Пример файла сводной ведомости»
Рисунок 14 – «Пример файла отрывного талона»
Рисунок 15 – Форма «test» в режиме разработки.
На рисунке 15 изображена форма «test» в режиме разработки.
Используемые в ходе работы компоненты.
Разрабатываемая система тестирования предназначена для эксплуатации на персональных компьютерах архитектуры х86 и x64, под управлением операционной системой семейства Windows и Unix подобных ОС.
При разработке данного программного продукта использовались следующие программные средства:
· IDE Lazarus;
· GUI IBExpert;
· СУБД FireBird.
В Lazarus разрабатывался дружественный интерфейс, для работы с системой тестирования. Также создание рабочей области типа панели управления «кнопок».
Применялись следующие компоненты:
Форма - это эскиз окна будущей программы (приложения). Форма является объектом, поэтому имеет свои свойства, методы, события. Форма является контейнером для других объектов, т.е. она может содержать кнопки, списки, текстовые поля и т.п.
В проекте может содержаться несколько форм. При запуске программы появляется стартовая форма.
Форма сохраняется в отдельном файле (точнее в 2-х файлах с разными расширениями).
TMainMenu–главное меню.
Компонент предназначен для отображения меню вверху окна. Главное меню всегда расположено выше всех остальных компонентов.
TSQLQuery – SQL запрос
Компонент является потомоком TDataset и он представляет данные из SQL запроса в виде таблицы. Также этот компонент можно использовать для выполнения запроса, не возвращающий данные.
TSQLTransaction – SQL транзакция.
TSQLTransaction представляет собой компонент, с помощью которого один или несколько экземпляров TSQLQuery выполняют свою работу. Он содержит методы для подтверждения или отката результатов запроса. По крайней мере, один TSQLTransaction должен быть использован для каждого TIBConnection, используемого в приложении.
TIBConnection является абстрактным классом для создания подключения к базе данных SQL. Все компоненты для подключения к базе данных используют компонент TIBConnection. Большинство общих свойств к базам данных SQL реализованы в этом классе.
TPageControl – Набор панелей с закладками. Каждая панель может содержать свой набор интерфейсных элементов и выбирается щелчком по связанной с ней закладке.
TMemo – Многострочный текстовый редактор. Используется для ввода пользователем и отображения многострочного текста без функций форматирования.
Текст в компоненте Memo размещается построчно. Поэтому имеется доступ к каждой строке текста отдельно. Строки в редакторе TMemo являются объектами Lines[i] типа String, где i - номер строки, отсчитываемый от нуля. Объект Lines[i] доступен и для чтения, и для записи. Соответственно, текст в компоненте Memo можно редактировать не только с клавиатуры, но и программным способом.
TButton – Командная кнопка. Используется для реализации в программе команд с помощью обработчика события OnClick этого компонента.
Кнопка на форме – самый часто используемый компонент для инициации каких-либо действий программы. Надпись на кнопке задается свойством Caption. Кнопка обычно располагается на форме именно для создания обработчика ее нажатия OnClick
TPanel – Простая панель.
Компонент TPanel представляет собой панель, на поверхности которой можно поместить другие компоненты. Обычно панель используется для привязки компонентов к границе окна (при изменении размера окна компоненты, которые находятся на панели, не меняют своего положения относительно границ окна, к которой привязана панель).
TEdit – поле ввода.
Компонент предназначен для отображения текстовой информации в редактируемом виде. Текст, отображаемый в данный момент в компоненте, содержится в свойстве Text и может задаваться при проектировании интерфейса и программно во время выполнения и пользователем во время выполнения
TLabel – метка.
Компонент отображает заданную надпись в своей области, текст которой задается значением свойства Caption.
StringGrid – компонент для отображения различных данных в табличной форме. Как следует из названия, ячейки компонента StringGrid Lazarus могут содержать данные, имеющие тип String, а также отображать графику.
Таблица StringGrid состоит из выделенных серым FixedCols и FixedRows - зафиксированных ячеек-заголовков, и обычных, белых ячеек. Содержимое Fixed ячеек недоступно редактированию, и меняется только программно. За возможность редактирования обычных ячеек отвечает одно из значений свойства Options.
LzRichEdit – Многострочный текстовый редактор.
Компонент LzRichEdit работает с текстом в обогащенном формате RTF. При желании изменить атрибуты вновь вводимого фрагмента текста вы можете задать свойство SelAttributes. Это свойство типа TTextAttributes, которое в свою очередь имеет подсвойства: Color (цвет), Name (имя шрифта), Size (размер), Style (стиль) и ряд других. Например, введите на форму компонент LzRichEdit, диалог выбора шрифта FontDialog и кнопку Button, которая позволит пользователю менять атрибуты текста.
ToolBar – представляет собой инструментальную панель, для быстрого доступа к часто используемым функциям нашей программы, позволяет управлять компоновкой быстрых кнопок и компонентов.
Если поместить компонент ToolBar на форму, то он расположится вверху, поскольку его свойство Align равно alTop(по умолчанию). Если хотите, чтобы панель располагалась по-другому, установите Align равным alNone, после этого можете делать с панелью что хотите.
На этот компонент можно вставить любые дочерние элементы, но все его возможности проявляются только со специальным компонентом ToolButton разработанный специально для ToolBar. ToolButton похож на кнопку SpeedButton, только изображение для кнопки определяется не свойством Glyph, а Imagelndex. Но вы не найдете этот компонент в палитре компонентов. Так как он разработан специально для ToolBar, вставить его можно только после щелчка правой кнопкой мыши на компоненте ToolBar и выбрав в его контекстном меню команду New Button(кнопка) или New Separator (разделитель) – который предназначен для функционального выделения на нашей панели инструментов групп.
GroupBox – предназначен для группирования схожих по смыслу компонентов Lazarus.
TSpinEdit – предназначен исключительно для ввода целых чисел. Две кнопки, находящиеся в правой части компонента, предоставляют возможность пошагового изменения значения чисел. В этот компонент допускается ввод только цифр и знаков «плюс» (+) и «минус» (-). Рассмотрим свойства, присущие исключительно редакторам класса TSpinEdit:
· EditorEnabled разрешает или запрещает ручной ввод чисел;
· Increment позволяет задать шаг изменения числа при нажатии кнопки увеличения или уменьшения. По умолчанию это свойство равно 1;
· MaxValue определяет максимально допустимое значение числа;
· MinValue определяет минимально допустимое значение числа;
· Value возвращает текущее значение числа.
Компонент Lazarus MonthCalendar (Календарь) находиться на странице Win32 Палитры компонентов. С его помощью легко и быстро можно можно выбрать нужную дату используя, мышь.
Cвойства редактора класса TCalendar:
· Date – это свойство указывает на выбранную дату.
· DateFormat – формат даты. Здесь возможны только два значения:
· dfshort – короткий формат;
· dfLong – длинный формат.
· MaxDate – максимальная дата.
· MinDate – минимальная дата.
DBGrid – это визуальный компонент среды, предназначен для визуализации наборов данных. Этот компонент находиться на странице компонентов DataControls палитры компонентов. Класс TDBCustomGrid и класс TCustomGrid – это родительские классы компонента DBGrid. Компонент делиться на столбцы (поля ввода данных) и строки (записи) [8].
На рисунке 16 изображена GIU IBExpert на которой создаётся запрос для обмена мгновенными сообщениями.
Рисунок 16 – «Создание запроса в среде IBExpert»
На рисунке 17 изображена даталогическая модель базы данных «TestAcad.fdb»
Даталогическая модель базы данных представляет собой описание объектов (сущностей), с набором атрибутов и связей между ними, которые выявляются в процессе исследования как входных, так и выходных данных. Она предназначена для структурного образования предметной области, с ориентированием на пользователей, разрабатываемой системы
Самая распространенная модель в инфологическом моделировании – это модель "сущность-связь", к главным компонентам её относятся - сущности и связи. Под понятием сущности трактуется содержание объекта, о котором набирают необходимую информацию. Экземпляром сущности представляется - чёткий объект. Сущность определяется атрибутами, которые в свою очередь описаны определёнными характеристиками. Связи должны показывать определённые отношения между сущностями. Во время построения инфологической модели чаще используют графические схемы.
Рисунок 17 – Даталогическая модель базы данных «TestAcad.fdb»
Первичный ключ (primary key) представляет собой один из примеров уникальных индексов и применяется для уникальной идентификации записей таблицы. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа. Первичный ключ обычно сокращенно обозначают как PK (primary key) [8].
Внешний ключ – это столбец или сочетание столбцов, которое применяется для принудительного установления связи между данными в двух таблицах. Внешний ключ можно создать, определив ограничение FOREIGN KEY при создании или изменении таблицы.
Программа анализирует знания абитуриентов и выполняет основные функции независимо от воздействия на неё внутренних и внешних факторов.
Выводы по третьей главе
В третьей главе описывается разработка ПО. Сформулированы требования к программному продукту. Описывается создание форм, отчётов, таблиц, процедур, сведений и т.д., а также характеризуется входная и выходная информация. На скриншотах показаны как отдельные объекты формы, так и общий пользовательский интерфейс программы.