How to Think like a Software Architect
Highlights the techniques used by a software architect to analyze requirements and design solutions for complex back office computer apps. Spans object identification, inheritance, polymorphism, encapsulation, reuse and design patterns.