канд. техн. наук, доц. кафедры Автоматизированные системы управления, ФГБОУ ВПО Донецкий национальный технический университет, РФ, г. Донецк
КРИТЕРИИ ВЫБОРА АРХИТЕКТУРЫ МОБИЛЬНОГО ПРИЛОЖЕНИЯ
АННОТАЦИЯ
Цель работы заключается в формализации критериев оценки архитектурных решений в мобильной разработке в условиях роста функциональной и структурной сложности приложений.
Методология исследования основана на представлении архитектуры мобильного приложения в виде системы взаимосвязанных компонентов и использовании метрических показателей для описания её структурных и эксплуатационных свойств. Рассматриваются критерии модульности, масштабируемости, производительности, тестируемости и скорости разработки, для которых приводятся формальные определения и нормированные показатели, включая метрику распространения изменений.
Результаты работы заключаются в выделении и обосновании совокупности архитектурных критериев, пригодных для количественного анализа и сопоставления архитектурных решений на ранних этапах проектирования. Обсуждение подчёркивает методологический характер предложенного подхода и его потенциал для дальнейших исследований, направленных на разработку практических методик и инструментов оценки архитектуры мобильных приложений.
ABSTRACT
Purpose of the work is to formalize the criteria for evaluating architectural solutions in mobile development under conditions of increasing functional and structural complexity of applications.
Research methodology is based on representing the architecture of a mobile application as a system of interconnected components and using metric indicators to describe its structural and operational properties. The criteria of modularity, scalability, performance, testability, and development speed are considered, for which formal definitions and normalized indicators are provided, including the change propagation metric.
Results of the work consist in identifying and substantiating a set of architectural criteria suitable for quantitative analysis and comparison of architectural solutions in the early stages of design. The discussion emphasizes the methodological nature of the proposed approach and its potential for further research aimed at developing practical methods and tools for evaluating the architecture of mobile applications.
Ключевые слова: архитектура мобильных приложений, оценка архитектуры, критерии качества, модульность, связность, поддерживаемость, тестируемость, структурная сложность, стоимость изменений, метрики программного обеспечения.
Keywords: mobile application architecture, architecture evaluation, quality attributes, modularity, coupling, maintainability, testability, structural complexity, change cost, software metrics.
Введение.
Развитие мобильных приложений в последние годы характеризуется значительным ростом функциональной насыщенности, усложнением пользовательских сценариев и повышением требований к качеству программного обеспечения. Мобильные системы перестали быть изолированными клиентскими приложениями: они интегрируются с распределёнными сервисами, обрабатывают большие объёмы данных в реальном времени, обеспечивают высокую надежность, безопасность и предсказуемость поведения. Эти тенденции приводят к увеличению архитектурной сложности программных решений и требуют использования формализованных методов проектирования. Одним из ключевых факторов, определяющих эффективность разработки и сопровождения мобильных приложений, является выбор архитектурной модели. Архитектура определяет структуру взаимодействия компонентов, влияет на степень модульности, возможность переиспользования, трудоёмкость внесения изменений, тестируемость и расширяемость системы.
Учитывая многообразие существующих подходов и отсутствие единообразного метода выбора архитектуры под конкретные требования [1, 2], возникает необходимость в системном исследовании, опирающемся на формализованные показатели качества. В научной литературе и инженерной практике наблюдается стремление переходить от описательного сравнения архитектур к метрическому анализу [3], позволяющему количественно оценивать структуру и динамику программных систем. Метрики связности, стоимости распространения изменений и поддерживаемости дают возможность для объективного сопоставления архитектурных моделей.
Целью работы является формализация критериев оценки архитектурных решений мобильных приложений.
Методология исследования.
Эффективность архитектуры мобильного приложения определяется совокупностью структурных и эксплуатационных характеристик [4], каждая из которых может быть формализована в виде метрических показателей. Такая формализация позволяет перейти от описательного анализа архитектурных паттернов к их количественному сравнению, что особенно важно при проектировании систем с длительным жизненным циклом и высокой изменчивостью требований. Ниже приводится математическая модель, ориентированная на формальную оценку архитектурных решений на основе пяти ключевых критериев: модульности, масштабируемости, производительности, тестируемости и скорости разработки.
Результаты формализации критериев.
Модульность характеризует способность системы быть разложенной на автономные, слабо связанные компоненты [4]. Для формализации этой характеристики система моделируется в виде взвешенного ориентированного графа зависимостей.
/Zemlyanskaya.files/image001.png)
где:
V- все элементы системы
E - набор ориентированных рёбер /Zemlyanskaya.files/image002.png)
- вес зависимости, отражающий силу или частоту вызова
Вершины соответствуют элементам архитектуры, а веса рёбер отражают интенсивность или значимость зависимостей между ними. Разбиение системы на модули трактуется как разбиение множества (V) на непересекающиеся подмножества
, /Zemlyanskaya.files/image005.png)
где
– модуль, содержащий вершину /Zemlyanskaya.files/image007.png)
Для каждого элемента определяется величина внешнего сцепления, учитывающая суммарный вес всех зависимостей, пересекающих границу модуля. Обобщённой характеристикой модульности выступает нормированная доля межмодульных связей, усреднённая по элементам системы. Низкие значения данной метрики свидетельствуют о хорошей локализации ответственности и устойчивости системы к точечным изменениям. Пример графа изображен на рисунке 1.
/Zemlyanskaya.files/image008.jpg)
Рисунок 1. Граф зависимости модулей
Масштабируемость определяется степенью локализации изменений: чем меньше модулей затрагивает модификация одного элемента, тем более устойчива архитектура к росту функциональности. Для её оценки используется метрика распространения изменений CPM (Change Propagation Metric), определяемая как доля модулей, потенциально затрагиваемых изменением в модуле
.
/Zemlyanskaya.files/image010.png)
где N - общее число модулей в системе
- множество затронутых модулей, т.е. всех
, для которых существует хотя бы одна зависимость между элементами модулей
и /Zemlyanskaya.files/image013.png)
- мощность (число элементов) этого множества.
В числителе стоит
- количество модулей, которые затронут изменение в
. В знаменателе фиксированное число N-1: максимально возможное число модулей, отличных от
.
Метрика принимает значения от 0 до 1, где 0 соответствует полной изоляции модуля, а 1 - максимальному распространению изменений на всю систему. Среднее значение по всем модулям позволяет количественно оценить масштабируемость архитектуры в целом.
Производительность архитектуры оценивается на основе показателей пропускной способности и объёма потребляемой памяти. Оба параметра нормируются в диапазон [0,1] относительно заранее определённых предельных значений, после чего объединяются в интегральный показатель. Такой подход позволяет оценивать архитектурные решения независимо от конкретных аппаратных характеристик устройства и анализировать влияние архитектурного паттерна на вычислительные свойства системы.
Тестируемость определяется количеством архитектурных элементов, доступных для изолированного тестирования [5]. В качестве базового нормированного показателя используется отношение числа протестированных методов к общему количеству методов в системе.
/Zemlyanskaya.files/image016.png)
где
- общее число методов в кодовой базе
- число методов, которые покрыты хотя бы одним тестом.
Высокие значения метрики свидетельствуют о чётких интерфейсных границах между компонентами и минимальном количестве скрытых зависимостей, что является фундаментальным свойством архитектур, ориентированных на поддерживаемость и безопасный рефакторинг.
Скорость разработки отражает трудозатраты на создание архитектурного каркаса и определяется через отношение числа разработанных модулей к затраченному времени. Нормированный показатель скорости сравнивается с целевым значением, что позволяет учесть специфику команды и проекта. Архитектура считается эффективной с точки зрения разработки, если её структура не требует значительных затрат на шаблонный код и позволяет быстро переходить к реализации функциональных требований.
Обсуждение.
Предложенная в работе формализованная модель и набор метрик представляют собой методологическую основу для количественного описания ключевых свойств архитектуры мобильных приложений. Практическая ценность подхода заключается в возможности ранней, архитектурной диагностики проектов. Даже при отсутствии полностью реализованного кода проекта математическая формализация позволяет выявить относительные различия между вариантами архитектурных подходов и обосновать приоритеты проектных решений. При этом модель сохраняет гибкость - она допускает разные способы задания весов зависимостей и нормирования показателей, что делает её пригодной для адаптации под конкретные команды и технические требования.
В качестве пути развития можно определить проведение эмпирической проверки на реальных проектах для установления пороговых значений, проверки чувствительности к ошибкам измерения весов и подтверждения корреляции с реальными затратами на сопровождение. Практическая реализация требует инструментальной поддержки и проведения экспериментальных исследований на проектах разного размера и сложности.
Заключение.
Проведённый анализ позволил определить ключевые критерии, влияющие на качество архитектуры мобильных приложений. В рамках исследования были выделены и формализованы основные показатели, характеризующие архитектурные решения: модульность, масштабируемость, тестируемость, производительность и скорость разработки. Эти критерии могут служить основой для количественной оценки архитектуры и сопоставления различных её вариантов на ранних этапах проектирования.
Полученные результаты показывают, что применение метрических показателей позволяет более объективно анализировать структуру будущей системы и заранее выявлять факторы, влияющие на сложность сопровождения. Формализованное описание архитектурных характеристик создаёт предпосылки для разработки системного подхода к выбору архитектуры мобильного приложения, учитывающего долгосрочные требования к устойчивости и поддерживаемости программного продукта.
Практическая значимость исследования заключается в том, что предложенный набор формализованных метрик задаёт концептуальную основу для последующей количественной оценки архитектуры мобильного приложения на этапах проектирования. Выделенные критерии могут быть использованы при разработке методик архитектурного анализа и служить ориентиром при принятии проектных решений. Полученные результаты создают предпосылки для дальнейших исследований, направленных на разработку практических инструментов и проверку предложенных критериев на реальных программных системах.
Список литературы:
- Маринин А. К. Выбор архитектуры для мобильных приложений // Известия Кабардино-Балкарского научного центра РАН. - 2024. - Т. 26, № 5. - С. 84-93.
- Сарматин А. М. Современный подход к реализации архитектурных паттернов в Android-приложениях // Электронные библиотеки. - 2020. - Т.23, №3.- С. 487-502.
- Тахир А., Макдонелл С. Систематический обзор динамических метрик и качества программного обеспечения // Journal of Systems and Software. - 2021. - Т. 176. - Ст. 110938.
- Билогуб Д., Скрыпченко М., Тытенко С. Атрибуты качества и архитектурные паттерны современных мобильных приложений // Modern Engineering and Innovative Technologies. - 2023. - № 29. - С. 56–63.
- Гароуси В., Фельдерер М., Кылычаслан Ф. Обзор тестируемости программного обеспечения // Information and Software Technology. - 2018. - Т. 97. - С. 1–38.