Инструкция по использованию программы Visual Graph для пользователей и разработчиков Оглавление ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ПРОГРАММЫ .............................................................................. 1 VISUAL GRAPH ...................................................................................................................................................... 1 ДЛЯ ПОЛЬЗОВАТЕЛЕЙ И РАЗРАБОТЧИКОВ ................................................................................................ 1 ОГЛАВЛЕНИЕ .......................................................................................................................................................... 2 ИНСТРУКЦИЯ ПО СБОРКЕ ПРОГРАММЫ ДЛЯ WINDOWS ..................................................................... 3 СОГЛАШЕНИЕ О КОНФИГУРАЦИОННОМ ФАЙЛЕ ПРОГРАММЫ ...................................................... 7 ОБЩИЕ ПОЛОЖЕНИЯ................................................................................................................................................. 7 ОБЩИЕ СВОЙСТВА .................................................................................................................................................... 7 ЗАМЕЧАНИЕ .............................................................................................................................................................. 8 СОГЛАШЕНИЕ ОБ УЗЛАХ СКЕЛЕТА ГРАФА ................................................................................................ 8 ИНСТРУКЦИЯ ПО ЗАПУСКУ ПРОГРАММЫ. ................................................................................................ 8 ИНСТРУКЦИЯ ПО НАПИСАНИЮ ТЕСТОВ. ................................................................................................... 9 ВВЕДЕНИЕ................................................................................................................................................................. 9 СОЗДАНИЕ ТЕСТА ..................................................................................................................................................... 9 ДОБАВЛЕНИЕ ТЕСТА В SUITE .................................................................................................................................... 9 ЗАПУСК SUITE ........................................................................................................................................................... 9 ПОДКЛЮЧЕНИЕ WINDOW TESTER PRO ................................................................................................................... 10 ЗАКЛЮЧЕНИЕ.......................................................................................................................................................... 10 СОГЛАШЕНИЕ ПО ИМЕНОВАНИЮ ВКЛАДОК .......................................................................................... 10 ПРИМЕР................................................................................................................................................................... 10 ИНСТРУКЦИЯ ДЛЯ ПОЛЬЗОВАТЕЛЯ ............................................................................................................ 11 КРУГ ЗАДАЧ РЕШАЕМЫХ ДАННОЙ ПРОГРАММОЙ ................................................................................................... 11 ЭЛЕМЕНТЫ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ................................................................................................... 11 Меню ................................................................................................................................................................. 11 Панель инструментов ..................................................................................................................................... 12 Панель атрибутов ........................................................................................................................................... 12 Фильтр .............................................................................................................................................................. 12 ПОШАГОВЫЕ ИНСТРУКЦИИ .................................................................................................................................... 13 Открытие файла ............................................................................................................................................. 13 ОПИСАНИЕ ПРЕДОПРЕДЕЛЕННЫХ АТРИБУТОВ .................................................................................... 16 Инструкция по сборке программы для Windows 1) Скачать программу eclipse (http://www.eclipse.org/). В этом мануале использовался eclipse Helios (Build id: 20100617-1415). 2) Скачать jdk 1.6 (http://java.sun.com/) 3) Установить jdk. 4) Установить eclipse. 5) Запустите eclipse. В начале вам предложат выбрать место для хранения ваших проектов. Выберите папку, которая вам подходит и нажмите 'Ok'. После чего вы увидите следующее окно. 6) Далее пропишем в eclipse путь к jdk. Для этого откройте Window->Preferences->Java->Installed JREs. Жмем кнопку 'Add'. В диалоге выбираем Standart VM и жмем 'Next'. Далее выбираем папку с jdk и жмем 'Finish'. После того как она появилась в списке возможных JREs, cтавим на ней галочку и жмем 'Ок'. 7) Далее необходимо выкачать проект с SVN. Если вы хотите выкачать проект с помощью SVN плагина для eclipse, тогда воспользуйтесь пунктом 8 и 9. Если вы хотите выкачать проект другой утилитой, работающей с SVN и открыть проект в eclipse, тогда переходите к пункту 10. Адрес SVN: “https://visualgraph.svn.sourceforge.net/svnroot/visualgraph”. Папка Visual Graph. Либо же можно его просто выкачать с помощью браузера. Делается это по ссылке: “http://visualgraph.svn.sourceforge.net/viewvc/visualgraph/Visual Graph/”. Кликните по ссылке с надписью “Download GNU tarball”. Далее сохраните архив на свой компьютер. После чего разархивируйте его в папку workspace eclipse’a. Переходите к пункту 10. 8) И так вы хотите поставить SVN плагин в eclipse и с его помощью выкачать проект. Тогда следуйте инструкциям ниже. Help->Install New Softaware. Нажмите кнопку 'Add'. После чего вы увидите диалоговое окно. Введите поля. Напишите в поле Name ‘svn’, а в поле Location ‘http://subclipse.tigris.org/update_1.6.x’. Как показано на картинке. Затем нажмите 'Ok'. Далее следуйте инструкциям по установке. 9) Загружаем проект с SVN. Для этого сделайте следующее: File->Import. Там будет вкладка SVN. Выберите в ней пункт 'Checkout Projects from SVN' и нажмите кнопку 'Next'. Далее выберите пункт меню 'Create a new repository location' и нажмите 'Next'. Введите в поле 'Url' следующий адрес https://visualgraph.svn.sourceforge.net/svnroot/visual graph Нажмите 'Next'. После чего вы увидите дерево с проектом Visual Graph. Кликните на него и нажмите Next. Далее следуйте инструкциям. После переходите к пункту 11. 10) И так вы скачали проект самостоятельно и хотите открыть его в eclipse. Для этого вначале перенесите скачанный проект в директорию, которая служит workspace для ваших проектов в eclipse. Далее нажмите на File->Import. Расширьте General и выделите Existing project into workspace. После чего кликните Next. В следующем в Select root directory кликните Browse и выберите workspace, в который вы скопировали проект. Если вы все сделали правильно. То должны увидеть следующую картинку. После чего жмем Finish. Переходите на пункт 11. 11) Теперь у нас есть загруженный проект, и можно приступать к сборке. Делается это несколькими нажатиями мышки. Откройте вкладку (папку) ant в проекте в режиме Package Explorer. Кликните правой кнопкой по файлу build.xml и выберите пункт меню Run As->Ant Build. На консоль выводится информация. В конце будет надпись BUILD SUCCESSFUL. Как на рисунке. Поздравляем, сборка окончена. Зайдите в папку проекта и вы увидите папку release. Это и есть собранная версия программы готовая к использованию. Соглашение о конфигурационном файле программы Общие положения Конфигурационный файл необходим для запоминания пользовательских настроек, которые тот сделал в предыдущей сессии. Конфигурационный файл программы находится в папке data и называется config.ini. Файл устроен в виде: property 1 = value of property 1 property 2 = value of property 2 … property N = value of property N Общие свойства WindowSizeX Ширина окна программы. Указывается в пикселях. Например: 800. WindowSizeY Высота окна программы. Указывается в пикселях. Например: 600. WindowPosX Расположение верхнего левого угла программы по оси X. Указывается в пикселях. Например: 200. WindowPosY Расположение верхнего левого угла программы по оси Y. Указывается в пикселях. Например: 200. L&FStyle Стиль оформления пользовательского интерфейса программы. Указывается название. Например: Windows Classic. Debug Включение или отключение вывода вспомогательной, предназначенной для более детального рассмотрения работы программы. Указывается строковой константой true или false. Замечание Конфигурационных файл может и не содержать определенных выше полей. Конфигурационный файл может содержать и другие поля, определенные пользователем и предназначенные для каких — либо сторонних плагинов. Соглашение об узлах скелета графа TODO Инструкция по запуску программы. 1) Необходима JVM версии 1.6 или выше. Для того чтобы проверить вашу версию откройте программу cmd.exe (Пуск->Выполнить->cmd.exe) и набираем java – version. Если у вас нету jvm или версия более ранняя, тогда вам нужно скачать ее с официального сайта (http://java.sun.com/). После чего вам необходимо установить ее. Если все требования выполнены, то переходите к следующему пункту. Иначе обратитесь в тех. поддержку или поищите информацию по установке jvm в Интернете. 2) Пробуем запустить. Это можно сделать двумя вариантами. 1 - Вариант: Щелкаем два раза по jar и все. 2 - Вариант: a) Открываем cmd.exe(Пуск->Выполнить->cmd.exe) б) В cmd.exe переходим в папку с jar файлом(Visual Graph.jar) в) Набираем java -jar "Visual Graph.jar" и жмем Enter. Инструкция по написанию тестов. Введение Этот материал предназначен для разработчиков проекта Visual Graph. Т.е. он возможно не будет иметь смысла для других проектов. Создание теста 1) Создайте новый пакет, если тест который вы хотите написать логически не укладывается не в один существующий. 2) Добавьте java класс в этот пакет. 3) Отнаследуйтесь этим классом от TestCase, который лежит в junit. 4) Теперь вы должны определить конструктор, который принимает строку. Эту строку вы должны передать классу родителю. Эта строка будет использоваться для нахождения метода в этом классе. Т.е. строка = имя какого-то метода в этом классе. 5) Пишем свой метод, который тестирует какую-то функциональность системы. В этом методы можно использовать класс Assert. У него есть много методов для сравнения. Суть заключается в том, что если assert сработает то ваш тест пройдет не удачно и вы об этом узнаете. В противном случае все будет хорошо и тест будет считаться пройденным. 6) После того как мы написали тест необходимо его добавить в Suite для исполнения. Т.е. вы конечно можете его исполнить и без этого, но тогда вам нужно будет делать это каждый раз руками. Добавление теста в Suite 1) Если ваш тест логически не укладывается в уже существующие Suite’ы, тогда создайте новый. Для этого кликните в пакете AllSuite и создайте новый java класс. Он должен выглядеть так: package AllSuite; import junit.framework.TestSuite; public class ModelSuite { public static Test suite() { TestSuite suite = new TestSuite("Name"); //$JUnit-BEGIN$ //$JUnit-END$ return(suite); } } 2) Между BEGIN и END вставляйте методы suite.addTest(new Test(“Name methods”)); Где Name methods – это имя методы в классе Test, который мы хотим вызвать. 3) Все готово. Остались детали. Запуск Suite 1) Нажимаем правой кнопкой мыши по Suite, который мы хотим запустить. 2) Выбираем пункт меню Run as->Junit. 3) После чего он автоматически запустится и у вас появится навигатор Junit. В нем вы можете узнать полную информацию о тестах. Какие тесты прошли, а какие завалились. Подключение Window Tester Pro Для написания тестов для пользовательского интерфейса будет использоваться такой продукт как Window Tester Pro. Данный продукт полностью удовлетворяет нашим требованиям, т.к. легко встраивается в среду разработки Eclipse в виде плагина, а его тесты выглядят как JUnit тесты. Что дает нам возможность совместить их запуск. Для подключения Window Tester Pro просто следуйте инструкциям данным на сайте(http://code.google.com/intl/ru/webtoolkit/tools/wintester/html/index.html) Заключение Если тесты, которые вы написали, будут использоваться и дальше, то оберните их в Suite(как это было показано выше) и добавьте ваш Suite в класс AllSuite. Это делается аналогично (там уже есть пример как это делается). Зачем нужна такая иерархия для тестов? Очень просто. После того, как человек внес изменения в старый код или написал новый, он должен будет запустить всего лишь один класс AllSuite. Чтобы посмотреть не нарушается ли работа того, что раньше работало. Соглашение по именованию вкладок Каждая вкладка имеет полное название(далее fullName) и сокращенное название(shortName) shortName – краткое название вкладки. Если открывается полный подграф целиком, то shortName равняется имени подграфа. Если открывается часть подграфа, то shortName равняется имени подграфа в квадратных скобках. fullName — полный путь от корневого графа графовой модели. Конечный переход должен быть shortName. shortName отображается в названии вкладки fullName отображатся при наведении мышки к шапке вкладке Пример Пусть есть следующий граф. Допустим мы хотим открыть innerGraph1 в новой вкладке. Тогда shortName будет равно innerGraph1, а fullName будет равно Graph->innerGraph1. Теперь представим, что мы хотим открыть vertex1 и vertex2 в новой вкладке. Тогда shortName будет равно [innerGraph1], а fullName будет равно Graph->[innerGraph1]. Инструкция для пользователя Круг задач решаемых данной программой Данная программа решает следующий круг задач: визуализация графа на плоскости, визуализация его отдельных частей (с возможностью фильтрации по выбранному признаку), применение различных раскладок для графа, а так же возможность оставлять комментарии к графу. Элементы пользовате12льского интерфейса После запуска программы вы увидите следующее окно. Меню Панель инструментов Вызывает диалог открытия файла Рассмотрим детально. Меню Вся функциональность данной программы заключена именно здесь. Вам доступны следующие пункты: File – этот пункт меню содержит функции для работы с файлами и вкладками. o Open file – открывает файл с графом. o Close tab – закрывает текущую вкладку. o Quit – выход из программы. Edit – этот пункт меню содержит функции для редактирования текущего графа или его подграфа. o Undo – откатить ваши действия на шаг назад. o Redo – откатить ваши действия на шаг вперед. o “+” - увеличить масштаб. o “-” - уменьшить масштаб. o Filter – запустить фильтр для выделенных вершин и ребер. Help – посмотреть информацию о программе. Панель инструментов Это набор часто используемых функций. Они действуют на текущую вкладку. “+” - увеличить масштаб. “-” - уменьшить масштаб. Панель атрибутов Это еще одна функциональность, которая призвана помочь пользователю в получении информации. Как это работает? Очень просто вначале посмотрите скриншот: По центру вы видите как пользователь обвел элементы графа. Это могут быть как вершины так и ребра. После этого все атрибуты находящиеся у выделенного подграфа окажутся на панели атрибутов справа. Первая колонка Show отвечает за визуализацию данного атрибута (вторая колонка). Т.е. Если вы нажмете на галочку на этом атрибуте и скажете Apply, то данный атрибут визуализируется прямо в текущей вкладке. В третьей колонке показаны все значения которые принимает данный атрибут. В четвертой колонке говорится к чему относится данный атрибут(вершина или ребро). Фильтр Описание Плагин, разработанный для отбора вершин и ребер в выбранной пользователем части графа. Скриншот фильтра Принцип работы В панели условий для вершин можно задать условия, которые будут использоваться для выбора вершин. Аналогичная панель есть для ребер. Если условия для вершин(ребер) не заданы, то будут выбраны все вершины (ребра). Включить или отключить фильтр по ребрами и/или по вершинам можно поставив или убрав соответствующий флажок флажок. Пример Если сделать все как на рисунке выше, то нажав на кнопку Do можно получить следующий результат. Если в качестве действия выбрано открытие в новой вкладке или смена текущей вкладки, то будет получен следующий результат. Здесь видно, что часть вершин стала полупрозрачными (аналогичная ситуация прослеживается и с ребрами, если на них задать условия). Полупрозрачные вершины (ребра) это вершины (ребра), не выбранные фильтром. Поисковая панель Пошаговые инструкции Открытие файла 1) Запустите программу Кликните на File, а затем на Open file Интерактивной надписи 2) В появившемся окне кликните по интерактивной надписи, либо в меню кликните File->Open file (Ctrl-O). 3) Появится диалоговое окно, где вы должны выбрать файл с хранящимся в нем графом. Файл должен быть поддерживаемого расширения (поддерживаемые расширения см. в пункте ‘Поддерживаемые расширения для файлов’) После того как вы выберите файл кликните на кнопке Open. 4) Если вы все сделали верно, и файл не содержит ошибок (в противном случае программа вас оповестит об этом), то вы увидите следующее окно. Текущая вкладка Кликнуть два раза левой клавишей мыши, чтобы открыть вложенный граф. Мини карта 5) Видно, что после открытия файла стали доступны инструменты для редактирования, появилась мини карта и вкладка с графом (подробное описание этих элементов см. в “Описание элементов интерфейса”). В данном примере видно, что вершина ‘module1’ содержит в себе вложенный граф. Чтобы его открыть просто щелкните два раза на вершине. И у вас появится соседняя вкладка с вложенным графом. 6) Для того чтобы закрыть текущую вкладку необходимо кликнуть на File->Close tab Описание предопределенных атрибутов Атрибуты должны быть определенны в файле согласно спецификации graphML. В программе предопределены следующие атрибуты: атрибут “name” — атрибут для визуализации по умолчанию. Если определен для графа, то используется для именования вкладки, атрибуты вершин: ◦ атрибут “color” — используется для задания цвета вершин, доступны следующие цвета: ▪ “white”, ▪ “black”, ▪ “red”, ▪ “green”, ▪ “blue”, ▪ “orange”, ▪ “yellow”, ▪ “pink”, ▪ “turquoise”, ▪ “gray”, ▪ Так же поддерживается задание RGB кода цвета, используя #RrGgBb запись. ◦ атрибут “shape” — используется для задания формы вершины, доступны следующие формы: ▪ “rectangle”, ▪ “ellipse”, ▪ “doubleEllipse”, ▪ “rhombus” ▪ “cylinder”, ▪ “triangle”, ▪ “hexagon”, ▪ “cloud”. Атрибуты ребер: ◦ атрибут “dashed” – если значение атрибута true, то ребро будет рисоваться пунктиром.