Toward Refactoring of DMARF and GIPSY Case Studies a Team 7 SOEN6471-S14 Project Report
Abstract
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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.