Why diagram existing software?
Understand structures and dependencies
Detect flaws and bad smells
Plan refactorings, redesign, and new
features