Software architecture : organizational principles and patterns - Dikel, David M ; Kane, David & Wilson, James R (Prentice-Hall, New Jersey, 2001)