Современные информационные технологии/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