Analyzing Trade-Offs - Fundamentals of Software Architecture | Lucent