Розробка методики порівняння методів вибору оптимальної варіації архітектури розмежування відповідальності команд і запитів у поєднанні з підходом фіксації та збереження подій
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
Посилання
- 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
- CQRS Documents by Greg Young. Available at: https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf
- 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
- 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/
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Hruzin, D. (2026). Classification of Use Cases in Systems Based on CQRS with Event Sourcing. Zenodo. https://doi.org/10.5281/zenodo.18621093
- 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
- Friedman, J. H. (2001). Greedy function approximation: A gradient boosting machine. The Annals of Statistics, 29 (5). https://doi.org/10.1214/aos/1013203451
- 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
- General Data Protection Regulation. Available at: https://gdpr-info.eu/
- 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
- 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
- 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
- Hruzin, D. (2026). dmytrohruzin/DSAV-CQRSES-ATAM-parametic-model: TODOs for MVP (1.0.2). Zenodo. https://doi.org/10.5281/zenodo.18473292
- DSAV-CQRSES-ATAM-parametic-model. Available at: https://sonarcloud.io/summary/overall?id=dmytrohruzin_DSAV-CQRSES-ATAM-parametic-model&branch=main
- CQRS pattern. Available at: https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs
- Event Sourcing pattern. Available at: https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing
- Fowler, M. (2011). CQRS. Available at: https://martinfowler.com/bliki/CQRS.html
- 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
- Hruzin, D. (2026). Presentation: Choose the optimal variation of CQRS with ES architecture with ATAM. https://doi.org/10.5281/zenodo.18472924
- Taguchi, G., Chowdhury, S., Wu, Y. (2004). Taguchi’s Quality Engineering Handbook. Wiley. https://doi.org/10.1002/9780470258354
- 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-
- 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
- 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
- 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
- Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8 (3), 338–353. https://doi.org/10.1016/s0019-9958(65)90241-x
- 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
- DBBSoftware. Available at: https://dbbsoftware.com/
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2026 Dmytro Hruzin, Oleksandr Lytvynov

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.
Ліцензійний договір – це документ, в якому автор гарантує, що володіє усіма авторськими правами на твір (рукопис, статтю, тощо).
Автори, підписуючи Ліцензійний договір з ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР», мають усі права на подальше використання свого твору за умови посилання на наше видання, в якому твір опублікований. Відповідно до умов Ліцензійного договору, Видавець ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР» не забирає ваші авторські права та отримує від авторів дозвіл на використання та розповсюдження публікації через світові наукові ресурси (власні електронні ресурси, наукометричні бази даних, репозитарії, бібліотеки тощо).
За відсутності підписаного Ліцензійного договору або за відсутністю вказаних в цьому договорі ідентифікаторів, що дають змогу ідентифікувати особу автора, редакція не має права працювати з рукописом.
Важливо пам’ятати, що існує і інший тип угоди між авторами та видавцями – коли авторські права передаються від авторів до видавця. В такому разі автори втрачають права власності на свій твір та не можуть його використовувати в будь-який спосіб.





