Software Architecture in Practice - Len Bass; Paul Clements; Rick Kazman