Скачать 67.64 Kb.
|
Универсальная интерактивная среда визуализации атрибутированных иерархических графовых моделейЗолотухин Т.А, Колбин Д.С. Новосибирский государственный университет, Факультет информационных технологий ВведениеВизуализация информации — это процесс преобразования больших и сложных видов абстрактной информации в визуальную форму. Универсальным средством представления такой информации являются графы. Любая информация, состоящая из объектов, между которыми имеется связь, может быть наглядно представлена в виде графа. Во многих приложениях используемые графы являются иерархическими и/или атрибутированными [4], наглядное представление этих графов позволяет эффективнее работать с предоставленной информацией. ЦелиЦелью предлагаемого проекта является построение расширяемой системы визуализации атрибутированных иерархических графов с интерактивным управлением этой визуализацией, а так же удобной навигацией по графам. Также перед проектом стоит цель предоставления дополнительных средств, позволяющих повысить качество сопровождения, разрабатываемой системы визуализации. ОбозначенияVisual Graph – название разрабатываемой нами системы. В дальнейшем вместо разрабатываемой нами системы будет употребляться ‘программа’ Область примененияОсновной областью применения будут структуры данных, обрабатываемые компиляторами, т.е. компилятор может сохранить свое внутреннее представление в виде файла (одного из поддерживаемых программой форматов), и программа Visual Graph сможет прочитать граф, содержащийся в этом файле, и отобразить его. В дальнейшем мы предполагаем расширение областей применения. Так, мы планируем охватить генеалогию (семейные деревья), спорт (турнирные деревья), бизнес-менеджмент (визуализация схем предприятий), веб-дизайн (карты сайтов) и другие области, традиционно поддерживаемые аналогичными системами визуализации графов [3]. Программа Visual Graph может работать как в Unix системах, так и в Windows. Существующие проблемыПри решении задачи возникло большое количество проблем. Ниже перечислены те из них, которые будут решаться в рамках данного проекта:
Архитектура системыС ложность разрабатываемой системы, а так же необходимость длительной поддержки системы и обслуживания требуют серьезного и аккуратного подхода к построению архитектуры программы. При построении архитектуры системы был использован шаблон проектирования MVC(Model View Controller) (см. рис. 1)[2]. Рис. 1. Иллюстрация MVC архитектуры [5] ModelК модели относятся: внутреннее представление графа в программе и класс ядра, который заведует всей выдачей и складированием информации, а так же все несущие интерфейсы данной системы. Это такие интерфейсы как: графический интерфейс, интерфейс для бизнес-логики, интерфейс для логирования в системе, а так же интерфейс для исключений, которые могут возникнуть при работе системы. ViewК виду относится, все классы, взаимодействующие с пользователем. В частности это вкладка с мини картой, вкладка для отображения текущего графа, вкладка для отображения свойств вершин и дуг и многое другое. ControllerК контроллеру относятся все классы, реализующие алгоритмы по раскладке графов. А так же чтение из разных форматов файлов. Поддержка разработки и сопровождения программыТак как система разрабатывается больше, чем одним человеком, то естественно, что необходимо каким-то образом синхронизовать все изменения вносимые разными людьми. Для этого в нашем проекте мы используем систему Subversion (SVN)(www.subversion.apache.org). Эта система очень популярна при разработке программных продуктов небольшими командами. Для отслеживания ошибок на этапе разработки, мы используем модульное тестирование. Оно работает по принципу белого ящика. Это когда мы знаем, что содержится в том или ином классе. Таким образом, после добавления нового класса, к нему пишутся тесты, которые гарантируют, что по крайне мере на каких-то данных он работает верно. При модификации старого класса, прогоняются все старые тесты, чтобы убедиться, что внесенные правки не нарушили логику работы программы. Не секрет, что иногда в программе происходят ошибки. Некоторые программы ограничиваются тем, что выводят сообщение об ошибки. А некоторые просто не сообщают об этом, и пользователь получает неправильный результат, но думает, что он правильный. В нашей системе, помимо сообщений об ошибки предусмотрено еще и логирование. Т.е. программа ведет журнал, в который она записывает ход своей работы. При ошибке программы, пользователь может выслать файл лога разработчикам. И у тех в свою очередь будет намного больше информации, для устранения ошибки, по сравнению с тем, если бы пользователь просто сказал, что у него произошла какая-то ошибка. Текущее состояние проектаНа текущий момент:
Ведутся работы над созданием:
Пользовательский интерфейс программы Visual GraphНа рис. 2 изображено текущее состояние пользовательского интерфейса программы Visual Graph. Он включает следующие основные области. Рис. 2. Пользовательский интерфейс программы Visual Graph Мини картаМини карта позволяет обозревать весь граф, находящийся в данной вкладке. Панель инструментовПанель инструментов позволяет работать с графом находящимся в текущей вкладке. Дерево навигацииДерево навигации помогает быстро переключаться между вложенными графами, подграфами и вкладками. Рабочая областьТак как наш продукт предназначен исключительно для визуализации графов и навигации по ним, то вы не можете изменять структуру графа (вносить новые вершина, ребра и т.п.), но вы можете менять расположение вершин. А так же открывать в новых вкладках подграфы или вложенные графы текущего графа, с которым вы работаете. ПланируетсяПланируется добавить панель для отображения атрибутов вершин и ребер. Эта панель будет позволять фильтровать вершины и ребра по атрибутам и затем открывать полученный граф в новой вкладке. Используемые продуктыПри разработке, были использованы следующие продукты:
Литература
|
Программа по курсу: архитектура ядра ос windows История семейства Windows nt. Цели и принципы семейства Windows nt. Основные концепции: Native и Win32 api, режимы ядра и пользователя,... |
1. Объясните провалы рынка. Как они влияют на эффективность экономики,... Для нашей страны это особенно актуально, так как более 50 людей находится за гранью нищеты (в основном пенсионеры, студенты и работники... |
||
Десять советов родителям, имеющим детей подросткового возраста И постоянно сравнивают. В какой-то момент результат этого сопоставления скажется на ваших отношениях с сыном или дочерью. Он может... |
Эта книга написана с практической целью: речь в ней пойдет о том,... Эта книга написана с практической целью: речь в ней пойдет о том, как исцелиться и что для этого можно сделать самому. Однако это... |
||
Макс Вебер «объективность» «исследования в области социальных наук» так, как мы его понимаем; несмотря на то что речь пойдет о вещах «само собой разумеющихся»,... |
И вычислительной техники системное программное обеспечение. Операционная система Windows Минск Дается общая характеристика операционной системы Windows, рассматривается пользовательский интерфейс. Дается понятие файловой системы,... |
||
Рассказали о том, как Божий голос звучит в каждой клеточке нашего организма. Книга И бог, совершенный Сам в Себе, может отдать лишь Себя. Он страдает не от недостатков Своего бытия, как это происходит с людьми, а... |
ОС, она немедленно завершает работу и самопроизвольно перезагружается.... Когда windows xp сталкивается с серьёзной проблемой, ставящей под вопрос дальнейшее правильное функционирование операционной системы... |
||
Учение о системах и структурах организаций Монография Учение о системах и структурах организаций / «Концерн «созвездие». – Воронеж, 2009. – 86 с |
Рэйки вступление Древней Греции (мифы), в христианстве (Библия), у мусульман (Коран). Также существуют записи о системах Рыцарей Храма и Вольных... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |