Part One Envisioning Architecture
Chapter 1 The Architecture Business Cycle
1.1 Where Do Architectures Come From?
1.2 Software Processes and the Architecture Business Cycle
1.3 What Makes a “Good” Architecture?
Chapter 2 What Is Software Architecture?
2.1 What Software Architecture Is and What It Isn't
2.3 Architectural Patterns, Reference Models, and Reference Architectures
2.4 Why Is Software Architecture Important?
2.5 Architectural Structures and Views
Chapter 3 A-7E Avionics System: A Case Study in Utilizing Architectural Structures
3.1 Relationship to the Architecture Business Cycle
3.2 Requirements and Qualities
3.3 Architecture for the A-7E Avionics System
Part Two Creating an Architecture
Chapter 4 Understanding Quality Attributes
4.1 Functionality and Architecture
4.2 Architecture and Quality Attributes
4.4 Quality Attribute Scenarios in Practice
4.5 Other System Quality Attributes
5.8 Relationship of Tactics to Architectural Patterns
5.9 Architectural Patterns and Styles
Chapter 6 Air Traffic Control: A Case Study in Designing for High Availability
6.1 Relationship to the Architecture Business Cycle
6.2 Requirements and Qualities
Chapter 7 Designing the Architecture
7.1 Architecture in the Life Cycle
7.2 Designing the Architecture
7.3 Forming the Team Structure
7.4 Creating a Skeletal System
Chapter 8 Flight Simulation: A Case Study in an Architecture for Integrability
8.1 Relationship to the Architecture Business Cycle
8.2 Requirements and Qualities
Chapter 9 Documenting Software Architectures
9.1 Uses of Architectural Documentation
9.3 Choosing the Relevant Views
9.5 Documentation across Views
Chapter 10 Reconstructing Software Architectures
Part Three Analyzing Architectures
Chapter 11 The ATAM: A Comprehensive Method for Architecture Evaluation
11.4 The Nightingale System: A Case Study in Applying the ATAM
Chapter 12 The CBAM: A Quantitative Approach to Architecture Design Decision Making
12.4 Case Study: The NASA ECS Project
12.5 Results of the CBAM Exercise
Chapter 13 The World Wide WebA Case Study in Interoperability
13.1 Relationship to the Architecture Business Cycle
13.2 Requirements and Qualities
13.4 Another Cycle through the ABC: The Evolution of Web-Based E-Commerce Architectures
13.6 The Architecture Business Cycle Today
Part Four Moving From One System to Many
Chapter 14 Software Product Lines: Re-using Architectural Assets
14.2 What Makes Software Product Lines Work?
14.4 Architectures for Product Lines
14.5 What Makes Software Product Lines Difficult?
Chapter 15 CelsiusTech: A Case Study in Product Line Development
15.1 Relationship to the Architecture Business Cycle
15.2 Requirements and Qualities
Chapter 16 J2EE/EJB: A Case Study of an Industry-Standard Computing Infrastructure
16.1 Relationship to the Architecture Business Cycle
16.2 Requirements and Qualities
16.4 System Deployment Decisions
Chapter 17 The Luther Architecture: A Case Study in Mobile Applications Using J2EE
17.1 Relationship to the Architecture Business Cycle
17.2 Requirements and Qualities
17.4 How Luther Achieved Its Quality Goals
Chapter 18 Building Systems from Off-the-Shelf Components
18.1 Impact of Components on Architecture
18.3 Component-Based Design as Search
Chapter 19 Software Architecture in the Future
19.1 The Architecture Business Cycle Revisited
19.3 Architecture within the Life Cycle