ПОСТРОЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ НА ОСНОВЕ ИНТЕРНЕТ-ТЕХНОЛОГИЙ
Дьяченко А. В., Манжула В. Г., Попов А. Э., Семенихин И. Н., Толстобров А. П.,
Файл с тестовым заданием в формате GIFT представляет собой обычный текстовый файл (txt, НЕ doc), в котором по определенным правилам приводятся тестовые вопросы и варианты ответов. Правильные и неправильные варианты ответов обозначаются специальными символами.
// Один правильный ответ
Кто родился в 1914 году?
{
=Андропов Ю.В.
~Брежнев Л.И.
~Горбачев М.С.
~Ленин В.И.
~Сталин И.В.
~Хрущев Н.С.
~Черненко К.У.
}
// Несколько правильных ответов
// Сумма баллов правильных ответов должна быть 100%
// Сумма баллов неправильных ответов должна быть -100%
// Таким образом общая сумма баллов должна быть 0%
Кто родился в XX веке?
{
~%25%Андропов Ю.В.
~%25%Брежнев Л.И.
~%25%Горбачев М.С.
~%-33.333%Ленин В.И.
~%-33.333%Сталин И.В.
~%-33.333%Хрущев Н.С.
~%25%Черненко К.У.
}
Входной документ Word будет преобразовываться в формат HTML и с помощью HTML парсера будет проводиться анализ структуры документа. После чего полученные данные будут преобразовываться согласно синтаксису формата GIFT и сохраняться в текстовый документ.
Было решено использовать готовый компонент парсера clHtmlParser из набора Clever Internet Suite. HtmlParser компонент анализирует HTML страницу в соответствии с w3c HTML спецификации: http://www.w3.org/TR/html401/.
Компонент позволяет пользователям анализировать HTML код и находит HTML теги и их атрибуты. Он создает серию тегов объектов, каждый из которых соответствует HTML тегу внутри документа. В табл. 7 указан пере-
чень свойств данного компонента.
Таблица 7 Описание компонента clHtmlParser
Имя |
Описание |
Forms |
Определяет коллекцию HTML форм принадлежащих к текущей HTML странице; |
Frames |
Определяет HTML фреймы принадлежащие к текущей HTML странице; |
Images |
Определяет картинки на данной HTML странице; |
Links |
Определяет коллекцию ссылок на HTML странице; |
ParseMethod |
Определяет какие элементы будут обработаны (pmAll, pmTagsOnly, pmTextOnly); |
Tables |
Определяет HTML таблицы принадлежащие текущей HTML странице; |
Tags |
Определяет коллекцию HTML тегов, принадлежащие текущей странице. |
Спецификации данных
Входные данные: документ Word с подготовленными вопросами.
Выходные данные: тестовый файл с впоросами, в формате GIFT.
Функциональные спецификации
Программа должна:
- сохранять вопросы с текстом, картинками и формулами;
- поддерживать несколько типов вопросов;
- конвертировать вопросы с документа Word;
- оддерживать синтаксис языка GIFT.
Спецификации оборудования
Разрабатываемая программа совершенно нетребовательна к компьютерным ресурсам и может работать на следующей конфигурации ПК:
- процессор Intel Pentium 4, либо аналогичные другие;
- монитор 17" или более;
- ОЗУ 512Мб;
- VGA совместимый видеоадаптер;
- жесткий диск объемом 20гб;
- операционная система Windows 2000.
Для более комфортной офисной работы, несомненно, нужен более мощный компьютер, следующей конфигурации:
- процессор Intel Pentium D 2400МГц;
- цветной монитор 19";
- ОЗУ 512 Мб;
- VGA-совместимый видеоадаптер 64мб;
- жесткий диск объемом 80Гб;
- операционная система Windows XP.
Диаграммы прецедентов применяются для моделирования вида системы с точки зрения прецедентов (или вариантов использования). Чаще всего это предполагает моделирование контекста системы, подсистемы или класса либо моделирование требований, предъявляемых к поведению указанных элементов. Диаграмма прецедентов представлена на рис. 30.
Рис. 30. Диаграмма прецедентов
Диаграммы прецедентов имеют большое значение для визуализации, специфицирования и документирования поведения элемента. Они облегчают понимание систем, подсистем или классов, представляя взгляд извне на то, как данные элементы могут быть использованы в соответствующем контексте. Кроме того, такие диаграммы важны для тестирования исполняемых систем в процессе прямого проектирования и для понимания их внутреннего устройства при обратном проектировании.
В табл. 8 содержится описание прецедента «Выбрать документ», табл. 9 содержит описание прецедента «Конвертировать», в табл. 10 описан прецедент «Сохранить вопросы».
Таблица 8 Описание прецедента «Выбрать документ»
Действия пользователя |
Отклик системы |
1. Действие начинается, когда |
2. Программа открывает диалоговое |
пользователь нажимает на кнопку |
окно выбора документа; |
«Выбрать документ» |
3. Программа сохраняет путь; |
|
4. На этом действие заканчивается. |
Таблица 9 Описание прецедента «Конвертировать»
Действия пользователя |
Отклик системы |
1. Действие начинается, когда пользователь нажимает на кнопку «Конвертировать»; |
2. Программа считывает данные сдокумента; 3. Программа преобразовываетдокумент в HTML формат; 4. Программа анализирует документ с помощью HTML парсера; 5. Программа строит документсогласно синтаксису формата GIFT; 6. На этом действие заканчивается. |
Таблица 10 Описание прецедента «Сохранить вопросы»
Действия пользователя |
Отклик системы |
1. Действие начинается, когда программа сконвертирует вопросы; |
2. Программа открывает диалоговоеокно сохранения документа; 3. Программа создает текстовыйдокумент и записывает тудасформированный документ; 4. На этом действие заканчивается. |
Для моделирования процесса выполнения операций в языке UML используются диаграммы деятельности. Применяемая в них графическая нотация во многом похожа на нотацию диаграммы состояний, поскольку на этих диаграммах также присутствуют обозначения состояний и переходов. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние выполняется только при завершении этой операции.
Таким образом, диаграммы деятельности можно считать частным случаем диаграмм состояний. Они позволяют реализовать в языке UML особенности процедурного и синхронного управления, обусловленного завершением внутренних деятельностей и действий. Основным направлением использования диаграмм деятельности является визуализация особенностей реализации операций классов, когда необходимо представить алгоритмы их выполнения.
В контексте языка UML деятельность (activity) представляет собой совокупность отдельных вычислений, выполняемых автоматом, приводящих к некоторому результату или действию (action). На диаграмме деятельности отображается логика и последовательность переходов от одной деятельности к другой, а внимание аналитика фокусируется на результатах. Результат деятельности может привести к изменению состояния системы или возвращению некоторого значения.
Диаграмма деятельности прецедента «Открыть документ» рассмотрена подробнее на рис. 31.
Рис. 31. Диаграмма деятельности прецедента «Открыть документ»
На рис. 32 показана диаграмма деятельности прецедента «Конвертировать». Рис. 33 отображает диаграмму деятельности прецедента «Сохранить документ».
На рис. 34 изображен алгоритм прецедента «Открыть документ». При нажатии на кнопку показывается диалоговое окно, затем если нажали открыть документ вызывается в фоновом режиме приложение MS Word и открывается документ. На рис. 35 показан алгоритм работы прецедента «Конвертировать».
Рис. 34. Алгоритм прецедента «Открыть документ»
Рис. 35. Алгоритм прецедента «Конвертировать»
Для дальнейшей обработки документ Word преобразовывается в HTML, затем с помощью HTML парсера анализируется, а затем подставляются теги соответствующие формату GIFT. На диске записывается документ в формате *.txt и в него записываются полученные данные. На рис. 36 изображен алгоритм работы парсера.
Рис. 36. Алгоритм работы HTML парсера
На рис. 37 показан алгоритм формирования вопросов в формат GIFT.
Рис. 37. Формирования вопросов в формат GIFT
Центральное место в объектно-ориентированном программировании занимает разработка логической модели системы в виде диаграммы классов. Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывать их внутреннюю структуру и типы отношений.
Диаграмма классов представляет собой граф, вершинами которого являются элементы типа «классификатор», связанные различными типами структурных отношений. Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи (рис. 38).
Рис. 38. Диаграмма классов
Ниже приведены классы, которые были созданы в проекте:
- класс answer в нем хранятся непосредственно тексты ответов на вопросы а также веса каждого ответа;
- класс data хранит вопрос и список ответов на вопрос, а также номер правильного ответа;
- класс dataArray хранит массив типа data.
Интерфейс программы прост и интуитивно понятен. Он состоит из кнопок «Обзор», «Начать», «Отмена». Также в текстовом поле указывается путь выбранного файла. Интерфейс программы изображен на рис. 39.
Рис. 39. Окно программы
Кнопка «Отмена» закрывает программу, чтобы выбрать файл необходимо нажать кнопку «Обзор». После чего нажатием на кнопку «Начать» начать конвертирование.
Тестирование и отладка
На рис 40 изображен пример входного файла с вопросами в формате *.doc. Правильные ответы следует вводить курсивом, варианты ответов нужно записывать с помощью нумерованного списка. Вопросы формата «ВерноНеверно» следует записывать в одну строчку подчеркнутым стилем.
Рис. 40. Пример входного документа с вопросами
В конце конвертирования показывается окно о выполненном конвертировании и количестве вопросов полученных (рис. 41). Можно продолжить работу с программой, либо закрыть. На рис. 42 изображен выходной файл в формате GIFT, готовый для импорта. При необходимости вопросы можно корректировать вручную и сохранить документ. На рис. 43 изображены импортированные вопросы с текстового файла, созданного программой в систему Moodle с которыми можно работать.
Рис. 41. Результат конвертирования вопросов
Рис. 42. Выходной документ в формате GIFT
Рис. 43. Импортированные вопросы с текстового файла, созданного программой