ОРГАНИЗАЦИЯ ХРАНИЛИЩА МАТЕРИАЛОВ УЧЕБНЫХ КУРСОВ

advertisement
ОРГАНИЗАЦИЯ ХРАНИЛИЩА МАТЕРИАЛОВ УЧЕБНЫХ
КУРСОВ
Черненко А. Ю.
Научный руководитель – к.т.н., доц. Любченко В. В.
Одесский национальный политехнический университет
Каждый преподаватель при разработке учебных курсов
сталкивается с необходимостью оценки качества разработанного курса.
Один из способов оценки качества – расчет ряда статистических
показателей, опираясь на которые можно оценивать правильность
выбранного направления и успешность разработки.
Целевая система Acube, для которой выполняется разработка,
предоставляет возможности анализа качества учебных курсов, а также
планирования и анализа траектории их изучения.
Одним из требований к Acube является кроссплатформенность,
поэтому разработка ведется на языке Java. Основной парадигмой
программирования,
поддерживаемой
Java,
является
объектноориентированное программирование, то есть все сущности предметной
области представлены в виде классов, а связи между ними – в виде связей
между классами. Такое представление упрощает моделирование
предметной области и ее понимание, однако усложняет применение
традиционной реляционной модели для хранения данных.
Решением данной проблемы является применение технологии
объектно-ориентированных баз данных (ООБД). Такие базы данных
гораздо лучше подходят для хранения объектов предметной области, чем
реляционные.
Для реализации ООБД целесообразно использовать язык разметки
XML, поскольку он позволяет разрабатывать собственную структуру
документов базы данных, а также легко ее модифицировать. Выбор языка
XML также обусловлен тем, что существуют open-source Java-библиотеки,
обеспечивающие работу с XML-документами.
Таким образом, целевая система использует для хранения данных
курса (как исходных данных, так и результатов обработки) в виде XMLдокументов. При этом на данном этапе разработки хранилище данных
никак не организовано. Материалы всех курсов хранятся в одной папке,
идентификация курса, к которому относится тот или иной материал, а
также типа материала происходит по имени файла. Для загрузки
материалов курса пользователь должен выбрать необходимый файл
вручную, с помощью стандартного диалога открытия файла, а для
сохранения – воспользоваться стандартным диалогом сохранения файла.
С учетом хранением материалов всех курсов в одной папке такой подход
очень неудобен.
Еще одной проблемой является то, что разработчик, которому
необходимо считывать или записывать тот или иной материал курса,
должен знать с помощью каких операций, с какими параметрами и в
какой последовательности выполняется чтение либо запись. Это
затрудняет разработку и сопровождение, особенно при наличии большого
количества модулей, которые должны выполнять чтение либо запись
материалов курса. Так, например, при любом, даже самом мелком
изменении в процедуре чтения или записи пришлось бы изменять все
компоненты, которые зависят от этой процедуры.
Кроме этого, между материалами курсов, содержащимися в
хранилище, существуют определенные временные зависимости. Так,
например, исходные данные не могут быть более новыми, чем результаты
анализа, а если это происходит, то значит, результаты анализа
неактуальны и должны быть удалены. На данном этапе разработки
целевой системы контроль этих зависимостей необходимо производить
вручную.
Таким образом, организация хранилища данных программной
системы нуждается в существенном улучшении, для чего необходимо
предпринять следующие шаги:
1. Предоставить пользователю возможность выбирать материалы
курса, не зная ничего об их местонахождении в файловой системе
компьютера, зная только идентификатор курса. Для этого необходимо
организовать хранение метаинформации о материалах всех курсов, а
также соответствующий графический интерфейс, представляющий эту
метаинформацию в удобном для пользователя и читаемом виде. Для
повышения надежности вышеописанного механизма необходимо
реализовать механизм сбора метаинформации, ее резервное копирование,
а также восстановление из резервной копии.
2. Предоставить для всех компонентов, выполняющих действия с
хранилищем
данных,
единый
интерфейс,
который
позволит
абстрагироваться от особенностей выполнения чтения из хранилища или
записи в него. Каждый курс должен иметь, уникальный идентификатор,
таким образом, клиент хранилища данных может получить, изменить или
удалить необходимый материал курса, используя этот идентификатор, а
также указав тип материала. При этом изменения в процедурах чтения
или записи материалов курса никак не повлияют на клиентов хранилища
данных и не повлекут за собой необходимость их изменения.
3. Обеспечить универсальный механизм временных меток для
всех материалов курса, Временные метки должны автоматически
обновляться при любой модификации некоторого материала, обеспечивая
таким образом надежное хранение времени модификации материала.
Используя вышеописанный механизм временных меток, можно
реализовать автоматическую проверку материалов курса на предмет
соблюдения временных зависимостей между ними при любой
модификации этих материалов.
Реализация вышеописанных подходов позволит улучшить
организацию хранилища данных программной системы Acube, повысив
удобство ее использования, а также снизив вероятность возникновения
различного рода ошибок и их число.
Related documents
Download