Architecture metrics: a servey of the potential to improve softwar
Software development hinges on well-crafted architecture, a foundational phase that influences the entire system. This study investigates using architectural design metrics, which quantify various aspects of architecture. We conducted a systematic mapping study, analysing existing literature to unde...
Saved in:
| Date: | 2024 |
|---|---|
| Main Author: | |
| Format: | Article |
| Language: | Ukrainian |
| Published: |
PROBLEMS IN PROGRAMMING
2024
|
| Subjects: | |
| Online Access: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/625 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Problems in programming |
| Download file: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-625 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/e4/74884ff2b6f8bb74b5d453c304a71be4.pdf |
| spelling |
pp_isofts_kiev_ua-article-6252025-02-15T10:14:48Z Architecture metrics: a servey of the potential to improve softwar Архітектурні метрики: огляд потенціалу для покращення програмного забезпечення Liubchenko, V.V. software architecture design metrics; systematic mapping study; software design evaluation; architectural quality attributes UDC 004.05 метрики архитектурного проєктування; систематичне дослідження публікацій; оцінювання проєкту програмного забезпечнння; атрибути якості архітектури УДК 004.05 Software development hinges on well-crafted architecture, a foundational phase that influences the entire system. This study investigates using architectural design metrics, which quantify various aspects of architecture. We conducted a systematic mapping study, analysing existing literature to understand how these metrics are currently employed. Our findings reveal a limited yet promising landscape. Metrics exist to assess design stability, understandability, modularity, and security. Notably, several studies explore gauging the "option-generation ability" of an architecture and its potential to generate different design choices. However, a gap exists in directly using these metrics for fault prediction. Existing research primarily focuses on the "reverse" effect, where metrics from later development stages (like code) are used to identify architectural issues. Overall, this study highlights the underutilised potential of architectural design metrics. While current research demonstrates the effectiveness of a relatively simple set of metrics for various purposes, further exploration is warranted. Future efforts should delve into data accumulation and investigate models for using these metrics for predictive purposes, ultimately enhancing software quality and development processes.Problems in programming 2024; 2-3: 99-106 Розроблення програмного забезпечення залежить від добре продуманої архітектури, яка впливає на всю систему. У цьому дослідженні розглядається використання метрик архітектурного проєктування, які кількісно оцінюють різні аспекти архітектури. Ми провели систематичне картографічне дослідження, проаналізувавши існуючу літературу, щоб зрозуміти, як ці метрики використовуються зараз. Наші висновки показують обмежений, але багатообіцяючий ландшафт. Існують метрики для оцінки стабільності, зрозумілості, модульності та безпеки проєкту. Зокрема, кілька досліджень вивчають вимірювання «здатності генерувати варіанти» архітектури та її потенціалу генерувати різні проєктні варіанти. Однак існує прогалина у безпосередньому використанні цих метрик для прогнозування несправностей. Існуючі дослідження зосереджені переважно на «зворотному» ефекті, коли метрики з більш пізніх етапів розроблення (наприклад, характеристики коду) використовуються для виявлення архітектурних проблем. Загалом, це дослідження підкреслює недостатньо використаний потенціал метрик архітектурного проєктування. Хоча поточні дослідження демонструють ефективність відносно простого набору метрик для різних цілей, подальші дослідження є виправданими. Майбутні зусилля повинні бути спрямовані на накопичення даних і дослідження моделей для використання цих метрик з метою прогнозування, що в результаті підвищить якість програмного забезпечення та покращить процеси розробки.Problems in programming 2024; 2-3: 99-106 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2024-12-17 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/625 10.15407/pp2024.02-03.099 PROBLEMS IN PROGRAMMING; No 2-3 (2024); 99-106 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2024); 99-106 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2024); 99-106 1727-4907 10.15407/pp2024.02-03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/625/677 Copyright (c) 2024 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2025-02-15T10:14:48Z |
| collection |
OJS |
| language |
Ukrainian |
| topic |
software architecture design metrics systematic mapping study software design evaluation architectural quality attributes UDC 004.05 |
| spellingShingle |
software architecture design metrics systematic mapping study software design evaluation architectural quality attributes UDC 004.05 Liubchenko, V.V. Architecture metrics: a servey of the potential to improve softwar |
| topic_facet |
software architecture design metrics systematic mapping study software design evaluation architectural quality attributes UDC 004.05 метрики архитектурного проєктування систематичне дослідження публікацій оцінювання проєкту програмного забезпечнння атрибути якості архітектури УДК 004.05 |
| format |
Article |
| author |
Liubchenko, V.V. |
| author_facet |
Liubchenko, V.V. |
| author_sort |
Liubchenko, V.V. |
| title |
Architecture metrics: a servey of the potential to improve softwar |
| title_short |
Architecture metrics: a servey of the potential to improve softwar |
| title_full |
Architecture metrics: a servey of the potential to improve softwar |
| title_fullStr |
Architecture metrics: a servey of the potential to improve softwar |
| title_full_unstemmed |
Architecture metrics: a servey of the potential to improve softwar |
| title_sort |
architecture metrics: a servey of the potential to improve softwar |
| title_alt |
Архітектурні метрики: огляд потенціалу для покращення програмного забезпечення |
| description |
Software development hinges on well-crafted architecture, a foundational phase that influences the entire system. This study investigates using architectural design metrics, which quantify various aspects of architecture. We conducted a systematic mapping study, analysing existing literature to understand how these metrics are currently employed. Our findings reveal a limited yet promising landscape. Metrics exist to assess design stability, understandability, modularity, and security. Notably, several studies explore gauging the "option-generation ability" of an architecture and its potential to generate different design choices. However, a gap exists in directly using these metrics for fault prediction. Existing research primarily focuses on the "reverse" effect, where metrics from later development stages (like code) are used to identify architectural issues. Overall, this study highlights the underutilised potential of architectural design metrics. While current research demonstrates the effectiveness of a relatively simple set of metrics for various purposes, further exploration is warranted. Future efforts should delve into data accumulation and investigate models for using these metrics for predictive purposes, ultimately enhancing software quality and development processes.Problems in programming 2024; 2-3: 99-106 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2024 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/625 |
| work_keys_str_mv |
AT liubchenkovv architecturemetricsaserveyofthepotentialtoimprovesoftwar AT liubchenkovv arhítekturnímetrikioglâdpotencíaludlâpokraŝennâprogramnogozabezpečennâ |
| first_indexed |
2025-07-17T09:47:21Z |
| last_indexed |
2025-07-17T09:47:21Z |
| _version_ |
1850409835936350208 |
| fulltext |
Архітектура програмного забезпечення
99
УДК 004.05 http://doi.org/10.15407/pp2024.02-03.099
В.В. Любченко
АРХІТЕКТУРНІ МЕТРИКИ: ОГЛЯД ПОТЕНЦІАЛУ ДЛЯ
ПОКРАЩЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Розроблення програмного забезпечення залежить від добре продуманої архітектури, яка впливає на
всю систему. У цьому дослідженні розглядається використання метрик архітектурного проєктування,
які кількісно оцінюють різні аспекти архітектури. Ми провели систематичне картографічне до-
слідження, проаналізувавши існуючу літературу, щоб зрозуміти, як ці метрики використовуються за-
раз. Наші висновки показують обмежений, але багатообіцяючий ландшафт. Існують метрики для
оцінки стабільності, зрозумілості, модульності та безпеки проєкту. Зокрема, кілька досліджень вив-
чають вимірювання «здатності генерувати варіанти» архітектури та її потенціалу генерувати різні
проєктні варіанти. Однак існує прогалина у безпосередньому використанні цих метрик для прогно-
зування несправностей. Існуючі дослідження зосереджені переважно на «зворотному» ефекті, коли
метрики з більш пізніх етапів розроблення (наприклад, характеристики коду) використовуються для
виявлення архітектурних проблем. Загалом, це дослідження підкреслює недостатньо використаний
потенціал метрик архітектурного проєктування. Хоча поточні дослідження демонструють ефек-
тивність відносно простого набору метрик для різних цілей, подальші дослідження є виправданими.
Майбутні зусилля повинні бути спрямовані на накопичення даних і дослідження моделей для вико-
ристання цих метрик з метою прогнозування, що в результаті підвищить якість програмного забезпе-
чення та покращить процеси розробки.
Ключові слова: метрики архитектурного проєктування, систематичне дослідження публікацій, оці-
нювання проєкту програмного забезпечнння, атрибути якості архітектури.
V. Liubchenko
ARCHITECTURE METRICS: A SURVEY
OF THE POTENTIAL TO IMPROVE SOFTWARE
Software development hinges on well-crafted architecture, a foundational phase that influences the entire
system. This study investigates using architectural design metrics, which quantify various aspects of archi-
tecture. We conducted a systematic mapping study, analysing existing literature to understand how these
metrics are currently employed. Our findings reveal a limited yet promising landscape. Metrics exist to as-
sess design stability, understandability, modularity, and security. Notably, several studies explore gauging
the "option-generation ability" of an architecture and its potential to generate different design choices. How-
ever, a gap exists in directly using these metrics for fault prediction. Existing research primarily focuses on
the "reverse" effect, where metrics from later development stages (like code) are used to identify architec-
tural issues. Overall, this study highlights the underutilised potential of architectural design metrics. While
current research demonstrates the effectiveness of a relatively simple set of metrics for various purposes,
further exploration is warranted. Future efforts should delve into data accumulation and investigate models
for using these metrics for predictive purposes, ultimately enhancing software quality and development pro-
cesses.
Keywords: software architecture design metrics, systematic mapping study, software design evaluation, ar-
chitectural quality attributes.
Вступ
Розроблення програмного забезпе-
чення (ПЗ) значною мірою покладається на
архітектурне проєктування – ключовий
етап, який суттєво впливає на кінцеву сис-
тему. По суті, архітектурне проєктування
передбачає створення високорівневої абс-
тракції топології, функціональності та по-
ведінки системи, що закладає основу для
детального проєктування та реалізації. Іс-
нує багато визначень архітектури ПЗ, але
всі вони, як правило, стосуються компоне-
нтів, модулів та їхніх взаємозв'язків.
© В.В.Любченко, 2024
ISSN 1727-4907. Проблеми програмування. 2024. №2-3
Архітектура програмного забезпечення
100
Керуючись усталеними моделями
проєктування, найкращими практиками та
міркуваннями зацікавлених сторін, архіте-
ктурне проєктування має надавати пріори-
тет дотриманню перевірених методологій.
Цей процес часто передбачає пошук комп-
ромісів для узгодження суперечливих ці-
лей. Ретельно спланований дизайн є неза-
мінним на всіх етапах створення та розви-
тку системи, особливо при внесенні змін
та адаптації.
Якісна архітектура слугує основою
для поточної розробки ПЗ. Логічно припу-
стити, що атрибути архітектурного дизай-
ну формують якості окремих артефактів
розробки та ПЗ в цілому. Якби ми могли
кількісно описати ці залежності та впливи,
то могли б передбачити характеристики
цих артефактів і всієї програмної системи.
Набори даних, які зазвичай викори-
стовуються в емпіричних дослідженнях
програмної інженерії, такі як репозиторії
NASA, переважно містять характеристики
коду та метрики дефектів. Отже, доречно
дослідити використання та призначення
метрик, що описують архітектурний ди-
зайн, в опублікованих дослідженнях.
Самі собою метрики не визначають
якість архітектури як хорошу чи погану.
Однак вони слугують цінними допоміж-
ними засобами для архітекторів, висвіт-
люючи потенційні проблемні елементи та
сфери, які потребують вдосконалення в їх-
ніх проєктах. Інструмент аналізу архітек-
тури ПЗ обчислює різні метрики, дотри-
муючись певних рекомендацій щодо мет-
рик ПЗ, а саме:
- метрики мають бути зрозуміли-
ми та простими для розуміння та
застосування.
- метрики повинні відповідати
очікуванням та практичному
досвіду інженерів.
- метрики повинні давати одно-
значні результати.
- метрики мають підтримувати
математичну узгодженість.
- метрики мають бути застосовні
до різних мов програмування.
- метрики повинні пропонувати
дієві ідеї для покращення якості
та продуктивності ПЗ.
Основна мета цієї статті – узагаль-
нити існуючий досвід використання мет-
рик архітектурного проєктування. Крім то-
го, ми прагнемо визначити перспективні
сфери їхнього застосування для покращен-
ня процесу розроблення ПЗ, так і кінцево-
го продукту.
1. Метод дослідження
Ми провели систематичне дослі-
дження публікацій, щоб проаналізувати іс-
нуючі публікації про використання метрик
архітектурного дизайну ПЗ. Це досліджен-
ня є цінним інструментом для вивчення
еволюції досліджень у цій галузі з плином
часу. Нижче ми описуємо методологію,
яка була використана у процесі проведен-
ня цього дослідження.
Основною метою цього досліджен-
ня є систематизація метрик, що характе-
ризують дизайн архітектури та методи їх-
нього застосування в процесах програмної
інженерії, з фокусом на моделях якості та
мета-моделях. Для досягнення цієї мети
ми дослідили простір метрик проєктуван-
ня ПЗ та їх підтримку для процесів про-
грамної інженерії. Це дослідження має на
меті надати огляд сучасних досліджень з
оцінки архітектури ПЗ, зосереджуючись
на метриках, визначених для архітектур-
них діаграм. Питання дослідження є на-
ступними:
RQ1. Які метрики застосовуються
до архітектурного дизайну? Це питання є
ключовим, оскільки воно формує основу
нашого розуміння того, як вимірюється та
оцінюється архітектурний дизайн.
RQ2. Для яких цілей вони застосо-
вуються?
Щоб відповісти на ці запитання,
було розроблено процес пошуку.
Ми провели пошук у чотирьох до-
відкових базах даних: IEEE Xplore, ACM
Digital Library, ScienceDirect та Elsevier,
щоб знайти статті про метрики проекту-
вання архітектури. Основними ключовими
словами були "дизайн архітектури ПЗ" та
"метрики".
Пошук охоплював поля назви, ано-
тації та ключові сліва, а також сформульо-
ваний пошуковий рядок:
Архітектура програмного забезпечення
101
("software architecture design") AND
(("metrics" OR "measuring")).
Цей рядок було закодовано відпо-
відно до синтаксичного формату кожної
відповідної бази даних.
Пошук у базах дав початковий на-
бір з 97 статей. Ці статті пройшли фільтра-
цію у два етапи на основі попередньо ви-
значених критеріїв відбору
На першому етапі ми використову-
вали ряд критеріїв включення та виклю-
чення для розгляду та відбору статей. До
розгляду включалися статті написані анг-
лійською мовою, опубліковані в журналах
або матеріалах конференцій, тема яких по-
в'язана з проектуванням та вимірюванням
архітектури ПЗ. З розгляду були виключе-
ні статті, написані як систематичні дослі-
дження публікацій, або предметом яких є
не ПЗ, а архітектура апаратної інфраструк-
тури. Також були виключені статті про ме-
трики призначені для конкретної характе-
ристики якості, такої як безпека.
На другому етапі фільтрація базу-
валася на ознайомленні з повним текстом.
Як наслідок були відфільтровані, напри-
клад, роботи з метрик подібності, метрик
детального проектування та програмного
коду, залежностей між властивостями коду
та "запахом" архітектури, а також бази
знань про архітектуру.
Після процедури відбору для сис-
тематичного картографічного дослідження
було відібрано лише 19 первинних робіт,
що становить лише 19,6% від початкового
набору даних. Така обмежена кількість пі-
дкреслює очевидний брак значного досві-
ду успішного застосування таких метрик.
2. Результати аналізу
Перша метрика, яка нас цікавить, –
це вартість, пов'язана з еволюцією архітек-
турних проєктів [1]. Еволюція програмгої
архітектури передбачає зміни в компонен-
тах та з'єднувачах. Для оцінки еволюції ав-
тори запропонували метрики на основі
операцій перезапису: додавання, видален-
ня та модифікація. Автори визначили вар-
тість змін як зважену суму вартості кожної
операції. Метрика досить складна, її засто-
сування дуже специфічне.
Того ж року в [2] було описано цілу
низку архітектурних метрик, зокрема, зв'я-
зність, зчеплення, складність сервісів, кі-
лькість послуг на компонент, fan-in і fan-
out, глибина сценарію. Це дослідження ці-
каве тим, що більшість перелічених мет-
рик були використані в багатьох пізніших
дослідженнях. Також тут зроблено спробу
встановити зв'язок з фазою аналізу вимог:
метрика глибини сценарію орієнтована на
складність сценаріїв використання, а не на
внутрішню складність самої архітектури.
Зупинимося на метриках зчеплення,
які залишаються затребуваними протягом
багатьох років. В [3] запропоновано визна-
чати зчеплення на основі кількості вимог,
пов'язаних з програмним компонентом, кі-
лькості функцій та середній взаємодії між
функціями в межах компонентів. В [4]
введено метрику відсутності зчеплення,
яка вимірює схожість між операціями в
межах певних сервісів та їхній взаємозв'я-
зок. В [5] емпірично досліджено практичну
життєздатність метрик зчеплення на рівні
сервісів у контексті застосування архітек-
тури мікросервісів.
В [6] було представлено набір мет-
рик стабільності та модульності проєкту.
Зокрема, автори розробили метрику вола-
тильності для оцінки стабільності рішень
на основі кількості умов навколишнього
середовища, що впливають на них, та ши-
роти їхнього впливу. Для модульності ав-
тори представили метрику «Рівень незале-
жності», спрямовану на вимірювання здат-
ності проєкту сприяти пошуку і заміні мо-
дулів.
В [7] було представлено комплекс-
ну метрику «Баланс компонентів», яку ут-
ворюють два показники: розбиття системи,
яке оцінює ступінь декомпозиції системи
на розумну кількість компонентів, та рів-
номірність розмірів компонентів, яка оці-
нює узгодженість розмірів компонентів у
системі. У наступному дослідженні [8] ті ж
автори розглянули дві метрики рівня архі-
тектури: баланс компонентів та профілі за-
лежностей.
В [9] було введено спеціальну мет-
рику для комплексної оцінки розміру сис-
теми та зусиль, необхідних для управління
її загальною архітектурою. Абсолютний
Архітектура програмного забезпечення
102
індекс програмних елементів визначає за-
гальну кількість програмних елементів, що
використовуються в системі.
Дослідження [10] зосереджене на
взаємодіях в архітектурі. Введено дві мет-
рики: коефіцієнт взаємодії компонента (ві-
дношення вихідних взаємодій до вхідних)
та відсоток взаємодії між компонентами
(відношення суми вхідних та вихідних вза-
ємодій до максимальної кількості потен-
ційних взаємодій).
На відміну від попередніх дослі-
джень, у [11] запропоновано використову-
вати фундаментальні метрики: кількість
компонентів, кількість з'єднувачів (неза-
лежно від їхнього спрямування) та кіль-
кість елементів (сукупність компонентів та
з'єднувачів). Автори назвали ці метрики
зрозумілістю, пропонуючи прямий підхід
до оцінки зрозумілості системи.
У дослідженні [12] було зібрано та
структуровано попередню компіляцію ар-
хітектурних метрик відповідно до точок
зору та доменів. Тим не менше, дослі-
дження дійшло висновку, що оцінка зага-
льної корисності архітектурних метрик за-
лишається відкритим дослідницьким пи-
танням.
Цікавим є [13], яке зосередилося на
кількісній оцінці архітектурного занепаду,
спираючись на метрики когерентних взає-
модій, нестабільності та якості модуляри-
зації. Автори також визначили нові метри-
ки для виявлення архітектурних запахів:
двонаправлений зв'язок компонентів,
щільність та покриття архітектурного за-
паху. Ці метрики допомагають інженерам
передбачати помилки системи.
У [14] автори класифікували вста-
новлені метрики в ієрархічну структуру і
ввели нові агреговані метрики, що охоп-
люють структурну якість і системні харак-
теристики, зокрема гнучкість. Це дозволи-
ло оцінити ефективність метрик на етапі
проєктування архітектури.
У [15] розглядалися метрики зв'яз-
ків між вимогами та архітектурним проєк-
том: Traced Requirements per Component
визначає кількість вимог на компонент, а
Traced Components per Requirement оцінює
кількість компонентів на вимогу. Ці зале-
жності можуть бути індикаторами дефек-
тів ПЗ.
У [16] представлено метрики рівня
архітектури для оцінки якості: рівень
роз'єднання (Decoupling Level), що оцінює
розділеність системи на автономні модулі,
і вартість розповсюдження (Propagation
Cost), що оцінює щільність зв'язку всере-
дині системи. Також використовувались
метрики баланс компонентів і профілі за-
лежностей. Ефективність цих метрик була
підтверджена практиками.
Дослідження [17] зосереджене на
метриках безпеки в архітектурній моделі,
оцінюючи вразливість точок входу в ком-
позитних елементах. Це дослідження ак-
центує увагу на вивченні безпеки як атри-
буту якості.
В [18] розглядаються метрики для
архітектури мікросервісів, що встановлю-
ють зв'язок між архітектурними метриками
та метриками часу виконання. Це робить
можливим проведення оцінок під час
проєктування. Проте, нещодавня робота
[19] вказує, що загальновживані метрики,
такі як зв'язність, розмір, зчеплення та
складність, також придатні для оцінки ар-
хітектури на основі сервісів.
3. Таксономія архітектурних
метрик
Кластеризація метрик, що викорис-
товуються в архітектурному проєктуванні,
утворює таксономію метрик. Надамо опис
цієї таксономії.
1. Кластер метрик структурної цілі-
сності фокусується на основних структур-
них аспектах архітектури, включаючи те,
наскільки добре компоненти організовані
та взаємодіють один з одним, а також на-
скільки стабільною та збалансованою є си-
стема.
1.a. Група метрик згуртованості
оцінює ступінь взаємозв'язку та ефектив-
ної спільної роботи елементів у межах мо-
дуля або компонента.
1.a.1. Архітектурна реляційна коге-
рентність оцінює ступінь, за якого компо-
ненти або модулі в архітектурі ПЗ функці-
Архітектура програмного забезпечення
103
онально пов'язані між собою та ефективно
працюють разом.
1.a.2 Зв'язність визначає, наскільки
добре елементи в межах компонента пов'я-
зані один з одним та виконують єдину
сфокусовану функцію.
1.a.3 Показник відсутності зв'язнос-
ті ідентифікує компоненти з елементами,
які погано пов'язані один з одним.
1.a.4. Коефіцієнт зв'язних взаємодій
– це співвідношення взаємодій всередині
компонента у порівнянні з взаємодіями з
іншими компонентами.
1.b. Група метрик складності оці-
нює складність конструкції та взаємодій
системи, що може вплинути на ремонто-
придатність та зрозумілість.
1.b.1. Двонаправлений зв'язок ком-
понентів вимірює кількість залежностей
між двома компонентами, де кожен з них
залежить від іншого.
1.b.2 Зчеплення – це ступінь взає-
мозалежності між компонентами.
1.b.3 Рівень роз'єднання визначає
ступінь незалежності між компонентами.
1.c. Група метрик залежностей ана-
лізує взаємозв'язки та залежності між різ-
ними компонентами, які можуть впливати
на надійність та модульність системи.
1.c.1. Профілі залежностей опису-
ють типи та шаблони залежностей між
компонентами.
1.c.2. Включення (Fan-in) визначає
кількість компонентів, які залежать від пе-
вного компонента.
1.c.3. Розширення (Fan-out) визна-
чає кількість компонентів, від яких даний
компонент не залежить.
1.c.4. Витрати на поширення оці-
нюють зусилля, необхідні для того, щоб
зміни в одному компоненті поширилися на
інші компоненти, на які вони впливають.
1.d. Група метрик розміру та одно-
рідності оцінює розподіл розмірів та одно-
рідність компонентів, що може вплинути
на керованість та збалансованість архітек-
тури.
1.d.1. Баланс компонентів визначає,
чи є розподіл функціональності між ком-
понентами збалансованим або асиметрич-
ним.
1.d.2. Рівномірність розміру компо-
нентів визначає узгодженість у розмірі
компонентів, що вимірюється кількістю
методів, розміром інтерфейсів компонент
тощо.
1.d.3 Кількість компонентів / з'єд-
нувачів / операцій визначає загальну кіль-
кість відповідних елементів у системі.
1.d.4. Кількість послуг компонента
визначає кількість послуг, що надаються
одним компонентом.
1.e. Група метрик стабільності оці-
нює, наскільки архітектура є стійкою до
змін та наскільки добре вона підтримує
свою цілісність з плином часу.
1.e.1 Стабільність архітектури вимі-
рює стійкість архітектури до змін та збоїв.
1.д.2. Нестабільність вимірює схи-
льність архітектури до збоїв та помилок.
2. Група метрик адаптивності та
еволюційності розглядає здатність системи
адаптуватися до змін та еволюціонувати з
часом, а також деталізацію її компонентів,
що впливає на гнучкість та масштабова-
ність.
2.a. Група метрик адаптивності ви-
мірює легкість, з якою система може бути
адаптована до нових вимог або умов.
2.a.1 Абсолютний індекс адаптив-
ності системи був розроблений для кількі-
сної оцінки ступеню, до якого програмна
система може адаптуватися до змін у ви-
могах, середовищі або технологіях.
2.a.2 Показник вартості еволюції
оцінює зусилля, необхідні для модифікації
архітектури в майбутньому.
2.b. Група метрик волатильності
вимірює частоту та ступінь змін в системі,
вказуючи на те, наскільки динамічною та
схильною до змін є архітектура.
2.b.1. Волатильність проєкту вимі-
рює, як часто архітектурний проєкт потрі-
бно змінювати через внутрішні або зовні-
шні фактори.
2.c. Група метрик деталізації оцінює
рівень деталізації та декомпозиції сервісів
або компонентів, що впливає на гнучкість
та масштабованість.
2.c.1. Метрика гранулярності серві-
сів оцінює розмір та обсяг сервісів у про-
грамній архітектурі.
Архітектура програмного забезпечення
104
2.c.2. Показник розбиття системи
вимірює загальний стан та ремонтоприда-
тність системної архітектури.
3. Кластер метрик складності та ре-
монтопридатності досліджує складність
системи, яка впливає на те, наскільки архі-
тектура є ремонтопридатною та зрозумі-
лою. Він також визначає «запахи» архітек-
тури, які можуть вказувати на більш гли-
бокі проблеми.
3.a. Група складності оцінює склад-
ність дизайну та взаємодій системи, що
може вплинути на ремонтопридатність та
зрозумілість.
3.a.1 Складність сервісів вимірює
складність функціональних можливостей,
що надаються сервісами в архітектурі.
3.a.2. Показники складності взаємо-
дії «вхід-вихід» вимірюють складність вза-
ємодії між компонентом та його зовнішнім
середовищем.
3.a.3. Масштаб впливу визначає
ступінь, за якого зміна в одному компоне-
нті впливає на інші компоненти.
3.b. Група метрик «архітектурних
запахів» визначає проблеми або «запахи» в
архітектурі, які можуть вказувати на гли-
бші проблеми або області для покращення.
3.b.1. Покриття архітектурного «за-
паху» вимірює відсоток шаблонів проєкту-
вання, визначених як потенційні проблеми.
3.b.2. Щільність архітектурного
«запаху» підраховує кількість потенційних
проблем, виявлених на компонент проєкту.
4. Кластер метрик відстежуваності
та інших атрибутів якості включає метри-
ки, пов'язані з відстежуваністю вимог та
компонентів, а також атрибути якості, які
не вписуються в інші групи.
4.a. Група метрик простежуваності
вимірює, наскільки добре вимоги та ком-
поненти можуть бути простежені в систе-
мі, що впливає на підзвітність та зрозумі-
лість.
4.a.1. Кількість простежуваних
компонентів на одну вимогу показує, скі-
льки компонентів пов'язано з однією вимо-
гою.
4.a.2. Кількість відстежених вимог
на компонент показує, за скільки вимог ві-
дповідає один компонент.
4.b. Група різних метрик включає
інші метрики, які не вписуються в інші ка-
тегорії, але все одно дають цінну інформа-
цію про архітектуру.
4.b.1. Глибина сценарію (Depth of
Scenario) визначає кількість компонентів,
задіяних у конкретному користувацькому
сценарії.
4.b.2. Рівень незалежності
(Independence Level) вимірює, наскільки
автономними є компоненти.
4.b.3. Якість модульності вимірює,
наскільки добре архітектура розділена на
незалежні, багаторазово використовувані
модулі.
4.b.4. Захищені точки входу вимі-
рюють кількість чітко визначених точок
доступу для взаємодії з компонентом.
Обговорення та висновки
Дослідження показали, що метрики
проєктування архітектури ПЗ можуть бути
цінними для дизайнерів. Ці метрики допо-
магають дизайнерам оцінити два важливих
аспекти архітектури: її здатність генерува-
ти різні варіанти проєктів та її стабільність
за різних зовнішніх умов.
Ми помітили, що рішення на основі
метричних стратегій найчастіше викорис-
товуються для ідентифікації архітектурно-
го занепаду. Ці метрики можуть визначити
зростання архітектурної нестабільності з
еволюцією системи, визначити ймовір-
ність класів, що сприяють архітектурним
невідповідностям, і діагностувати анома-
лії, чи є агломерації або окремі компонен-
ти більш корельованими з архітектурними
проблемами.
Ми також бачимо, що метрики архі-
тектурного проєктування можна викорис-
товувати для вимірювання атрибутів якос-
ті.
Хоча у вступі обговорювався поте-
нціал метрик архітектурного проєктування
для прогнозування несправностей, жодне з
існуючих досліджень не розглядає це пи-
тання безпосередньо. Існуючі дослідження
зосереджені на взаємозв'язку між метри-
ками різних етапів розробки. Однак ці до-
слідження аналізують «зворотній» ефект,
коли метрики з більш пізніх етапів (напри-
Архітектура програмного забезпечення
105
клад, характеристики коду) застосовують-
ся для виявлення архітектурних проблем,
таких як ерозія дизайну або анти-патерни.
Підсумовуючи, можна сказати, що
потенціал використання метрик архітекту-
рного проєктування використовується не
повністю. Існуючі дослідження показали,
що один набір відносно простих метрик
може бути успішно використаний для різ-
них архітектурних рішень. Тому немає
принципових перешкод для використання
цих метрик для прогнозування характерис-
тик артефактів наступних етапів розробки
та ПЗ в цілому. Отже, подальші дослі-
дження мають бути спрямовані на накопи-
чення даних та дослідження моделей, які
можуть бути використані для прогнозу-
вання.
Література
1. M. Aoyama, Metrics and analysis of
software architecture evolution with
discontinuity, International Workshop
on Principles of Software Evolution
(IWPSE '02), 2002, P. 103–107. doi:
10.1145/512035.512059.
2. J. Muskens, M. R. V. Chaudron, R.
Westgeest, Software architecture
analysis tool: software architecture
metrics collection, 3rd PROGRESS
Workshop on Embedded Systems,
2002, P. 128–139.
3. H. Venkitachalam, J. Richenhagen, A.
Schlosser, T. Tasky, Metrics for
Verification and Validation of
Architecture in Powertrain Software
Development, First International
Workshop on Automotive Software
Architecture (WASA '15), 2015,
P. 27–33. doi:
10.1145/2752489.2752496.
4. O. Al-Debagy, P. Martinek, A Metrics
Framework for Evaluating Micro-
services Architecture Designs, Journal
of Web Engineering, 2020. Vol. 19,
no. 3–4. P. 341–370. doi:
10.13052/jwe1540-9589.19341.
5. M. G. Moreira, B. B. N. De França,
Analysis of Microservice Evolution
using Cohesion Metrics, 16th
Brazilian Symposium on Software
Components, Architectures, and
Reuse (SBCARS '22), 2022, P. 40–49.
doi: 10.1145/3559712.3559716.
6. K. Sethi, Y. Cai, S. Wong, A. Garcia
and C. Sant'Anna, From retrospect to
prospect: Assessing modularity and
stability from software architecture,
Joint Working IEEE/IFIP Conference
on Software Architecture & European
Conference on Software Architecture,
2009, P. 269-272. doi:
10.1109/WICSA.2009.5290817.
7. E. Bouwers, J. P. Correia, A. v.
Deursen, J. Visser, Quantifying the
Analyzability of Software
Architectures, Ninth Working
IEEE/IFIP Conference on Software
Architecture, 2011, P. 83–92. doi:
10.1109/WICSA.2011.20.
8. E. Bouwers, A. van Deursen, J.
Visser, Evaluating usefulness of
software metrics: An industrial
experience report, 35th International
Conference on Software Engineering
(ICSE), 2013, P. 921–930. doi:
10.1109/ICSE.2013.6606641.
9. D. Perez-Palacin, R. Mirandola, J.
Merseguer, Software architecture
adaptability metrics for QoS-based
self-adaptation, Joint ACM SIGSOFT
conference -- QoSA and ACM
SIGSOFT symposium – ISARCS on
Quality of software architectures –
QoSA and architecting critical
systems – ISARCS (QoSA-ISARCS
'11), 2011, P. 171–176. doi:
10.1145/2000259.2000288.
10. U. Tiwari, S. Kumar, In-out
interaction complexity metrics for
component-based software, SIGSOFT
Softw. Eng. Notes, 2014. Vol. 39(5).
P. 1–4. doi:
10.1145/2659118.2659135.
11. S. Stevanetic, T. Haitzer, U. Zdun,
Supporting Software Evolution by
Integrating DSL-based Architectural
Abstraction and Understandability
Related Metrics, European Conference
on Software Architecture Workshops
(ECSAW '14), 2014. Article 19, P. 1–
8. doi: 10.1145/2642803.2642822.
Архітектура програмного забезпечення
106
12. O. Zimmermann, Metrics for
architectural synthesis and evaluation:
requirements and compilation by
viewpoint: an industrial experience
report, Second International
Workshop on Software Architecture
and Metrics (SAM '15), 2015, P. 8–
14.
13. D. Le, Architectural-Based
Speculative Analysis to Predict Bugs
in a Software System, 38th
International Conference on Software
Engineering Companion (ICSE-C),
2016, P. 807–810.
14. S. Orlov, A. Vishnyakov, Decision
Making for the Software Architecture
Structure Based on the Criteria
Importance Theory, Procedia
Computer Science, 2017. Vol. 104. P.
27–34. doi:
10.1016/j.procs.2017.01.050.
15. B. Nassar, R. Scandariato,
Traceability Metrics as Early
Predictors of Software Defects?, IEEE
International Conference on Software
Architecture (ICSA), 2017, P. 235–
238. doi: 10.1109/ICSA.2017.12.
16. W. Wu et al., Software Architecture
Measurement—Experiences from a
Multinational Company, Lecture
Notes in Computer Science, 2018.
Vol. 11048. doi: 10.1007/978-3-030-
00761-4_20.
17. M. Buitrago, I. Borne, J. Buisson,
Deriving metrics for software
architectures from the "protected entry
points" security patterns, 38th
ACM/SIGAPP Symposium on
Applied Computing (SAC '23), 2023,
P. 1473–1475. doi:
10.1145/3555776.3577816.
18. N. Knoll, R. Lichtenthäler, An
Experimental Evaluation of Relations
Between Architectural and Runtime
Metrics in Microservices Systems,
13th International Conference on
Cloud Computing and Services
Science – CLOSER, 2023, P. 147–
154. doi:
10.5220/0011728600003488.
19. M. H. Hasan, M. H. Osman, N. I.
Admodisastro, M. S. Muhammad,
From Monolith to Microservice:
Measuring Architecture
Maintainability, International Journal
of Advanced Computer Science and
Applications, 2023. Vol. 14(5). doi:
10.14569/IJACSA.2023.0140591.
Одержано: 08.04.2024
Внутрішня рецензія отримана: 21.04.2024
Зовнішня рецензія отримана: 26.04.2024
Про автора:
Любченко Віра Вікторівна,
Доктор технічних наук
ORCID: 0000-0002-4611-7832
Місце роботи автора:
Національний університет
«Одеська політехніка»,
пр. Шевченка, 1, Одеса, 65044, Україна.
E-mail: lvv@op.edu.ua
Телефон: +38-048-705-85-66
|