Software architecture reconstruction: Why? What? How?
Mehdi Mirakhorli · 2015
Software architecture reconstruction plays an increasingly essential role in software engineering tasks such as architecture renovation, program comprehension, and change impact analysis. Various methods have been developed which use a software system's implementation-level artifacts to recover the architecture of the software. This tutorial will answer three fundamental questions about software architecture recovery: Why? What? and How? Through several examples it articulates and synthesizes technical forces and financial motivations that make software companies to invest in software architecture recovery. It discusses what are the pieces of design knowledge that can be recovered and lastly demonstrates a methodology as well as required tools for answering how to reconstruct architecture from implementation artifacts.