Клиент
Клиентская часть веб-приложения выполняет большую часть его функционала, а именно:
· Предоставляет пользователю интерфейс по управлению программой (ввод исходных данных, проверка их корректности, ведение консольного журнала выполнения программы);
Рисунок 12. Интерфейс управления построением графа.
Рисунок 13. Настройки визуализации графа Таблица 2. Описание настроек визуализации.
|
Настройка. | Эффект на визуализацию. | Диапазон допустимых значений. |
Длина пружин. | Чем больше длина, тем на большем расстояния вершины графа будут расположены друг от друга. | Действительное число в диапазоне [45; 500]. |
Коэффициент отталкивания. | Чем выше, тем дальше друг от друга будут расположены вершины графа. | Действительное число в диапазоне [-10; - 0.1]. |
Максимальные колебания покоя. | Чем выше значение, тем быстрее алгоритм прекратит работу (продолжительность колебаний графа). | Действительное число в диапазоне [0.005; 0.5]. |
Коэффициент упругости. | Чем выше, тем меньше расстояние между вершинами и выше частота колебаний. | Действительное число в диапазоне [0.1; 0.1]. |
Коэффициент сцепления. | Чем выше, тем ниже амплитуда и частота колебаний (граф рисуется более плавно). | Действительное число в диапазоне [0.005; 0.09]. |
Режим сбора данных. | Скорость получения информации о списках друзей пользователей и добавления новых ребер в граф: 25 списков друзей (список ребер инцидентных 25 вершинам) в секунду — быстрый режим, 1 список друзей — медленный. | Быстрый / медленный. |
· Формирует и посылает на сервер запрос в зависимости от стадии выполнения (сбор персональных данных главного пользователя, сбор данных его друзей, получение списков друзей);
Рисунок 14. Пример сформированного HTTP-POST запроса для получения персональных данных.
· Обрабатывает полученные с сервера ответы, динамически обновляя информацию о графе;
Рисунок 15. Полученные данные пользователя.
Рисунок 16. Полученные списки друзей пользователей.
· Строит двухмерное представление социального графа;
Рисунок 17. Построенное представление социального графа.
· Рассчитывает социальные характеристики из параграфа [3.4].
Рисунок 18. Рассчитанные характеристики социального графа Изначально был выбран подход, реализующий все функции по работе с графом (за исключением его конечной визуализации) на сервере. Однако он не оправдал себя в ходе экспериментов: приложение ожидало ответа значительное время (в среднем не менее 40 секунд). Вынесение задач по формированию графа на клиентскую часть позволило значительно сократить время ожидания до отклика программы. В дополнение к этому процесс работы алгоритма «направленных сил» над графом стал более наглядным.