Современные
информационные технологии/2. Вычислительная техника и программирование
Аспирант
Токарчук А.М.
Московский
государственный университет путей сообщения (МИИТ), Россия
Метод графического анализа веб-приложений
Веб-приложение
(ВП), как и любое другое программное средство (ПС) можно оценить как количественно
(с помощью существующих метрик программного кода), так и качественно (с помощью
экспертных оценок). Кроме известных на данный момент метрик (таких как
количество строк кода, цикломатическая сложность) ПС автором предлагаются новые
метрики (мощности множеств уникальных имён контроллеров и функций-действий
контроллеров), разработанные специально для оценки ВП приложений класса
«Модель-Вид-Контроллер» (МВК).
К-уровень ВП состоит из функций-действий контроллеров
модулей. Для визуализации К-уровня предлагается следующий алгоритм:
1. Проводится кодирование названий модулей
посредством присвоения каждому модулю последовательного уникального числового
идентификатора.
2. Проводится обход всех классов-контроллеров
в модуле i. Осуществляется кодирование
названий контроллеров аналогично п.1. В случае нахождения контроллера с именем,
исходный код которого уже известен, ему в соответствие ставится найденный код
(без генерации нового).
3. Проводится обход всех функций-действий
(публичных функций) класса контроллера с кодированием аналогично п.1,2.
4. Составляется ассоциативный массив
глубиной 3, в который записывается соответствие кодов модулей, контроллеров и
их действий.
5. По полученным данным строится трехмерный
точечный график (рис.1).
Рисунок 1
─ МВК график ВП.
На графике по оси абсцисс откладывается
коды модулей, по оси ординат – коды контроллеров, а по оси аппликат – коды
действий. Каждая точка на графике – отдельное действие контроллера. Данный
график позволяет провести графический анализ ВП. Далее последует список
определений графического анализа.
Опр.1.
ВП на МВК и производной от неё
архитектуре характеризуется распределением действий по модулям и контроллерам,
а также тремя метриками:
-
|Mu| - мощностью множества уникальных модулей, которое
соответствует общему числу модулей, т.к. название модуля должно быть
уникальным;
-
|Ku| - мощностью множества уникальных контроллеров;
-
|Au| - мощностью множества уникальных действий.
Опр.2. Ряды точек вдоль оси ординат означает унификацию имён
действий среди разных контроллеров одного модуля. Это косвенно свидетельствует
о стремлении разработчика сократить разнообразие методов доступа, т.е. о
формировании системы команд (прикладного языка) К-уровня.
Опр.3. Ядром МВК структуры ВП будет называться скопление
точек на графике. Например, для ВП Pimcore (рис.2) на
графике заметно скопление структур в виде вертикальных столбцов точек в модуле
6. Такая ситуация свидетельствует о необходимости улучшения программного кода
ВП (рефакторинге), для чего следует применять методы «вынесение функций»,
«фасад» и др.
Рисунок 2
─ МВК-график ВП Pimcore.
Опр.4. Мощностью множества уникальных контроллеров (|Ku|) является максимальное значение кода контроллера или
самой удалённой точки по оси ординат. Большое значение |Ku| (рис.3) свидетельствует о принадлежности ВП к REST или
ресурсному типу.
Опр.5. Вертикальные ряды точек вдоль оси аппликат свидетельствуют
об унификации имён контроллеров. Как следствие, ВП имеет некоторое множество
названий ресурсов одинаковых в разных модулях, что свидетельствует о его
принадлежности к REST-типу.
Опр.6. Мощностью множества уникальных действий (|Au|) является максимальное значение кода действия или
самой удалённой точки по оси аппликат. Большое значение |Au| свидетельствует о низкой степени унификации К-уровня
ВП.
Рисунок 3 ─ МВК-график
ВП Bizsense. |
Рисунок 4
─ МВК-график ВП Tomato. |
В результате применения метода графического
анализа получены новые метрики ВП |Au|, |Mu|, |Cu|, а также определения структур МВК-графика и их
смысловая нагрузка. Данные результаты позволяют повысить скорость анализа ВП,
они могут использоваться как при интерпретации МВК графика существующих ВП, так
и при разработке новых.
Литература:
1. Романов В.Ю. Анализ программного
обеспечения с использованием объектно-ориентированных метрик. Обзор метрик,
[Электронный ресурс]:
графика, текст – Электрон. дан. – Режим доступа:
http://oit.cmc.msu.ru/romanov/russian/pub/OOMetrics-Report.htm, свободный.
2. Фаулер
М. Рефакторинг. Улучшение существующего кода. / СПб.:Символ-плюc 2008г., 430с.
3. Токарчук А.М. «Разработка паттерна ActiveModel для программирования
интернет-приложения методом объектно-реляционного отражения» / А.М. Токарчук //
Информационные технологии – 2010 – N9