Розробка методики порівняння методів вибору оптимальної варіації архітектури розмежування відповідальності команд і запитів у поєднанні з підходом фіксації та збереження подій

Автор(и)

  • Дмитро Леонідович Грузін Дніпровський національний університет імені Олеся Гончара, Україна https://orcid.org/0009-0004-8534-2559
  • Олександр Анатолійович Литвинов Дніпровський національний університет імені Олеся Гончара, Україна https://orcid.org/0000-0001-7660-1353

DOI:

https://doi.org/10.15587/1729-4061.2026.360407

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

оптимізація, обчислювальний експеримент, ATAM, DSAV-CQRSES, аналіз даних, порівняльний аналіз

Анотація

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

У роботі запропоновано методику кількісного порівняння методів оцінювання архітектури програмного забезпечення. За допомогою цієї методики здійснено порівняння методу аналізу архітектурних компромісів (англ. Architectural Trade-off Analysis Method, ATAM) та технології підтримки прийняття рішень щодо архітектурних варіацій архітектури розмежування відповідальності команд і запитів (Command Query Responsibility Segregation, CQRS)  з підходом фіксації та збереження подій (Event Sourcing, ES) (англ. Decision-making Support regarding CQRS with ES Architectural Variations, DSAV-CQRSES).

Особливостями методики є використання параметричної моделі, побудованої на основі аналізу реальних проєктів, що дає змогу обґрунтувати коректність референтної варіації, та кількісне оцінювання методів, зокрема за тривалістю застосування та розбіжністю результатів.

Запропонована методика дала змогу кількісно підтвердити переваги DSAV-CQRSES над ATAM для розв’язання задачі вибору оптимальної варіації архітектури CQRS з ES.

Тривалість застосування ATAM становила 32 години за участю чотирьох фахівців (загальні витрати 88 людино-годин). Технологія DSAV-CQRSES застосовувалася одним фахівцем упродовж 40 годин. За середніх і граничних параметрів моделі DSAV-CQRSES стабільно визначала рекомендовану варіацію з коефіцієнтом варіації 2,8%. Натомість ATAM продемонстрував нижчу точність і забезпечив коректний вибір у трьох із п’яти випадків за коефіцієнта варіації 33,64%.

Результати експерименту можуть бути використані на практиці для вибору інструментів порівняння варіацій архітектури CQRS з ES

Біографії авторів

Дмитро Леонідович Грузін, Дніпровський національний університет імені Олеся Гончара

Аспірант

Кафедра електронних обчислювальних машин

Олександр Анатолійович Литвинов, Дніпровський національний університет імені Олеся Гончара

Кандидат технічних наук, доцент

Кафедра електронних обчислювальних машин

Посилання

  1. Betts, D., Dominguez, J., Melnik, G., Simonazzi, F., Subramanian, M. (2013). Exploring CQRS and Event Sourcing: A Journey into High Scalability, Availability, and Maintainability with Windows Azure. Microsoft patterns & practices, 376. Available at: https://download.microsoft.com/download/e/a/8/ea8c6e1f-01d8-43ba-992b-35cfcaa4fae3/cqrs_journey_guide.pdf
  2. CQRS Documents by Greg Young. Available at: https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf
  3. Breivold, H. P., Crnkovic, I., Larsson, M. (2012). A systematic review of software architecture evolution research. Information and Software Technology, 54 (1), 16–40. https://doi.org/10.1016/j.infsof.2011.06.002
  4. Ford, N., Parsons, R., Kua, P., Sadalage, P. (2022). Building Evolutionary Architectures. O'Reilly Media, 262. Available at: https://www.oreilly.com/library/view/building-evolutionary-architectures/9781492097532/
  5. Soliman, M., Avgeriou, P., Li, Y. (2021). Architectural design decisions that incur technical debt – An industrial case study. Information and Software Technology, 139, 106669. https://doi.org/10.1016/j.infsof.2021.106669
  6. Sobhy, D., Bahsoon, R., Minku, L., Kazman, R. (2021). Evaluation of Software Architectures under Uncertainty. ACM Transactions on Software Engineering and Methodology, 30 (4), 1–50. https://doi.org/10.1145/3464305
  7. Babar, M. A., Zhu, L., Jeffery, R. (2004). A framework for classifying and comparing software architecture evaluation methods. 2004 Australian Software Engineering Conference. Proceedings, 309–318. https://doi.org/10.1109/aswec.2004.1290484
  8. Roy, B., Graham, N. (2008). Methods for Evaluating Software Architecture: A Survey. Technical Report No. 2008-545. School of Computing Queen’s University at Kingston Ontario. Available at: https://research.cs.queensu.ca/TechReports/Reports/2008-545.pdf?utm_source=chatgpt.com
  9. Mattsson, M., Grahn, H., Mårtensson, F. (2006). Software Architecture Evaluation Methods for Performance, Maintainability, Testability, and Portability. Presented at the Second International Conference on the Quality of Software Architectures (QoSA 2006). Västerås. Available at: https://www.researchgate.net/publication/200622064_Software_Architecture_Evaluation_Methods_for_Performance_Maintainability_Testability_and_Portability
  10. Kazman, R., Klein, M., Clements, P. (2000). ATAM: Method for Architecture Evaluation. Technical report: CMU/SEI-2000-TR-004, ESC-TR-2000-004. Pittsburgh: Product Line Systems, 71. Available at: https://www.researchgate.net/publication/2814191_ATAM_Method_for_Architecture_Evaluation
  11. Lytvynov, O., Hruzin, D. (2025). Decision-making on Command Query Responsibility Segregation with Event Sourcing architectural variations. Technology Audit and Production Reserves, 4 (2 (84)), 37–59. https://doi.org/10.15587/2706-5448.2025.337168
  12. Abrahão, S., Insfran, E. (2017). Evaluating Software Architecture Evaluation Methods. Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, 144–153. https://doi.org/10.1145/3084226.3084253
  13. Gonzalez-Huerta, J., Insfran, E., Abrahão, S., Scanniello, G. (2015). Validating a model-driven software architecture evaluation and improvement method: A family of experiments. Information and Software Technology, 57, 405–429. https://doi.org/10.1016/j.infsof.2014.05.018
  14. Eloranta, V.-P., van Heesch, U., Avgeriou, P., Harrison, N., Koskimies, K. (2014). Lightweight Evaluation of Software Architecture Decisions. Relating System Quality and Software Architecture, 157–179. https://doi.org/10.1016/b978-0-12-417009-4.00006-5
  15. Babar, M. A., Kitchenham, B. (2007). Assessment of a Framework for Comparing Software Architecture Analysis Methods. Electronic Workshops in Computing. https://doi.org/10.14236/ewic/ease2007.2
  16. Babar, M. A., Gorton, I. (2004). Comparison of Scenario-Based Software Architecture Evaluation Methods. 11th Asia-Pacific Software Engineering Conference, 600–607. https://doi.org/10.1109/apsec.2004.38
  17. Hruzin, D. L., Lytvynov, O. A. (2025). The impact of quality attribute selection on comparing CQRS with event sourcing architectural variations. Proceding of the XVIII International Scientific and Practical Conference. Odesa, 614–616. Available at: https://if.uu.edu.ua/wp-content/uploads/2025/11/zbirnyk-tez-konferentsii-itia-2025.pdf
  18. Le Thi Kim Nhung, H., Van Hai, V., Hoc, H. T. (2021). Analyzing Correlation of the Relationship Between Technical Complexity Factors and Environmental Complexity Factors for Software Development Effort Estimation. Software Engineering Application in Informatics, 835–848. https://doi.org/10.1007/978-3-030-90318-3_65
  19. da Silva, A. R., Savić, D., Vlajić, S., Antović, I., Lazarević, S., Stanojević, V., Milić, M. (2015). A pattern language for use cases specification. Proceedings of the 20th European Conference on Pattern Languages of Programs, 1–18. https://doi.org/10.1145/2855321.2855330
  20. Minsky, M. (1974). A Framework for Representing Knowledge. MIT Research Lab Technical Report. Massachusetts Institute of Technology, Cambridge, MA, United States. Available at: https://courses.media.mit.edu/2004spring/mas966/Minsky%201974%20Framework%20for%20knowledge.pdf
  21. Hruzin, D. (2026). Classification of Use Cases in Systems Based on CQRS with Event Sourcing. Zenodo. https://doi.org/10.5281/zenodo.18621093
  22. Janssen, P., Stouffs, R. (2015). Types of Parametric Modelling. Proceedings of the 20th Conference on Computer Aided Architectural Design Research in Asia (CAADRIA), 157–166. https://doi.org/10.52842/conf.caadria.2015.157
  23. Friedman, J. H. (2001). Greedy function approximation: A gradient boosting machine. The Annals of Statistics, 29 (5). https://doi.org/10.1214/aos/1013203451
  24. Kohl, M., Ruckdeschel, P. (2010). R Package distrMod: S4 Classes and Methods for Probability Models. Journal of Statistical Software, 35 (10). https://doi.org/10.18637/jss.v035.i10
  25. General Data Protection Regulation. Available at: https://gdpr-info.eu/
  26. Aljoumah, E., Al-Mousawi, F., Ahmad, I., Al-Shammri, M., Al-Jady, Z. (2015). SLA in Cloud Computing Architectures: A Comprehensive Study. International Journal of Grid and Distributed Computing, 8 (5), 7–32. https://doi.org/10.14257/ijgdc.2015.8.5.02
  27. Application Performance Index – Apdex Final Technical Specification (2005). Apdex Alliance. Available at: https://www.apdex.org/wp-content/uploads/2020/09/Apdex_Technical_Specification.pdf
  28. Tsyganok, I. (2016). Pair-Programming from a Beginner’s Perspective. Agile Processes, in Software Engineering, and Extreme Programming, 270–277. https://doi.org/10.1007/978-3-319-33515-5_25
  29. Hruzin, D. (2026). dmytrohruzin/DSAV-CQRSES-ATAM-parametic-model: TODOs for MVP (1.0.2). Zenodo. https://doi.org/10.5281/zenodo.18473292
  30. DSAV-CQRSES-ATAM-parametic-model. Available at: https://sonarcloud.io/summary/overall?id=dmytrohruzin_DSAV-CQRSES-ATAM-parametic-model&branch=main
  31. CQRS pattern. Available at: https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs
  32. Event Sourcing pattern. Available at: https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing
  33. Fowler, M. (2011). CQRS. Available at: https://martinfowler.com/bliki/CQRS.html
  34. Di Pompeo, D., Tucci, M. (2023). Quality Attributes Optimization of Software Architecture: Research Challenges and Directions. 2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C), 252–255. https://doi.org/10.1109/icsa-c57050.2023.00061
  35. Hruzin, D. (2026). Presentation: Choose the optimal variation of CQRS with ES architecture with ATAM. https://doi.org/10.5281/zenodo.18472924
  36. Taguchi, G., Chowdhury, S., Wu, Y. (2004). Taguchi’s Quality Engineering Handbook. Wiley. https://doi.org/10.1002/9780470258354
  37. Lytvynov, O., Khandetskyi, V., Lytvynov, M. (2025). The Estimation of Effort for Domain-Driven Architectural Variations Migration using Modified Use Case Size Points Method. Proceding of the 1st International Scientific and Practical Conference (MIT@AIS’2025s). Kharkiv-Yaremche, 149–152. Available at: https://drive.usercontent.google.com/u/0/uc?id=1iVEiy8u0IJ9jgcQyvyhRiId3vKpAyGf-
  38. Hruzin, D. (2026). Calculation of cognitive functional complexity of activities for processes in the CQRS with Event sourcing systems. Zenodo. https://doi.org/10.5281/zenodo.18509043
  39. Wang, Y., Shao, J. (2003). Measurement of the cognitive functional complexity of software. The Second IEEE International Conference on Cognitive Informatics, 2003. Proceedings, 67–74. https://doi.org/10.1109/coginf.2003.1225955
  40. Ionita, M. T., America, P., Hammer, D. K., Obbink, H., Trienekens, J. J. M. A scenario-driven approach for value, risk, and cost analysis in system architecting for innovation. Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), 277–280. https://doi.org/10.1109/wicsa.2004.1310709
  41. Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8 (3), 338–353. https://doi.org/10.1016/s0019-9958(65)90241-x
  42. Brunelli, M. (2015). Introduction to the Analytic Hierarchy Process. In (Editor), SpringerBriefs in Operations Research. Springer International Publishing. https://doi.org/10.1007/978-3-319-12502-2
  43. DBBSoftware. Available at: https://dbbsoftware.com/
Розробка методики порівняння методів вибору оптимальної варіації архітектури розмежування відповідальності команд і запитів у поєднанні з підходом фіксації та збереження подій

##submission.downloads##

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

2026-06-30

Як цитувати

Грузін, Д. Л., & Литвинов, О. А. (2026). Розробка методики порівняння методів вибору оптимальної варіації архітектури розмежування відповідальності команд і запитів у поєднанні з підходом фіксації та збереження подій . Eastern-European Journal of Enterprise Technologies, 3(2 (141), 24–44. https://doi.org/10.15587/1729-4061.2026.360407