2014/12/18 by Abdulrhman Albeladi, Albeladi, Abdulrhman, Ahmed Almessabi +9
Computer Science · #Advanced Software Engineering Methodologies #FOS: Computer and information sciences #Software Engineering (cs.SE) #Software Engineering Research #Software System Performance and Reliability #cs.SE
paper · pdf · doi:10.48550/arxiv.1412.6494
25 pages; 31 figures; 4 tables
arxiv created 2014/12/18 · openalex publication_date 2014/12/18 · arxiv updated 2014/12/22 · openalex created_date 2022/09/11 · openalex updated_date 2026/07/28
Software architecture is defined as the process of a well-structured solution that meets all of the technical and operational requirements, as well as improving the quality attributes of the system such as readability, Reliability, maintainability, and performance. It involves a series of design decisions that can have a considerable impact on the systems quality attributes, and on the overall success of the application. In this work, we start with analysis and investigation of two open source software (OSS) platforms DMARF and GIPSY, predominantly implemented in Java. Many research papers have been studied in order to gain more insights and clear background about their architectures, enhancement, evolution, challenges, and features. Subsequently, we extract and find their needs, high-level requirements, and architectural structures which lead to important design decisions and thus influence their quality attributes. Primarily, we reversed engineering each system0s source code to reconstruct its domain model and class diagram model. We tried to achieve the traceability between requirements and other design artifacts to be consistent. Additionally, we conducted both manual and automated refactoring techniques to get rid of some existing code smells to end up with more readable and understandable code without affecting its observable behavior.