Introducing the fundamental concepts and identifying best practices in the field, this textbook explains the role of software architecture in achieving system quality, its importance for a company's business strategy, and the specifics of how software is structured and how its components interact. Technical topics related to the design, specification, and validation of a system are detailed, with particular attention to the relevance of a project's business context. Case studies profiling successful architecture illustrate key points in both the technical and the organizational discussion. The authors are software engineers.
The concepts and practice of software architecture are introduced--what a system is designed to do and how its components are meant to interact with each other. The authors cover not only essential technical topics for specifying and validating a system, but, for the first time, emphasize the importance of the business context in which large systems are designed.