ANALYSIS OF FACTORS INFLUENCING THE ARCHITECTURE OF SOFTWARE SYSTEMS

Authors

DOI:

https://doi.org/10.32782/IT/2022-1-7

Keywords:

action factors, software systems, architecture.

Abstract

In the article, the authors explored existing approaches and recommendations for building software architectures. Creating a new software product is always a risk. Choosing the right architecture is an essential step to success. The process of development, construction, and changes in the architecture of the existing software package is analyzed. Identified external factors influencing the development process. They turned out to be the following: constant changes in the functional and non-functional requirements for the system being developed; architectural trends that existed at the time of designing the primary architecture; changes in financial conditions for deployment and further support; changing the subject of responsibility for the further development of the system. An analysis was made of some of the current research in the field of software architectures. From this, we can conclude that this area is quite wide, and is also a topical subject for scientific research. Some studies examine economics and enterprise architectures, the reasons for architectural changes in late phases of development, or how to evaluate their impact on system architecture. Each time throughout the entire software development process, some factors influence it and, in particular, lead to the adoption of certain architectural decisions. We conditionally divide these reasons into two categories: internal and external. After analyzing the specifics of the implementation of architectures based on a specific example of long-term development, we determine that the specific implementation of each type of architecture is a fairly large-scale and painstaking process that requires careful planning and preliminary analysis. Architectural errors and factors that were not taken into account or underestimated can lead to the leveling of previous progress or significant reworking of the existing system. This leads to a significant increase in the total cost of the system being developed.

References

System Architecture. URL: https://rubygarage.org/blog/monolith-soa-microservices-serverless (дата звернення: 01.11.2021).

Monolithic architecture definition. URL: https://whatis.techtarget.com/definition/monolithic-architecture (дата звернення 16.11.2021).

GitHub: ZSTU-App. URL: https://github.com/unsinedz/ZSTU-App (дата звернення: 05.11.2021).

What is SOA. URL: https://www.ibm.com/cloud/learn/soa (дата звернення: 05.11.2021).

GitHub: ScheduleManager. URL: https://github.com/unsinedz/ScheduleManager (дата звернення: 05.11.2021).

Horizontal vs Vertical scaling. URL: https://touchstonesecurity.com/horizontal-vs-vertical-scaling-whatyou- need-to-know (дата звернення: 05.11.2021).

Database normalization basics. URL: https://docs.microsoft.com/en-us/office/troubleshoot/access/ database-normalization-description (дата звернення: 14.11.2021).

An overview of sharding and partitioning. URL: https://hazelcast.com/glossary/sharding (дата звернення 14.11.2021).

GitHub: Zhytomyr-polytechnic. URL: https://github.com/unsinedz/zhytomyr-polytechnic/tree/develop (дата звернення: 14.11.2021).

What is the CAP theorem. URL: https://www.ibm.com/cloud/learn/cap-theorem (дата звернення: 05.11.2021).

Nick Rozanski, Eóin Woods. Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley, 2011, 704 p. URL: https://books.google.com/books?id=ka4QO9kXQFUC (дата звернення: 19.11.2021).

Eoin Woods. Top 10 Architecture Mistakes, 2008. 42 p. URL: http://jaoo.dk/dl/jaoo-aarhus-2008/slides/ EoinWoodsTop10Mistakes.pdf (дата звернення: 19.11.2021).

Byron J. Williams, Jeffrey C. Carver. Characterizing software architecture changes: a systematic review. Information and Software Technology.Volume 52, Issue 1, January 2010, Pages 31-51. https://doi. org/10.1016/j.infsof.2009.07.002

Jianjun Zhao, Hongji Yang, Baowen Xu. Change impact analysis to support architectural evolution. Journal of Software Maintenance and Evolution Research and Practice, Vol. 14(5), 2002. Pp. 317-333. DOI: 10.1002/smr.258

Published

2022-09-08