Дипломная работа студента 544 группы



Скачать 366.12 Kb.
страница1/4
Дата02.08.2016
Размер366.12 Kb.
ТипДипломная работа
  1   2   3   4
Санкт-Петербургский Государственный Университет

Математико-механический факультет


Кафедра системного программирования

Многопользовательский редактор электронных учебных курсов на базе XML-схем

Дипломная работа студента 544 группы


Чуткова Ростислава Игоревича



Научный руководитель

………………



Штукенберг Д. Г.

Рецензент

………………



Старший преподаватель,
Луцив Д. В.

“Допустить к защите”
заведующий кафедрой,

………………


д.ф.-м.н., проф. Терехов А.Н.

Санкт-Петербург



2016
ОГЛАВЛЕНИЕ

1. Введение 4

2. Постановка задачи 6

3. Предварительный обзор 8

4. Реализация валидатора 10

4.1. Кратко о XML Схеме 10

4.2. Архитектура валидатора 11

4.3. Эскиз алгоритма валидации 12

4.4. Сравнение скорости 15

5. Серверное приложение 17

5.1. Архитектура сервера 17

5.2. Командный интерфейс 18

5.3. Идентификаторы 22

5.4. XML хранилище 24

5.5. Медиа-хранилище 25

5.6. Организация представления данных 27

5.7. Синхронизация и блокировки 27



6. Клиентское приложение 29

7. Сравнение с аналогами 34

8. Заключение 37

Список литературы 37


1. Введение


Большинство современных решений в области разработки электронных учебных курсов и обучающих систем опираются на XML-технологии [1]. Иерархическая структура XML-документов позволяет эффективно организовывать большие объемы структурированной информации, а задача разделения семантики данных и их представления перекладывается на технологию XSLT преобразований. Поэтому на настоящий момент практически все распространенные форматы электронных обучающих курсов основываются на XML-технологиях: LOM (IEEE 1484.12.3-2005), IMS GLC, AICC CMI013, SCORM 2004, ASD S1000D, а также многочисленные их производные.

Сходство форматов заключается в использовании XML-документа для хранения данных курса, и применения набора различных XSLT преобразований для получения итогового представления соответствующих данных. Неотъемлемым элементом каждого формата, является XML Схема, обеспечивающая валидность XSLT преобразований [2] и определяющая семантическое значение элементов курса. По сути, форматы отличаются только входящими в их определение XML Схемами и XSLT преобразованиями.

Проблема заключается в том, что разработчики программ-редакторов в области электронных курсов практически во всех случаях используют семантические ограничения Схемы поддерживаемых форматов как технические ограничения редактора, или даже отказываются от наличия Схемы вообще; это препятствует объединению информации из курсов в разных, даже незначительно отличающихся, форматах.

Эти ограничения сводятся к созданию ряда готовых шаблонов для разных заранее предусмотренных случаев. Такие шаблоны заведомо не нарушают валидность по Схеме, однако и не покрывают всех ее возможностей, даже в пределах одного фиксированного формата.

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

Кроме того, даже при попытке объединения курсов в одинаковых форматах нередко возникает ряд проблем [3], решаемых вручную из-за конфликтов, которые либо нарушают валидность результирующего документа, либо его смысловую составляющую:



  • Повторяющаяся информация в разделах;

  • Отсутствие необходимой информации;

  • Нарушение нумерации, неверные ссылки;

  • Дублирующаяся информация, описанная в Схеме как уникальная;

  • Отсутствующая информация, описанная в Схеме как необходимая.

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

Для обеспечения многопользовательской работы необходимо разработать клиентское приложение-редактор и серверное – хранилище документов; потребуем, чтобы серверная часть могла предоставлять доступ к курсу конечному пользователю, включая интерактивные курсы. Тогда мы получим эффективное однозвенное решение для разработки и представления электронных курсов.

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

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


2. Постановка задачи


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

Обозначим список формальных требований к серверной стороне программы:



  • Загрузка, хранение в памяти и сохранение на диск коллекции XML документов;

  • Возможность кэшированной выдачи указанной части документа, в том числе:

    • С применением заданного XSLT преобразования;

    • Только текста из содержимого элементов;

    • Только структуры до заданного уровня вложенности;

  • Быстрый доступ к значениям веток по их идентификаторам (тысячи запросов в секунду);

  • Различные интерфейсы для чтения и модификации структуры:

    • HTTP (прямой интерфейс),

    • JSON по HTTP,

    • AJAX по HTTP,

    • SOAP;

  • Синхронизация изменений между различными клиентами;

  • Хранение истории изменений для каждого пользователя и реализация функции отмены последних изменений (undo);

  • Надежность работы, предотвращение ошибок:

    • Связанных с нестабильной работой системы;

    • Вызванных умышленно;

  • Проведение полной валидации документов по коллекции XML Схем;

    • Быстрая валидация элементарных действий с элементами;

    • Вывод типов возможных подэлементов;

  • Разграничение доступа (уровни «читатель», «модератор», «администратор», и, возможно, другие);

  • Реализация простейшего файлового HTTP-сервера;

  • Хранение и выдача бинарных документов, сопутствующих структуре (изображения, медиа-объекты).





Поделитесь с Вашими друзьями:
  1   2   3   4


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница