Разработка системы формирования и обработки структуры электронного учебника

Обзор средств создания обучающих программ и формирование требований к учебнику. Алгоритм проверки корректности определений и выделения списка исходных понятий. Обоснование выбора среды программирования. Организационно-экономическое обоснование проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.08.2010
Размер файла 86,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Содержание

Реферат

Введение

  • 1. Обзор средств создания обучающих программ и формирование требований к учебнику
    • 1.1 Системы на основе линейного текста
    • 1.2 Мультимедийные обучающие системы
    • 1.3 Системы на основе гипертекста
      • 1.3.1 Справочная система ОС Windows
      • 1.3.2 Пакет ГиперМетод
    • 1.4 Формулирование требований к учебнику
  • 2. Разработка алгоритмов
    • 2.1 Основные функции системы
    • 2.2 Разработка структуры системы
    • 2.3 Формирование структуры учебника
      • 2.3.1 Правила построения учебника
      • 2.3.2 Алгоритм формирования структуры
      • 2.3.3 Формат выходного файла модуля формирования структуры
    • 2.4 Алгоритм проверки корректности определений
    • 2.5 Алгоритм выделения списка исходных понятий
    • 2.6 Алгоритмы выделения подструктур
  • 3. Реализация модуля формирования структуры
    • 3.1 Обоснование выбора среды программирования
    • 3.2 Основные функции модуля
    • 3.3 Работа с модулем
      • 3.3.1 Запуск модуля
      • 3.3.2 Назначение элементов модуля
      • 3.3.3 Настройка параметров модуля
      • 3.3.4 Выбор файла начальной страницы учебника
      • 3.3.5 Формирование структуры учебника и запись ее в файл
  • 4. Реализация модуля обработки и отображения структуры
    • 4.1 Обоснование выбора среды программирования
    • 4.2 Основные функции модуля
    • 4.3 Требования к аппаратному и программному обеспечению
    • 4.4 Установка модуля
    • 4.5 Работа с модулем
      • 4.5.1 Запуск модуля
      • 4.5.2 Назначение элементов модуля
      • 4.5.3 Загрузка файла структуры
      • 4.5.4 Окно просмотра структуры
      • 4.5.5 Панель управления
      • 4.5.6 Настройка параметров модуля
      • 4.5.7 Установка внешнего вида структуры
      • 4.5.8 Обработка и анализ структуры
  • 5. Организационно-экономическое обоснование проекта
    • 5.1 Краткая характеристика работы и её назначение.
    • 5.2 Определение затрат на создание программного продукта
      • 5.2.1 Расходы на оплату труда разработчика программы
      • 5.2.2 Затраты на оплату машинного времени
      • 5.2.3 Расчёт общих расходов
    • 5.3 Выводы
  • 6. Безопасность и экологичность проекта
    • 6.1 Краткая характеристика разработки
    • 6.2 Безопасность проекта
      • 6.2.1 Электробезопасность
      • 6.2.2 Пожарная безопасность
      • 6.2.3 Требования к уровням шума и вибрации
      • 6.2.4 Пыль и вредные химические вещества
      • 6.2.5 Микроклимат
      • 6.2.6 Вентиляция
    • 6.3 Эргономичность проекта
      • 6.3.1 Эргономические принципы при создании ПО АСУ
      • 6.3.2 Эргономические требования к системам отображения информации
      • 6.3.3 Описание зрительной работы оператора
      • 6.3.4 Организация рабочего места оператора
      • 6.3.5 Эргономические требования к рабочему месту
      • 6.3.6 Освещенность рабочего места
    • 6.4 Экологичность проекта
    • 6.5 Методы обеспечения стойкости типовых схем, узлов и блоков радиоэлектронной аппаратуры к воздействию сильных ЭМИ
      • 6.5.1 Общие сведения
      • 6.5.2 Конструкционные методы
      • 6.5.3 Схемотехнические методы
      • 6.5.4 Структурно-функциональные методы
    • 6.6 Выводы
    • Заключение
    • Библиографический список
    • Реферат

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

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

Модуль формирования структуры реализован в среде визуального программирования Borland Delphi 3.0 и обеспечивает выполнение следующих функций:

обработка файлов электронного учебника и построение структуры понятий (определений и теорем);

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

Модуль обработки и отображения сформированной структуры реализован в виде апплета на языке Java и выполняет следующие функции:

считывание файла со структурой, сформированного первым модулем;

проверка корректности данной структуры;

отображение на экране структуры либо подструктуры в виде графа, вершинами в котором являются определения или теоремы, а дуги отражают связи между ними;

анализ структуры - выделение списка исходных понятий, выделение по заданному понятию подсписка, включающего в себя все понятия, через которые определено заданное, поиск в структуре понятий;

возможность просмотра текста любого определения или теоремы.

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

Введение

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

Программы, предназначенные для передачи обучаемому знаний и/или умений, получили название «Автоматизированные обучающие системы» (АОС). Интерес к разработке АОС наблюдается с конца 50-х -- начала 60-х годов.

Развитие обучающих систем в настоящее время идет в направлении придания им свойства адаптации к целям и условиям обучения.

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

Принципы обучения имеют прямое отношение к разработке автоматизированных обучающих систем. Рассмотрим кратко каждый из этих принципов:

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

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

3. Обучение идет быстрее, если учащийся "узнает результат" каждого своего ответа немедленно. Если ответ правилен, то учащийся должен тотчас получить подтверждение этого, если неправильный - он столь же быстро должен узнать об этом. Даже незначительная задержка резко тормозит обучение. В настоящее время наши учащиеся вынуждены часто подолгу ждать результатов своего ответа.

4. Обучение идет быстрее, если программа по предмету построена по принципу последовательного усложнения материала. Занятия следует начинать с самых простых заданий, для выполнения которых учащийся уже владеет необходимыми навыками и знаниями. Постоянно уровень сложности материала повышается. Это продолжается до тех пор, пока не будет достигнута желательная степень опытности и умения.

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

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

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

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

Реализация вышеперечисленных возможностей послужила основанием для разработки системы формирования и обработки структуры электронного учебника. За основу был взят гипертекстовый учебник, написанный на языке HTML, разработанный на кафедре АИТ РТФ.

1. Обзор средств создания обучающих программ и формирование требований к учебнику

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

1.1 Системы на основе линейного текста

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

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

Как видно из вышеизложенного, системы подобного типа мало подходят для реализации сколько-нибудь серьезных задач обучения.

1.2 Мультимедийные обучающие системы

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

1.3 Системы на основе гипертекста

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

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

Рассмотрим некоторые средства создания гипертекстовых систем.

1.3.1 Справочная система ОС Windows

Один из подходов состоит в создании структуры данных на основе справочной системы Windows. Этот подход имеет несколько очевидных плюсов, главный из которых - уже реализованная навигационная система, включающая в себя систему поиска по ключевым словам, автоматическое создание глоссария, возможность вывода документов на печать. Файлы справочной системы могут содержать как форматированный текст, так и графику, и анимацию. Однако, создание таких файлов требует специального программного обеспечения, с помощью которого производится процесс компиляции, сами файлы справки не могут бать изменены "на лету" - для этого требуется компилятор. Файлы справки не могут содержать программных элементов, справочная система не содержит какого-либо внутреннего языка для их создания. Но, взамен этого, существует средство, с помощью которого мы можем запускать исполняемые файлы, находящиеся на жестком диске локального компьютера. Присутствует также некоторая разъединенность текстового материала и обучающих (или тестирующих) программ.

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

1.3.2 Пакет ГиперМетод

Система разработки Пакет ГиперМетод - инструмент для создания электронных каталогов, учебников и рекламных изданий на CD-дисках, систем помощи и публикаций в Internet, а также других мультимедиа приложений и электронных изданий.

ГиперМетод позволяет создавать красивые и сложные мультимедиа приложения, отвечающие самым современным стандартам, объединяя в одно целое звук, видео, рисунки, анимацию, текст и гипертекст.

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

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

Профессиональный вариант пакета дополнен следующими модулями:

? ассистент по связям - создает гипертекстовые связи автоматически по заданным разработчиком правилам;

? ассистент по текстам - автоматически генерирует гипертексты из больших текстов;

? ассистент по структуре - помогает проверять структуру разрабатываемого приложения;

? ассистент по установке - автоматически создает дистрибутив мультимедиа CD ROM приложения.

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

1.4 Формулирование требований к учебнику

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

Для пользователей:

1.Организация обучения разного уровня - от начального знакомства до подробного усвоения материала.

2.Возможность предоставления материала исходя из цели обучения.

3.Компоновка материала по результатам тестовых проверок.

Для разработчиков:

1.Проверка корректности введенных определений.

2.Формирование списка неопределяемых понятий.

3.Построение для выделенных понятий (и для всего учебника) графа связи с определяющими понятиями - иерархический граф понятий.

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

2. Разработка алгоритмов

Система выделения и обработки структуры электронного учебника (далее «система») была разработана для обработки гипертекстового учебника, реализованного на языке HTML. В ней были реализованы принципы, изложенные в предыдущем разделе.

2.1 Основные функции системы

Система выполняет следующие основные функции:

1) Построение структуры понятий электронного гипертекстового учебника.

2) Отображение полученной структуры в наглядном и удобном для пользователя виде:

? поиск элемента в структуре;

? возможность перехода от просмотра структуры к просмотру учебника;

3) Обработка полученной структуры:

? проверка корректности определений в структуре;

? выделение списка исходных (неопределяемых) понятий;

? выделение подструктуры по заданному множеству понятий.

2.2 Разработка структуры системы

Система предназначена для обработки гипертекстового электронного учебника, написанного на языке HTML. Язык HTML - это язык описания Web-страниц, поэтому для просмотра данного учебника используется Web-браузер.

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

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

Дело в том, что основное назначение браузеров это просмотр Web-страниц в Internet. Поэтому из соображений безопасности на программы, которые могут выполняться браузерами, наложены серьезные ограничения. Они не имеют доступа к ресурсам компьютера пользователя, не могут читать или писать файлы, запускать какие-то программы с его компьютера.

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

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

Второй модуль возьмет на себя все функции, связанные с отображением и обработкой полученной структуры. Этот модуль является программой, исполняемой под управлением браузера, а именно Java-апплетом. Так как Java-апплеты имеют возможность читать файлы с тех серверов, откуда они запущены, то проблем с загрузкой файла структуры, сформированного первым модулем, не будет. Подробно обоснование выбора среды программирования приведено в главе 4. Назовем данный модуль модулем обработки и отображения структуры.

2.3 Формирование структуры учебника

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

2.3.1 Правила построения учебника

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

Для отметки начала и конца параграфов было решено использовать следующие конструкции. Начало параграфа отмечается следующим образом:

<A NAME="метка_начала_параграфа"></A>,

где метка_начала_параграфа представляет из себя строку, составленную из ключевого слова, идентифицирующего факт начала и тип параграфа, и строки, представляющей из себя краткое название параграфа. Например, <A NAME="startdefАвтомат_Мура"></A>. В данном примере ключевым словом является startdef, которое означает начало параграфа типа определение, в котором определяется понятие "Автомат Мура". Все пробелы в названии параграфа должны быть заменены на символы подчеркивания. Это связано с тем, что некоторые средства генерации и просмотра HTML страниц не допускают пробелов в параметре NAME тэга <A>.

Конец параграфа отмечается аналогичной конструкцией, с той только разницей, что ключевое слова заменяется на другое, идентифицирующее конец параграфа.

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

Таким образом, параграф, например, типа определение, имеет следующий вид:

NAME="startdefАвтомат_Мура"></A>текст определения<A NAME="enddefАвтомат_Мура"></A>.

Если в тексте определения встречаются ссылки на другие параграфы, они должны быть оформлены в следующем виде:

<A HREF="startdefАвтомат">.

Подобное оформление параграфов позволяет построить структуру понятий с учетом всех имеющихся связей между ними.

2.3.2 Алгоритм формирования структуры

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

Первый этап - просмотр учебника и составление списка всех понятий, построенных по описанной выше схеме. При этом для каждого параграфа составляется список всех ссылок, обнаруженных внутри него, в виде имени страницы плюс непосредственно имени ссылки.

Второй этап - анализ данного списка понятий, с целью построения связей между ними. Анализируются внутрипараграфные ссылки и на их основе строятся связи между понятиями.

2.3.3 Формат выходного файла модуля формирования структуры

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

Первая строка файла всегда содержит полный путь к папке, в которой находится обработанный электронный учебник.

Следующие строки представляют собой описания вершин графа понятий и имеют следующий формат:

идентификатор, имя, адрес, тип,

где идентификатор - уникальный номер вершины, имя - название вершины, совпадающее с определяемым понятием, адрес - относительный путь и имя файла, содержащего данное понятие, тип - числовое значение, определяющее тип вершины (0 - определение, 1- теорема). Все эти параметры перечислены через запятую.

Заканчивается часть описаний вершин графа строкой, содержащей слово «Edges». После этой строки до конца файла идут списки смежностей каждой вершины. Одна строка содержит один список смежностей, который начинается с номера вершины, к которой этот список относится, и далее через запятую перечислены номера смежных с ней вершин.

2.4 Алгоритм проверки корректности определений

Определение считается корректным, если оно не определяется через само себя, либо через понятия, которые определяются через него. Иными словами, если применить это к графу понятий, то можно сказать, что в графе должны отсутствовать контуры. Для отыскания контуров в графе понятий используется метод поиска в глубину с сохранением пути.

Суть алгоритма поиска в глубину заключается в следующем. Пусть у нас имеется граф G = <V,E>.

1) Начинаем поиск с произвольной вершины v0.

2) Выбираем произвольную вершину u, смежную с v0 и повторяем поиск от вершины u.

3) В общем случае допустим, что мы находимся в некоторой вершине v. Если существует еще не просмотренная вершина u, смежная для v, то повторяем поиск, начиная с вершины u. Если непросмотренных вершин, смежных с v, нет, то считаем вершину v использованной и возвращаемся в вершину, из которой попали в v. Если при возврате получаем v = v0, то считаем алгоритм завершенным и все вершины являются использованными.

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

2.5 Алгоритм выделения списка исходных понятий

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

Алгоритм выявления подобных понятий тривиален. Просматриваются все вершины графа, и те вершины, которые не имеют входящих дуг, включаются в данный список.

2.6 Алгоритмы выделения подструктур

Подструктуры по заданному множеству понятий могут выделяться двумя способами. Первый способ - выделение подграфа от исходных понятий, то есть от начальных вершин, до выбранных вершин. Второй - выделение подграфа от выбранных вершин до конечных вершин графа понятий. Для обоих вариантов используется в принципе одинаковый подход.

В первом варианте для каждой начальной вершины графа отыскивается путь в каждую из выбранных вершин. Полученные в результате этого пути объединяются и получается искомая подструктура.

Во втором варианте отличие состоит в том, что для каждой выбранной вершины графа отыскиваются пути к каждой конечной вершине. Затем также происходит объединение полученных путей.

Отыскание пути между двумя вершинами производится с использованием метода поиска в глубину, уже описанного выше. Поиск пути с его помощью осуществляется следующим образом. Чтобы найти путь между вершинами v и u методом поиска в глубину, нужно начать поиск в вершине v и продолжать его до посещения вершины u. В момент посещения вершины u последовательность просмотренных (но неиспользованных) вершин будет определять путь из v в u.

3. Реализация модуля формирования структуры

Модуль формирования структуры реализован в среде визуального программирования Delphi 3.0 фирмы Borland и предназначен для работы в среде Windows 95/98/NT.

3.1 Обоснование выбора среды программирования

На этапе подготовки задания на дипломный проект рассматривалось несколько возможных вариантов реализации данного модуля.

Сформулируем основные критерии, по которым производился выбор среды программирования для создания данного модуля.

1) Создание максимально возможного удобства в работе. Для этого программа должна иметь удобный и современный интерфейс пользователя.

2) Работа модуля должна выполняться с максимально возможной скоростью. Нежелательны ситуации, в которых пользователю длительное время придется ожидать окончания работы модуля.

3) Поддержка длинных имен файлов.

4) Максимальная простота в установке и использовании модуля.

5) Минимальные затраты на разработку модуля.

В ходе последующего анализа имеющихся средств программирования на основании перечисленных критериев был выбран вариант написания данного модуля с использованием системы визуального программирования Borland Delphi 3.0 для Windows95. Данное заключение основывалось на следующем.

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

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

Так как Delphi 3.0 является средой программирования для Windows 95, то, как и сама операционная система Delphi поддерживает длинные имена файлов и папок.

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

Среда визуального программирования Delphi 3.0 является мощным средством для быстрой и качественной разработки программ для операционной системы Windows 95. Имеющаяся библиотека визуальных компонентов позволяет создать интерфейс с пользователем за считанные минуты. Объектно-ориентированный язык Object Pascal, положенный в основу Delphi, является расширением языков Turbo Pascal и Borland Pascal фирмы Borland и нашел в себе отражение новых веяний в программировании. Компонентный принцип, используемый в Delphi, позволяет создавать полноценные Windows-приложения, написав минимальное количество строк кода. Delphi представляет собой открытую систему, позволяя добавлять свои компоненты в систему, модифицировать уже имеющиеся стандартные компоненты благодаря тому, что предоставлены их исходные тексты. Благодаря всему этому разработка программ в среде Delphi становится легкой и приятной.

Таким образом, выбранная платформа, как было показано выше, удовлетворяет поставленным требованиям, поэтому выбор был остановлен на данной системе программирования.

3.2 Основные функции модуля

Модуль обеспечивает выполнение следующих функций:

? выбор файла страницы электронного учебника, с которого начнется обработка и который является начальным файлом учебника, либо выбор папки, в которой находится учебник;

? обработка учебника, начиная с заданного файла или всех файлов учебника в заданной папке с целью построения структуры учебника;

? запись полученной структуры в выходной файл в определенном формате, необходимый для работы модуля обработки и отображения структуры.

3.3 Работа с модулем

3.3.1 Запуск модуля

Запуск модуля осуществляется путем запуска исполняемого файла «HTMLScan.EXE». При этом на экране появляется окно формы данного модуля, изображенное на г.

3.3.2 Назначение элементов модуля

Окно формы модуля содержит следующие элементы:

? поле ввода «Начальная страница учебника для обработки» - предназначено для ввода имени файла страницы учебника, с которой начнется обработка;

? кнопка «Обзор» - предназначена для выбора файла начальной страницы учебника посредством стандартного диалога Windows;

? флажок «Просматривать все файлы в папке» - предназначен для включения режима обработки всех файлов в текущей папке, независимо от того найдены на них ссылки или нет;

? кнопка «Параметры» - позволяет настраивать параметры модуля, такие как имена тэгов, которыми помечены элементы структуры и имя файла, в который записывается структура;

? группа «Статистика работы» - отображает текущее состояние работы программы: имя файла, который в данный момент времени обрабатывается; общее количество обработанных файлов; количество найденных на данный момент времени определений и теорем; общее время обработки учебника;

? кнопка «Старт» - нажатием на данную кнопку начинается процесс обработки учебника;

? кнопка «Выход» - завершение работы программы.

3.3.3 Настройка параметров модуля

Для настройки параметров модуля необходимо нажать на кнопку «Параметры» в окне формы. При этом на экране появится окно параметров системы, изображенное на д.

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

В поле ввода «Имя файла структуры» можно указать имя файла, в который программа будет записывать полученную структуру учебника. Имя файла по умолчанию «STRUCT.DAT».

3.3.4 Выбор файла начальной страницы учебника

Для выбора файла начальной страницы учебника необходимо ввести его имя в поле ввода, озаглавленное «Начальная страница учебника для обработки», либо, нажав кнопку «Обзор», найти необходимый файл в стандартном диалоге открытия файла Windows, и нажать кнопку «Открыть». При этом выбранный файл с полным путем к нему появится в поле ввода «Начальная страница учебника для обработки».

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

3.3.5 Формирование структуры учебника и запись ее в файл

Для начала формирования структуры электронного учебника необходимо нажать на кнопку «Старт». Работу программы можно контролировать по группе «Статистика работы». По окончании обработки учебника система записывает полученную структуру в файл, указанный в настройках модуля (по умолчанию «STRUCT.DAT») в папку, в которой расположен учебник и выдает сообщение о завершении обработки.

4. Реализация модуля обработки и отображения структуры

Модуль обработки и отображения структуры учебника реализован на языке Java, в качестве апплета. В виду того, что Java является машинно-независимым языком, то данный модуль способен работать на любой аппаратной платформе.

4.1 Обоснование выбора среды программирования

На этапе подготовки задания на дипломный проект рассматривалось несколько возможных вариантов реализации данного модуля.

Сформулируем основные критерии, по которым производился выбор среды программирования для создания данного модуля.

1) Создание максимально возможного удобства в работе. Для этого модуль должна иметь удобный и современный интерфейс пользователя.

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

В ходе последующего анализа в качестве языка для реализации модуля был выбран язык Java, а в качестве инструмента для разработки - пакет Java-Workshop 2.0 фирмы Sun Microsystems. Данное решение основывалось на следующем.

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

Существует несколько вариантов для реализации подобного рода взаимодействия между программой и браузером.

1) Реализация модуля как программы с интерфейсом CGI.

CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web. Обычно гипертекстовые документы, извлекаемые из WWW серверов, содержат статические данные. С помощью CGI можно создавать CGI-программы, называемые шлюзами, которые во взаимодействии с такими прикладными системами, как система управления базой данных, электронная таблица, деловая графика и др., смогут выдать на экран пользователя динамическую информацию. Программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть написана практически на любом языке программирования.

Недостатки данного варианта очевидны. Этот вариант требует обязательной установки WWW-сервера, очень тяжело организовать нормальный интерфейс с пользователем, весь вывод в окно браузера осуществляется только командами HTML, что очень сильно усложняет реализацию и ограничивает возможности программы. Плюсом данного варианта является то, что CGI-программа за исключением интерфейса является полноценной программой, на которую не накладываются какие-либо ограничения из соображений безопасности.

2) Использование языков сценария JavaScript или VB Script.

JavaScript - новый язык для составления сценариев (скриптов), разработанный фирмой Netscape. Этот язык по сути является подмножеством языка Java, но имеет свою специфику. Язык VB Script также является языком для создания скриптов, разработанный компанией Microsoft. Как следует из названия, в основу этого языка лег Visual Basic. Основным применением этих языков является создание интерактивных Web-страниц. Текст скрипта записывается непосредственно в HTML страницу и исполняется браузером. Язык JavaScript поддерживается в браузерах Netscape Navigator начиная с версии 2.0 и Internet Explorer начиная с версии 3.0. VB Script поддерживается только в Internet Explorer начиная с версии 3.0.

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

3) Создание Java-апплета.

Язык Java был задуман как машинно-независимый и объектно-ориентированный язык программирования для Internet. Так как язык HTML, используемый в качестве стандарта в Internet, не мог решить многих проблем, связанных с предоставлением пользователю качественно новых возможностей для работы в Сети (просмотр страниц, содержащих видеоизображения и звук, управление просмотром и удобные графические средства для работы), то возникла необходимость в некотором унифицированном языке, одинаково интерпретируемом на различных аппаратных платформах. Первоначально в качестве такого языка хотели использовать С++ путем расширения его возможностей и адаптации к требованиям работы в сети. Но в процессе работы прояснилось, что ряд черт языка С++ не удовлетворяет требованиям языка для сети. Основным недостатком было явное распределение памяти и соответственно работа с указателями, что затрудняло бы использование программ на различных платформах. В результате был создан объектно-ориентированный машинно-независимый синтаксически схожий с С++ язык программирования в сети Java.

Язык Java можно использовать для разработки программ двух типов: самостоятельных приложений и апплетов. Самостоятельное приложение создается как отдельная программа, выполняемая интерпретатором языка Java. Апплет - это программный код, выполняемый интерпретатором языка Java, встроенным в Web-браузер.

В настоящее время интерпретаторы языка Java встроены в наиболее популярные Web-браузеры, такие, как Netscape Navigator и Microsoft Internet Explorer.

Компилятор языка Java выполняет перевод программы в так называемый байт-код. Байт-код является машинно-независимым кодом, сформированным в соответствии со спецификациями JVM (Java Virtual Machine). Интерпретатор языка Java выполняет скомпилированный байт-код, используя необходимые классы той аппаратной платформы, на которой он выполняется.

Данный вариант наиболее подходит для реализации поставленной задачи. Апплет является практически полнофункциональным приложением, за исключением некоторых ограничений, накладываемых соображениями безопасности. Он обеспечивает возможность создания графического пользовательского интерфейса, подобного интерфейсу системы Windows. Имеется возможность управления просмотром документов в браузере, построения на экране сложных графических изображений. Язык Java предоставляет мощные средства для создания и обработки сложных структур данных. Новые браузеры используют сейчас наряду с интерпретаторами Java также динамические компиляторы, что значительно увеличивает скорость выполнения апплетов.

Таким образом, последний вариант, то есть реализация модуля в виде апплета, наиболее удовлетворяет поставленным требованиям, поэтому выбор был остановлен на данном варианте.

4.2 Основные функции модуля

Модуль обеспечивает выполнение следующих функций:

? считывание файла со структурой электронного учебника, сформированного модулем формирования структуры;

? проверка данной структуры на корректность, и в случае обнаружения некорректности отображение некорректного участка структуры;

? отображение считанной структуры на экране в виде графа;

? отображение списка исходных (неопределяемых) понятий;

? поиск заданного элемента в графе по его названию;

? возможность просмотра выбранного элемента непосредственно в электронном учебнике;

? выделение подструктуры по заданному множеству исходных понятий.

4.3 Требования к аппаратному и программному обеспечению

Как уже говорилось выше, данный модуль представляет собой апплет, и, следовательно, предназначен для просмотра Web-браузером. В настоящее время наибольшее распространение получили два Web-браузера - это Microsoft Internet Explorer и Netscape Navigator. Однако, несмотря на то, что оба эти браузера поддерживают апплеты Java, существуют некоторые различия в их интерпретации, связанные с отсутствием единого стандарта и конкурирующей политикой фирм Microsoft и Netscape. Исходя из того, что браузер Internet Explorer на данный момент времени получил наибольшее распространение, данный модуль ориентирован именно на работу с ним - в часности, с версией Internet Explorer 4.0.

Для использования Internet Explorer 4.0 необходимо, чтобы система удовлетворяла следующим минимальным требованиям:

? процессор 486 с тактовой частотой 66 МГц (рекомендуется Pentium);

? в случае ОС Microsoft Windows 95: оперативная память 8 Мбайт, при использовании активного рабочего стола 16 Мбайт;

? в случае ОС Microsoft Windows NT 4.0: оперативная память 16 Мбайт, при использовании активного рабочего стола 24 Мбайт и установленный пакет Service Pack 3 (или более поздний);

? от 40 до 70 Мбайт места на жестком диске (в зависимости от вида установки);

? мышь.

4.4 Установка модуля

Установка модуля заключается в следующем:

? копирование каталога STRUCT на жесткий диск компьютера. Данный каталог содержит класс апплета и прочие классы, необходимые для работы модуля. Рекомендуется размещать данный каталог в каталоге, содержащем электронный учебник, так как в этом случае файл структуры, созданный модулем формирования структуры в этом же каталоге, будет автоматически загружен модулем обработки структуры (в случае использования параметров по умолчанию);

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

<applet code=struct.Struct.class width=200 height=100>

</applet>

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

4.5 Работа с модулем

4.5.1 Запуск модуля

Запуск модуля осуществляется в браузере через страничку, содержащую ссылку на апплет модуля. Его можно встроить как в отдельную страницу HTML, так и в одну из страниц электронного учебника. В любом случае сам по себе апплет представляет на экране кнопку, изображенную на д. При нажатии на эту кнопку активизируется главное окно апплета, которое и является основным рабочим окном модуля. Данное окно изображено на е.

4.5.2 Назначение элементов модуля

Окно формы модуля содержит следующие основные элементы:

1) Главное меню, включающее в себя следующие пункты:

? меню «Вид», через которое можно выбрать способ представления графа;

? меню «Обработка», содержащее функции для анализа и обработки графа понятий;

? меню «Свойства», в котором настраиваются такие параметры системы.

? меню «Выход», предназначенное для завершения работы с системой.

2) Прокручивающееся окно для просмотра графа понятий.

3) Панель управления, содержащая элементы для управления положением окна просмотра и масштабом изображения.

4.5.3 Загрузка файла структуры

При запуске главного окна модуля автоматически проверяется наличие в каталоге, откуда был открыт содержащий апплет файл HTML, файла с именем «STRUCT.DAT». Если данный файл обнаруживается в каталоге, то структура загружается из него. Если же файл с таким именем отсутствует, то на экран выдается сообщение об ошибке и работа модуля завершается.

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

При успешном открытии и чтении файла в окне просмотра отобразится искомый граф понятий и модуль будет готов для работы с ним.

4.5.4 Окно просмотра структуры

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

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

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

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

При двойном щелчке мышью на какой-либо вершине графа активизируется окно браузера, и в нем открывается текст выбранного определения или теоремы.

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.