Abstract: Legacy software systems are valuable assets for organisations. From time to time, renewing legacy software system architecture becomes necessary in order to offer them a new future. Rearchitecting a complex legacy software system is a difficult task. It involves understanding and aggregating a large set of data (the entire source code, dependencies, etc.). Understanding a software system is a matter of identifying the concepts that are implemented in the source code and organizing these concepts in a shared logical view of the system (e.g. an architectural view). This paper presents the approach used in a real industrial rearchitecting project of a complex legacy software system. We explain how concepts were modelled and mapped to the source code through entities called tags. We show how these tags were used by engineers and what tools were created to help them.
Presentation available HERE