МОДЕЛЮВАННЯ ЗВ’ЯЗНОСТІ ШЛЯХОМ ІМОВІРНІСНОГО РОЗПОДІЛУ ЧАСТОТ ВНЕСЕННЯ ЗМІН ДО ПРОГРАМНИХ МОДУЛІВ ПРИ СИМУЛЯЦІЇ ПРОЦЕСУ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Автор(и)

DOI:

https://doi.org/10.35546/kntu2078-4481.2025.2.2.28

Ключові слова:

моделювання, симуляція, модульність, еволюційна зв’язність, розробка програмного забезпечення, логнормальний розподіл, алгоритм

Анотація

В сучасному світі продуктивність розробки програмних систем не враховується на етапі планування при виборі типу архітектури майбутнього програмного проєкту через недостатньо точний та занадто складний процес оцінки необхідних затрат часу та ресурсів на побудову такої програмної системи. Для забезпечення можливості дослідження впливу різних типів архітектури програмних систем на продуктивність їх розробки шляхом симуляції відповідних процесів розробки програмного забезпечення, в даній роботі досліджується підхід до моделювання зв’язності між модулями програмної системи на основі аналізу історії внесення змін до 8 модульних монолітних та мікросервісних проєктів з відкритим вихідним кодом. В результаті дослідження модульної структури та історії змін вихідного коду виявлено наявність логнормального імовірнісного розподілу як розміру програмних модулів, так і частоти їх модифікації, характер залежності між якими є лінійним, але параметри кореляції відрізняються між різними проєктами. Аналіз зв’язності модулів на основі видобування правил асоціації з історії їх незалежних та одночасних змін виявив степеневу функцію залежності середніх значень як вхідної, так і вихідної зв’язності від частоти зміни модуля, але параметри такої залежності також різні для різних проєктів та корелюються із кількістю модулів. З метою оптимізації обчислень при симуляції процесу розробки програмного забезпечення було запропоновано використання незалежних частот зміни модулів замість детального моделювання зв’язності кожної окремої їх пари, для чого було досліджено параметри логнормального розподілу незалежних імовірностей зміни модулів для кожного проєкту та за допомогою лінійної регресії виведено коефіцієнти залежності параметрів такого розподілу від кількості модулів в програмній системі, що моделюється. Для підвищення обчислювальної ефективності симуляцій було додатково запропоновано алгоритм коригування згенерованих частот зміни модулів для збільшення імовірності внесення змін хоча б в один модуль на кожній ітерації симуляції, оскільки всі імовірності зміни модулів незалежні та існує ненульова імовірність невнесення змін в жоден модуль.

Посилання

Шматковська Т., Коробчук Т. Сучасні інформаційні та комунікаційні технології в моделюванні бізнес-процесів. Економічний форум. 2023. № 1(3). С. 156–161. DOI: https://doi.org/10.36910/6775-2308-8559-2023-3-20

Saravanos, A., Curinga, M. X. Simulating the Software Development Lifecycle: The Waterfall Model. Applied System Innovation. 2023. Vol. 6. P. 108. DOI: https://doi.org/10.3390/asi6060108

Кордунова Ю. С., Фелтіновскі М., Придатко О. В., Смотр О. О. Математичне моделювання процесу розробки спеціалізованих програмних систем безпеко-орієнтованого спрямування. Вісник Львівського державного університету безпеки життєдіяльності. 2023. № 27, С. 23–31. DOI: https://doi.org/10.32447/20784643.27.2023.03

Приходько, С. Б., Приходько, Н. В., & Книрiк, К. О. Математичне моделювання трудомісткості розробки мобільних застосунків у фазі планування із врахуванням викидів. Комп’ютерне моделювання та оптимізація складних систем: матеріали V Міжнародної науково-технічної конференції. м. Дніпро, 6–8 листопада 2019 р. / Український державний хіміко-технологічний університет. Дніпро. 2019. С. 50. https://udhtu.edu.ua/wp-content/uploads/2023/08/cmoss_2019.pdf#page=50

J. A. García-García, J. G. Enríquez, M. Ruiz, C. Arévalo, A. Jiménez-Ramírez Software Process Simulation Modeling: Systematic literature review. Computer Standards & Interfaces. 2020. Vol. 70. P. 103425. DOI: https://doi.org/10.1016/j.csi.2020.103425

Panichella S., Rahman M. I., Taibi D. Structural Coupling for Microservices. Proceedings of the 11th International Conference on Cloud Computing and Services Science. 2021. Vol. 1. P. 280–287. DOI: https://doi.org/10.5220/0010481902800287

Apolinário D. R., de França B. B. A method for monitoring the coupling evolution of microservice-based architectures. Journal of the Brazilian Computer Society. 2021. Vol. 27(17). Article 17. DOI: https://doi.org/10.1186/s13173-021-00120-y

Vural H., Koyuncu M. Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice? IEEE Access. 2021. Vol. 9. P. 32721-32733. DOI: https://doi.org/10.1109/ACCESS.2021.3060895

Koppel J., Jackson D. Demystifying dependence. Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. 2020. P. 48–64. DOI: https://doi.org/10.1145/3426428.3426916

Rolfsnes T. et al. Generalizing the Analysis of Evolutionary Coupling for Software Change Impact Analysis. 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 2016. P. 201–212. DOI: https://doi.org/10.1109/SANER.2016.101

Mondal M. et al. Historank: History-based ranking of co-change candidates. 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER). 2020. P. 240–250. DOI: https://doi.org/10.1109/SANER48275.2020.9054869

##submission.downloads##

Опубліковано

2025-06-05