Программно-инструментальные средства автоматизации разработки тестовых заданий в системе переподготовки персонала промышленных предприятий (06.03.2009)
Автор: Пеньков Владимир Михайлович
На порядок – эквивалент заданию на «соответствие», где исходный порядок определен в виде пронумерованной порядковой шкалы. {D1(D2(D4}. Альтернативы – отношение на Z(A {1..M} длины N – соответствие альтернатив полям захвата. Матрица отношения имеет блочный вид. На упорядоченное соответствие (перетаскивать определенные альтернативы в определенное место, либо вводить определенный текст в определенном поле, и все это в определенной последовательности) G={Gi}i=1..J, V={Vj}j=1..J, Z={Zn}n=1..N, A={Am}m=1..M, M>N. D=D1(D2(D3. ). В случае жесткой последовательности он представляет вырожденный случай, где дуги помечаются либо некоторым действием (,<(VAi>) либо его отрицанием ((,(<(VAi>). Для общего случая произвольной последовательности действий пользователя в работе предлагается использовать конечный автомат (, который представляет: где A – конечный входной алфавит A=(a1, a2,..., am); Q- конечное множество состояний Q=(q1, q2,..., qm); B – конечный выходной алфавит B=(b1, b2,..., bm); ( - функция переходов Q(A(Q; ( - функция выходов Q(A(B; При конструировании тестовых заданий: входной алфавит представляет множество действий пользователя (ввод значения, перетаскивание объекта, выбор альтернативы и др.); выходной алфавит множество действий пользовательской оболочки (появление, перемещение или удаление объекта, ) множество состояний определяется схемой разбора содержательной части тестового задания. Автоматная схема описания интерактива тестового задания Для конструирования и последующего проигрывания УТЗ рассматривается два проведения автомата: автомат как преобразователь (для формирования сценария решения УТЗ) и автомат как акцентор (идентификации решенности УТЗ). (q, (m), отображающая множество A* в B*. Сама функция f((m) представляет кончно-автматную функцию, реализуемую или вычисляемую инициальным автоматом (q. Для акцентора в инициальном автомате (q выделяется подмножество B’, B’(B и рассматривается подмножество LB’, LB’(A*: Подмножество LB’ определяет поведение инициального автомата (q по отношению к множеству B’. Обозначим символами a, b, c... символы входного алфавита. При этом: aa — последовательность из 2-х символов a; а* - любое число символов; (aVb) — один из символов а или b. Любую строку, состоящую из букв, применяемых для обозначения символов * и V обозначим как регулярное выражение, при условии что она может быть построена с учетом правил: любой одиночный символ является регулярным выражением; если E и F — регулярные выражения, то (EF) является регулярным; если E, F ... G — регулярные выражения, то (EVFV...VG) — регулярное выражение; если E — регулярное выражение, то E* - регулярное выражение. Согласно теореме Клини, множество последовательностей, распознаваемых автоматом, есть множество регулярных последовательностей, а любое регулярное выражение может быть распознано автоматом с конечным числом состояний. Последовательность действий пользователя по прохождению теста представима в виде последовательности переходов автомата. Таким образом, построив регулярное выражение, описывающее верный ответ теста, можно составить автомат, проверяющий корректность прохождения теста. Регулярное выражение строится с помощью графа действий. Начальной вершиной графа является исходное состояние теста. Далее проверяются возможные действия теста, указывается параллельность вариантов действий, то есть те действия, которые можно выполнять в произвольном порядке. Для реализации данной схемы к проигрывателю теста добавляется слушатель событий. Он сохраняет все события, произведённые пользователем (ввод текста, перенос поля захвата). Полученные события передаются анализатору последовательностей, который обрабатывает последовательность, удаляя лишние элементы. Данное удаление необходимо, например, в случае ввода текста в текстовое поле, так как тестируемый сохранит по одному действию на каждый ввод символа, в итоге полученная последовательность будет излишне длинной. Удалятся все события кроме последнего, последнее событие и будет представлять конечный результат ввода текста. Компоненты перетаскиваются из палитры компонент на сцену теста. У каждого компонента можно задать свойства (размер, положение, надпись, картинка и т.д.). Компоненты можно выравнивать друг относительно друга. В палитре компонентов есть надписи (как вариант представления графических компонент), кнопки, поля ввода, Приложение содержит несколько модулей. В итоге будут собраны все данные для создания структуры теста, сохранения его в виде отдельного файла и последующей интеграции в Базу Данных тестовых заданий, которая является исходной для формирования адаптивных тестов. Сценарий тестового задания Модульная структура программных приложений Модуль построения сцены ответственен за визуализацию расположения объектов на сцене и задание свойств объектов. Содержит основные компоненты: инспектор компонент, инспектор свойств выделенного компонента, редактор сцены, палитра компонент. Эти компоненты взаимосвязаны друг с другом, таким образом, что изменения свойства объекта в одном компоненте (например, в инспекторе свойств) немедленно влечет обновление остальных компонент (например, изменения сразу отображаются в редакторе сцены). Модуль проектирования решения визуализирует граф решения. Позволяет задавать последовательность действий для правильного решения теста, указывать какие действия можно совершать параллельно. На основе данных графа модуль строит регулярное выражение, задающее класс правильных ответов на тест. Модуль скриптов теста позволяет добавить программные обработчики к тесту. Обработчики пишутся на языке программирования JavaScript. Обработчики динамически подключаются к тесту на этапе выполнения. Они позволяют реализовать любую функциональность теста, графическое задание которого было бы затруднительно (например, пересчет некоторых параметров при определённых действиях пользователей). Модуль упаковки теста позволяет собрать XML документ теста вместе со всеми ресурсами и библиотеками в единую структуру, готовую для сохранения в базе данных и распространению конечным пользователям. Модуль проигрывания теста позволяет запустить тест в режиме проигрывания. Все действия пользователя автоматически записываются для дальнейшего анализа. Модуль обработки ответа пользователя проверяет правильность действий пользователя при прохождении теста и сравнивает его на совпадение с регулярным выражением, задающим правильный ответ теста. Данные модуля построения сцены поступают в модуль проектирования решения, далее происходит компоновка всех объектов теста в модуле упаковки теста и тест готов к проигрыванию в модуле проигрывания теста. Результаты проигрывания поступают в модуль обработки решения. Программная реализация конструктора тестовых заданий |