stop the software architecture erosion
During the evolution of a software system, it becomes more and more difficult to understand the originally planned software architecture. Often an architectural degeneration happens because of various reasons during the development phases. In this tutorial we will be looking how to avoid such architectural decay and degeneration and how continuous monitoring can improve the situation and avoid architectural violations. In addition we will look at "refactoring in the large" and how refactoring can be simulated. We will also look at some popular open source projects like ant, findbugs and eclipse (CDT/JDT) and see if and how far architectural an erosion happens/ed there. The participants will analyze a system and search with tool support for erosion areas and subsequently simulate virtual refactoring for improving the software. At the end participants will improve the system and have a good feeling how far an automated and tool supported approach can lead to better results.
software architecture erosion refactoring simulation design static code analysis