Architecture View of a Software Program
Thursday, May 27th, 2010Michael Feather’s “Working Effectively With Legacy Code” describes architecture as a simplification of how software actually works. Details and inconsistencies are glossed over, but the gist of the software is the focus.
As such, it highlights the most important pieces of the software.
What if we could visualize the most important pieces? A simplified UML structure diagram or sequence diagram would be sufficient, and that’s probably what a lot of projects do. But what if we could go further?
The architecture description is hierarchical. You start by describing the central piece and then add the details and exceptions later. Could we make a semantic zooming view of software architecture, so that the most important parts were at the highest zoom level and more details become apparent, finally showing the actual code?
The question of course, would be how to do this without adding too much additional overhead to describing the software itself.



