Речьx

advertisement
Уважаемые председатель и члены государственной аттестационной комиссии, Вашему вниманию
представляется работа студента группы 6513 факультета ИТиП Симонова Андрея на тему:
«Конструктор трехмерных интеллект карт». Руководитель Береснев Артем Дмитриевич
В связи с бурным развитием информационных технологий множество информации переводится в
электронный вид. Бизнес процессы не исключение. В связи с лавинообразным ростом объемов и
сложности информации, возникает проблема её структурирования. Один из методов, активно
использующихся и развивающийся - это метод диаграммы связей или «интеллект карты». Этот
метод разработал Тони Бьюзен, и сейчас он активно его пропагандирует. Как один из путей
развития этой концепции – переход к трехмерным картам.
В настоящее время хорошо программно поддрежаны двумерные ИК, однако поддержка создания
трехмерных ИК пока оставляет желать лучшего.
Вывод: Необходима ….
Немного об интеллект картах. Диагра́мма свя́зей, известная также как интелле́кт-ка́рта, (англ. Mind
map) — способ изображения процесса общего системного мышления с помощью схем. Также
может рассматриваться как удобная техника альтернативной записи.
Диаграмма связей реализуется в виде древовидной схемы, на которой изображены слова, идеи,
задачи или другие понятия, связанные ветвями, отходящими от центрального понятия или идеи. В
основе этой техники лежит принцип «радиантного мышления», относящийся к ассоциативным
мыслительным процессам, отправной точкой или точкой приложения которых является
центральный объект. Подобный способ записи позволяет диаграмме связей неограниченно расти
и дополняться. Диаграммы связей используются для создания, визуализации, структуризации и
классификации идей, а также как средство для обучения, организации, решения задач, принятия
решений, при написании статей.
Это решение сейчас активно обсуждается в среде пользователей, однако на данный момент не
существует полноценного программного продукта.
Проанализировав сложившуюся ситуацию, можно сделать вывод о необходимости разработки
такого конструктора, который бы позволял работу с интеллект картами в 3х плоскостях. Это и
является целью работы, которая вместе с задачами отображены на данном слайде.
Концепция решения: программа является исполняемым приложением, которое представляет из
себя визуальный трехмерный редактор и предоставляет пользователю набор интерфейсов и
инструментов для полноценной работы с трехмерными интеллект картами.
Концепция решения определяет парадигму функциональных требований. Очень важным является
расширяемость приложения, т.к. этот пункт обусловлен самой идей интеллект карт. Это значит,
что необходимо предусмотреть такую структуру приложения чтобы она могла легко обновлять
свой набор инструментов, в том числе, с помощью сторонних разработчиков. Так же важно
обеспечить возможность использования дополнительных данных, т.к. это серьезно расширяет
возможности приложения. С помощью этого функционала можно, например, составлять курс
лекций. Остальные пункты концепции в отображены на этом слайде
Рассмотрим ближайшие существующие аналоги создаваемого приложения. Я не стану
рассматривать приложения не использующие 3х мерные интеллект карты, т.к. они лежат за
пределами предметной области. На данный момент существует несколько программных
решений: это наиболее распространенный TopicScape, NetDraw, а так же Nelemnts, поддержка
которого прекратилась в 2006 году. Стоит отметить так же такие решения как Virtaul Life и
Morcego.
По сути дела, настоящими редакторами интеллект карт являются только TopicScape и Nelements,
однако и у того и другого есть существенные отличия. TopicScale использует третье измерение
только в качестве веса элемента, сама же карта остается плоской, а в Nelemnts остутсвует UI и как
следствие ряд функционала, как то: редактирование элементов, не реализовано. К тому же
Nelements имеет серьезные проблемы с запуском на новейших системах и большой количество
ошибок.
NetDraw вообще не является редактором интеллект карт – это редактор трехмерных графов,
однако т.к. интеллект карта – частный случай графа, то его тоже можно принять за аналог, однако
в нем нет интерфейса – работает консольный ввод данных. Тоже самое можно сказать про
Morcego – это java апплет для интеграции на веб-сайт, на вход который принимает xml данные. 3D
mind mapping in Virtual Life – это всего лишь концепция, которая использует 3хмерную онлайн игру
Virtaul Life для построения карт.
В целом можно сказать что реальным аналогом является только TopicScape, обладающий
достаточно мощным функционалом и Nelements, который может использовать большой набор
фигур в качестве элементов карты.
Диаграммы компонентов моделируют физический уровень системы. На них изображаются
компоненты ПО и связи между ними. Архитектура приложения содержит несколько
особенностей, обусловленных характером разработки. Внутренняя структура разбита на
несколько компонентов, например…
-- Рассказать про один из компонентов --
На данной диаграмме пакетов представлена внутренняя структура приложения. На диаграмме
четко видно разделение на «пакеты» - части приложения. Некоторые из них – Graphic Engine
Implementation, Wrappers и Mind Map Classes Implememntation компилируются в отдельные
библиотеки, для поддержания расширяемости приложения. Т.е. можно расширять набор
инструментов, не компилируя все приложение. Более подробную диаграмму - классов, которая
следует из диаграммы пакетов можно увидеть в раздаточном материале. В ней представлены
основные проектные классы приложения, которые в ходе реализации наполнялись
необходимыми полями и методами. Например, класс LocaleHelper загружает временные классы
из файлов ресурсов, что позволяет использовать многоязычность. На данной диаграмме классов
видно использование шаблонов проектирования – «Мост», «Объектный пул», «Итератор»,
«Адаптер» и «Обертка»
Диаграмма вариантов использования показывают взаимодействия между вариантами
использования и действующими лицами, отражая функциональные требования к системе с точки
зрения пользователя. Цель построения диаграмм вариантов использования - это
документирование функциональных требований в самом общем виде, поэтому они должны быть
предельно простыми. Данная диаграмма вариантов использования является самым общим
представлением функциональных требований к системе для двух ролей пользователей –
Пользователь и Сторонний разработчик. Более подробную диаграмму вариантов использования
можно посмотреть в раздаточном материале.
Оценка пригодности языка программирования и платформы проводилось по следующим
параметрам:
простота разработки;
- общая производительность;
- наличие и доступность справочного материала;
- поддержка со стороны производителя;
- наличие графических библиотек;
- наличие набора интерфейсных компонентов.
Как видно из представленной на слайде таблице наиболее подходящей платформой была
выбрана .NET а язык – C#
Для демонстрации возможностей приложения, необходимо разработать стандартную библиотеку
для отображения трехмерной интеллект-карты, для чего бы произведен обзор графических
библиотек, по следующим параметрам:
- свободная интеграция со стандартными формами в виде элемента интерфейса;
- наличие справочного материала;
- наличие поддержки со стороны производителей;
- высокая производительность;
Из таблицы видно, что оптимальным выбором является «TAO.Framework», который
удовлетворяет всем требованием. К минусам «TAO.Framework» можно отнести разрозненный
справочный материал, но с современными системами поиска, это не представляет особой
проблемы.
В ходе реализации приложения были использованы технологии представленные на сайте. Выбор
данных технологий обуславливался простотой использования с одной стороны, полной
совместимостью между собой, доступностью справочного материала. Так же крайне важным
аспектом было наличие поддержки со стороны производителей.
-- Рассказать про выбор графического движка в 2х словах --
При реализации продукта приложения был написан базовый набор абстрактных классов и
интерфейсов, от которых в свою очередь от которых в свою очередь наследовались исполняемые
классы приложения, вынесенные в отдельные библиотеки. Для демонстрации возможностей
базовых классов была написана реализация графического ядра на основе OpenGL и простейший
вариант данных (название - описание) для интеллект карты.
Пользовательский интерфейс включает в себя 3D отображение интеллект карты, древовидную
структуру, которая показывает все элементы загруженных карт. Microsoft Office подобный
интерфейс создан с помощью Developer Express компонентов, так что необходимые элементы
управления разбиты на категории и располагаются в разных вкладках. Управление трехмерной
картой возможно с помощью клавиатуры и с помощью мыши.
На данный момент реализована внутренняя модель классов, графическое ядро и создан
пользовательский интерфейс, однако связь между интерфейсом и объектной моделью в процессе
реализации.
Спасибо за внимание.
Download