Котенко Олег Николаевич

Специальность: «Системное программирование»
Группа: СП-01м
email: kotenko@istil.com.ua
Тема магистерской работы: «Разработка средств и методов автоматизации процесса создания вопросов в системах дистанционного тестирования знаний»
Руководитель: доц. Зинченко Ю.Е.

Олег Котенко

en | ukr

Донецкий Национальный Технический Университет

Портал магистров ДонНТУ

Факультет вычислительной техники и информатики

Использование XML для хранения данных в обучающих системах

П.А. Рогов, Н.А. Борисов, П.А. Пузряков
Сборник материалов XV международной научно-технической конференции «Математические методы и информационные технологии в экономике, социологии и образовании», стр. 204-206, Пенза, 2005

Широкое развитие систем дистанционного обучения (ДО) требует нового подхода к хранению учебной информации. Стандартные технологии баз данных слабо подходят для этой цели, т.к. хранимая информация обычно представлена в виде достаточно сложной структуры. Наиболее часто используемыми являются модели дерева и графа. С другой стороны, современный обучающий курс должен быть мультимедийным и в какой-то степени интерактивным. Возникает вопрос, как свести все множество файлов в единую структуру? Наиболее логичным является использование единого документа с описанием структуры учебного курса и ссылками на используемые файлы.

При значительном объеме обучающего курса или объединение описаний всех специальностей в единое целое возникает ситуация при которой использование одного документа с описанием всей структуры нерационально с точки зрения передачи данных по сети. С другой стороны, разрабатывая каждый раз собственный механизм хранения такой информации, необходимо разрабатывать и механизмы для его обработки. Это не всегда удобно, особенно если существует стандартизированная технология, используя которую можно решать те же задачи. Это технология XML (eXtensible Markup Language).

W3C характеризует XML в своей рекомендации как открытый язык разметки, который представляет собой подмножество SGML. Назначением XML является обеспечить обслуживание, получение и обработку общего языка SGML в WEB так же, как это сейчас происходит с HTML. Язык XML разработан для упрощения реализации и взаимодействия между SGML и HTML.

На самом деле, HTML является подмножеством XML, т.к. обладает такой же структурой и определенным набором стандартизированных тегов. XML же позволяет определять собственные теги и атрибуты. С другой стороны, используя XML достаточно просто строить любую иерархическую структуру данных. Таким образом можно сделать вывод, что для описания древовидной иерархии обучающего курса очень удобно использовать XML по двум причинам:

Была поставлена задача разработки обучающей системы, предназначенной для реализации целей и задач ДО. В разрабатываемой системе выделяется три уровня детализации учебного материала:

Последний уровень (уровень занятия) также подразумевает развитую иерархию изучаемых тем.

Для реализации рассмотренной иерархии средствами XML целесообразно использовать отдельные XML-файлы (манифесты) для каждого уровня детализации. Это обеспечит возможность передачи образовательного материала по частям с целью оптимизации сетевого трафика.

Решение поставленной задачи осуществлялось путем разработки структуры и реализации учебного курса «Сети ЭВМ» для специальности «Вычислительные машины, системы, комплексы и сети» на кафедре ЭВМ Тверского государственного технического университета. Структура учебного материала была представлена в виде иерархического дерева (рис. 1)

Структура учебного
материала

В этом случае, очевидно, следует использовать отдельные манифесты для всех трех уровней: специальности, курса и занятия. Хранение этой информации было решено осуществить в отдельных папках на диске. Таким образом, структура учебного материала сохраняется логически в манифестах и физически в виде иерархии каталогов.

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

Описание сложной и объемной структуры курса на XML традиционными методами (т.е. вручную) процесс достаточно трудоемкий и предрасполагающий к ошибкам (в основном, синтаксического характера). В то же время этот процесс может быть практически полностью автоматизирован, т.к. синтаксис манифестов идентичен и создание их происходит по одному шаблону. Следовательно, целесообразно создать автоматизированную систему, которая позволит визуально строить и редактировать структуру учебного курса, а затем будет генерировать соответствующие файлы и папки на диске.

При создании обучающей интерактивной сетевой среды такой редактор был создан. Он написан в среде C++ Builder 6.0 и использует только стандартные для этой версии компоненты (TXMLDocument и TCppWebBrowser).

Необходимо отдельно осветить возможности механизма TXMLDocument. Этот объект может использоваться по-разному: как визуальная компонента с набором свойств или как набор автоматически генерируемых классов. Они предоставляют сходные возможности, но используются по-разному. В нашем редакторе используется второй путь, т.к. в этом случае сгенерированные классы обладают удобной системой обращения к тегам и атрибутам XML-файла. Генерация классов производится мастером и при этом с одинаковым успехом можно использовать как DTD-файлы описания XML-документов, так и созданные манифесты.

В редакторе реализован пользовательский интерфейс по шаблону Windows Explorer. В левой части находится дерево специальности (компонента TTreeView), а справа — содержимое урока (компонента TCppWebBrowser). В верхней части редактора расположена строка меню и панель инструментов, кнопки на которой дублируют основные команды меню. К основным возможностям редактора можно отнести следующие:

Созданные с помощью описанного редактора курсы размещены на жестком диске компьютера сети, который будет служить сервером обращений системы. На этом же компьютере установлены серверные компоненты обучающей системы, которые отвечают за передачу клиентам требуемого контента по их запросам.

Исходя из потребности осуществления контроля знаний студентов, круг задач сервера существенно расширяется. Сюда входят: генерация тестовых заданий из базы, получение результатов теста, выставление оценки, ведение статистики. Для того чтобы производительность сервера не снижалась при достаточно большем размере сети, необходимо использовать мощный компьютер с хорошим каналом связи.

Пользователь обучающей системы взаимодействует с приложением-клиентом, которое должно быть установлено на каждом компьютере в сети. Клиент реализует следующие возможности:

Отличиями интерфейса от редактора являются:

В данный момент продолжается работа над обучающей системой. В ближайшем рассмотрении находятся такие задачи, как: