A Decision Support System for Software Architecture Decision Making
Göster/ Aç
Tarih
2024-06Yazar
Özdeş Demir, Merve
Ambargo Süresi
Acik erisimÜst veri
Tüm öğe kaydını gösterÖzet
Software architecture forms the overall structure of a software system and defines how its components work and interact together. It serves as a critical schema that specifies in detail the structure, elements and communication channels of the system. A well designed architecture ensures that new functionality is seamlessly integrated, changes are adapted to, and ongoing efficiency is maintained, making the software scalable, maintainable, and robust. This is particularly important in large-scale projects to manage complexity and align the software's technical specifications with business goals. In the rapidly evolving world of software engineering, the difficulty of decision-making in the architectural decision making process is a major challenge and affects the quality, maintainability and scalability of the system. In response to this challenge, this thesis introduces a tool titled SOFtware ARchitecture Decision Support System (SOFAR-DSS), specifically designed to support more structured decision making in the software architecture design process. SOFAR-DSS is the culmination of an exploratory study and an extensive survey designed to identify key factors and common challenges within this crucial process. The initial stages of this thesis involved a meticulous exploration to pinpoint the elements influencing architectural decision-making and to delineate the hurdles typically encountered. This study began with semi-structured interviews conducted online with nine experts, providing valuable insights that laid the groundwork for the subsequent survey. The exploratory study, enriched by feedback from these professionals, set the stage for a comprehensive survey aimed at a broader audience to scrutinize the architectural decision-making process in greater detail. The survey reached 101 participants from various countries, encompassing architects with varying years of experience, thus ensuring a rich diversity of insights and perspectives. The insights garnered from these preliminary studies have been instrumental in shaping the development of the decision support system. SOFAR-DSS serves as a support system that guides decision makers through the complexity of architectural decisions. While its primary target is software architect, through its intuitive design and comprehensive guidance, SOFAR-DSS addresses a wider audience of professionals involved in the software architecture decision process. The primary aim of SOFAR-DSS is to refine the decision-making process, guaranteeing that architectural decisions enhance the project's needs, thus not only improving the efficiency of the decision-making process but also contributing to the overall quality and uniformity of the software architecture. SOFAR-DSS is differentiated from other decision support systems through its integration of artificial intelligence and an interactive interface, providing decision-makers with more efficient, user-centric, and superior guidance. In order to validate SOFAR-DSS, we employed three different approaches. First, we tested the system by inputting design pattern definitions from books and assessing its accuracy and relevance. Second, we benchmarked the system's performance by entering real-world questions and answers from Stack Overflow, comparing the system's responses to those given by the community. Finally, we conducted hands-on trials with five experienced experts who thoroughly evaluated the system's effectiveness in practical scenarios. The system has successfully generated effective responses for sample issues tested across a range of scenarios.