Software architecture and design illuminated - Qian, Kai (Jones and Bartlett Publishers, 2010)