Essential software architecture. - Gorton, Ian (Springer;, 2006)