Architectural Strategies for Scalable, Secure, and High-Performance Software Systems
Keywords:
Component Interaction, Scalability, Software Architecture, System Structure,, Technical DesignAbstract
Software Architecture is a discipline within software development that focuses on the structure and interaction of system components. It encompasses decision-making that impacts the technical design, functionality, performance, and scalability of the system. The aim of software architecture is to ensure that the system can meet both business and technical requirements efficiently and effectively. Key components in software architecture include modules, components, and services, as well as their relationships, often depicted through architectural diagrams. This approach also involves considerations for various non-functional factors such as security, reliability, and change management. A well-defined architecture enables development teams to better understand and manage system complexity, enhancing collaboration and communication among team members. Furthermore, robust software architecture can extend the system’s lifespan and reduce maintenance and development costs in the future.
References
Bosse, S. (2022). PSciLab: An Unified Distributed and Parallel Software Framework for Data Analysis, Simulation and Machine Learning—Design Practice, Software Architecture, and User Experience. Applied Sciences (Switzerland), 12(6). https://doi.org/10.3390/app12062887
Bushong, V., Das, D., & Cerny, T. (2022). Reconstructing the Holistic Architecture of Microservice Systems using Static Analysis. International Conference on Cloud Computing and Services Science, CLOSER - Proceedings, 149–157. https://doi.org/10.5220/0011032100003200
Goeritno, A., Widyarto, S., Azama, I. M., Andriana, N., Indriya, I., & Waluyo, R. (2023). A Basic Review for Understanding the Important Role of Safety Instrumented Systems: Delivering through Lecture-based Classes. Journal of Applied Science and Advanced Engineering, 1(2), 55–65. https://doi.org/10.59097/jasae.v1i2.17
Hahner, S. (2021). Architectural Access Control Policy Refinement and Verification under Uncertainty. http://ceur-ws.org
Ilyas, A., Alatawi, M. N., Hamid, Y., Mahfooz, S., Zada, I., Gohar, N., & Shah, M. A. (2022). Software architecture for pervasive critical health monitoring system using fog computing. Journal of Cloud Computing, 11(1). https://doi.org/10.1186/s13677-022-00371-w
Nind, T., Sutherland, J., McAllister, G., Hardy, D., Hume, A., MacLeod, R., Caldwell, J., Krueger, S., Tramma, L., Teviotdale, R., Abdelatif, M., Gillen, K., Ward, J., Scobbie, D., Baillie, I., Brooks, A., Prodan, B., Kerr, W., Sloan-Murphy, D., … Jefferson, E. (2020). An extensible big data software architecture managing a research resource of real-world clinical radiology data linked to other health data from the whole Scottish population. GigaScience, 9(10). https://doi.org/10.1093/gigascience/giaa095
Ospina, S., Verdecchia, R., Malavolta, I., & Lago, P. (2021). ATDx: A tool for Providing a Data-driven Overview of Architectural Technical Debt in Software-intensive Systems. http://www.ivanomalavolta.com/
Pargaonkar, S. (2023). Enhancing Software Quality in Architecture Design: A Survey- Based Approach. International Journal of Scientific and Research Publications, 13(8), 116–119. https://doi.org/10.29322/ijsrp.13.08.2023.p14014
Sahlabadi, M., Muniyandi, R. C., Shukur, Z., Qamar, F., & Kazmi, S. H. A. (2023). Process Mining Discovery Techniques for Software Architecture Lightweight Evaluation Framework. Computers, Materials and Continua, 74(3), 5777–5797. https://doi.org/10.32604/cmc.2023.032504
Stojanov, Z., & Dobrilovic, D. (2021). Software Architecture Quality Attributes of a Layered Sensor-Based IoT System. http://ceur-ws.org