As a solution architect I often get thrown into projects with a lot of legacy code and little or outdated documentation. My mandate is to suggest architectural changes that will reduce maintenance costs and ease further development. The first thing I focus on is to get an overview of the system and how it is structured with modules, components and classes. I have found that the best way to get this overview is to create a light weight UML class diagram. In this post I will show you how I prefer to create light weight UML class diagrams.
To start with I will explain what I mean by light weight UML class diagrams.
I want the diagrams to be easy to read and understand and I try to find the balance where the diagram is so light that non-technical persons (like product owner and project manager) understands it, but still it is technical enough so technical persons (like developers and architects) finds it useful.
I only use a few of the UML class diagram symbols: Continue reading »