It was concluded that Clean Architecture cannot be viewed solely as an ally or a villain, as its effectiveness depends on project characteristics, team experience, and the proportionate application of its principles.
This paper analyzes the two software architectural approaches namely Monolithic Architecture vs Microservices Architecture when considering scalable software development, and puts the following into consideration: empirical trade-offs, scalability consideration, organizational implications, and development complexity.
Theophilus Bamise Ajala, A. Oduroye, I. Ayoade et al.· Asian journal of applied sci...· 0 citations
It is demonstrated that multiple architectural views, continuous monitoring, domain-driven decomposition, and AI-assisted design techniques contribute significantly to improving scalability, maintainability, adaptability, and long-term software sustainability.
Understanding large, complex software architectures is difficult and time-consuming. Software architecture recovery aims to extract explanatory artefacts from code, but existing methods often lack generalisability. To address this, we previously proposed Deductive Software Architecture Recovery (DSAR) to extend current techniques. This paper presents a qualitative evaluation of DSAR in an industrial setting. Using a large language model-assisted prototype, we examined the recovered architecture's content quality, presentation quality, and usefulness for understanding and maintaining real-world systems. To ensure practical relevance, we conducted an in-depth judgement study with software engineering teams at ASML applying DSAR to 17 Java repositories across diverse teams. We contribute: an empirical assessment indicating that DSAR supports comprehension, architectural reasoning, and communication; qualitative evidence on the strengths and limitations of the generated explanatory artefacts; and recommendations for practitioners and researchers on adopting and further developing DSAR for architectural sense-making.
S. A. Rukmono, Lina Ochoa, Thijs Bressers et al.· SIGSOFT FSE Companion· 0 citations
A Domain-Specific Language (DSL), named RI language, designed for the declarative description of microservices, along with a supporting tool, TSE (Toolbox Service Executor), implemented in Python and based on the RI grammar, enables the representation of structural and operational aspects of services in a technology-agnostic manner.
Cássio Ritse, Machado Dos, Santos Silva et al.· 0 citations
The article examines the role of the SOLID principles in ensuring the quality of software architecture and the manageability of its evolution under continuously changing requirements. The influence of object-oriented design principles on the level of coupling and cohesion of software components is considered, as well as their interrelation with architectural approaches and design patterns. An analysis of various types of coupling encountered in modern software systems is performed, including structural, conceptual, and evolutionary coupling. Special attention is paid to the practical aspects of applying the SRP, OCP, LSP, ISP, and DIP principles, as well as to the risks arising from their formal or excessive use. It is shown that the effectiveness of architectural decisions is determined not only by compliance with design principles but also by the use of objective quality evaluation criteria based on metrics of coupling, cohesion, and code complexity. The possibilities of applying hexagonal architecture, contract testing, and dependency inversion mechanisms to improve the maintainability of software systems are considered. Based on the research results, a practical approach to using the SOLID principles as a system of engineering constraints is proposed, which ensures sustainable development of a software product and reduces architectural risks throughout its life cycle.
Milana S. Shapieva, Muhammad A. Agamirzaev· EKONOMIKA I UPRAVLENIE: PROB...· 0 citations