Software Architecture in Practice, 2/e
The first edition of this book established itself as the leading book on this topic of growing importance. It was critically acclaimed (recipient of the Software Development Magazine Productivity Award) and widely embraced by customers. The second edition maintains the goals of the first edition: to define and explain software architecture, and to demonstrate, through real-world case studies, its importance for software system design.
Table of Content
I. Envisioning Architecture
II. Creating an Architecture
- The Architecture Business Cycle.
- What Is Software Architecture?
- A-7E Avionics System: A Case Study in Utilizing Architectural Structures.
III. Analyzing an Architecture
- Understanding Quality Attributes.
- Achieving Qualities.
- Air Traffic Control: A Case Study in Designing for High Availability.
- Creating the Architecture.
- Flight Simulation: A Case Study in an Architecture for Integrability.
- Documenting Software Architectures.
- Reconstructing Software Architectures.
IV. Moving from one system to Many
- The ATAM: A Comprehensive Method for Architecture Evaluation.
- CBAM: A Quantitative Approach to Architecture Design Decision Making.
- The World Wide Web: A Case Study in Interoperability.
- Software Product Lines: Reusing Architectural Assets.
- CelsiusTech: A Case Study in Product Line Development.
- J2EE/EJB: A Case Study of an Industry Standard Computing Infrastructure.
- The Luther Architecture: A Case Study in Mobile Applications Using J2EE.
- Building Systems from Off-the-Shelf Components.
- Software Architecture in the Future.
- A thorough introduction to all aspects of software architecture.
- Shows how the knowledge and application of software architecture can help an organization achieve the quality goals of its systems.
- Architecture design and analysis, including the Architecture Tradeoff Analysis Method (ATAM)
- Capturing quality requirements and achieving them through quality scenarios and tactics
- Using architecture reconstruction to recover undocumented architectures
- Documenting architectures using the Unified Modeling Language (UML)
- New case studies, including Web-based examples and a wireless Enterprise JavaBeans™ (EJB) system designed to support wearable computers
- The financial aspects of architectures, including use of the Cost Benefit Analysis Method (CBAM) to make decisions