Software architecture in practice

This award-winning book, substantially updated to reflect the latest developments in the field, introduces the concepts and best practices of software architecture--how a software system is structured and how that system's elements are meant to interact. Distinct from the details of implementat...

Descripción completa

Detalles Bibliográficos
Autor principal: Bass, Len (-)
Otros Autores: Clements, Paul, 1955-, Kazman, Rick
Formato: Libro electrónico
Idioma:Inglés
Publicado: Boston : Addison-Wesley c2003.
Edición:2nd ed
Colección:SEI series in software engineering
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627259106719
Tabla de Contenidos:
  • Cover
  • Contents
  • Preface
  • Acknowledgments
  • Reader's Guide
  • 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?
  • 1.4 Summary
  • 1.5 Discussion Questions
  • CHAPTER 2 What Is Software Architecture?
  • 2.1 What Software Architecture Is and What It Isn't
  • 2.2 Other Points of View
  • 2.3 Architectural Patterns, Reference Models, and Reference Architectures
  • 2.4 Why Is Software Architecture Important?
  • 2.5 Architectural Structures and Views
  • 2.6 Summary
  • 2.7 For Further Reading
  • 2.8 Discussion Questions
  • 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
  • 3.4 Summary
  • 3.5 For Further Reading
  • 3.6 Discussion Questions
  • PART TWO: CREATING AN ARCHITECTURE
  • CHAPTER 4 Understanding Quality Attributes
  • 4.1 Functionality and Architecture
  • 4.2 Architecture and Quality Attributes
  • 4.3 System Quality Attributes
  • 4.4 Quality Attribute Scenarios in Practice
  • 4.5 Other System Quality Attributes
  • 4.6 Business Qualities
  • 4.7 Architecture Qualities
  • 4.8 Summary
  • 4.9 For Further Reading
  • 4.10 Discussion Questions
  • CHAPTER 5 Achieving Qualities
  • 5.1 Introducing Tactics
  • 5.2 Availability Tactics
  • 5.3 Modifiability Tactics
  • 5.4 Performance Tactics
  • 5.5 Security Tactics
  • 5.6 Testability Tactics
  • 5.7 Usability Tactics
  • 5.8 Relationship of Tactics to Architectural Patterns
  • 5.9 Architectural Patterns and Styles
  • 5.10 Summary
  • 5.11 Discussion Questions
  • 5.12 For Further Reading
  • 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
  • 6.3 Architectural Solution
  • 6.4 Summary
  • 6.5 For Further Reading
  • 6.6 Discussion Questions
  • 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
  • 7.5 Summary
  • 7.6 For Further Reading
  • 7.7 Discussion Questions
  • 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
  • 8.3 Architectural Solution
  • 8.4 Summary
  • 8.5 For Further Reading
  • 8.6 Discussion Questions
  • CHAPTER 9 Documenting Software Architectures
  • 9.1 Uses of Architectural Documentation
  • 9.2 Views
  • 9.3 Choosing the Relevant Views
  • 9.4 Documenting a View
  • 9.5 Documentation across Views
  • 9.6 Unified Modeling Language
  • 9.7 Summary
  • 9.8 For Further Reading
  • 9.9 Discussion Questions
  • CHAPTER 10 Reconstructing Software Architectures
  • 10.1 Introduction
  • 10.2 Information Extraction
  • 10.3 Database Construction
  • 10.4 View Fusion
  • 10.5 Reconstruction
  • 10.6 Example
  • 10.7 Summary
  • 10.8 For Further Reading
  • 10.9 Discussion Questions
  • PART THREE: ANALYZING ARCHITECTURES
  • CHAPTER 11 The ATAM: A Comprehensive Method for Architecture Evaluation
  • 11.1 Participants in the ATAM
  • 11.2 Outputs of the ATAM
  • 11.3 Phases of the ATAM
  • 11.4 The Nightingale System: A Case Study in Applying the ATAM
  • 11.5 Summary
  • 11.6 For Further Reading
  • 11.7 Discussion Questions
  • CHAPTER 12 The CBAM: A Quantitative Approach to Architecture Design Decision Making
  • 12.1 Decision-Making Context
  • 12.2 The Basis for the CBAM
  • 12.3 Implementing the CBAM
  • 12.4 Case Study: The NASA ECS Project
  • 12.5 Results of the CBAM Exercise.
  • 12.6 Summary
  • 12.7 For Further Reading
  • 12.8 Discussion Questions
  • CHAPTER 13 The World Wide Web: A Case Study in Interoperability
  • 13.1 Relationship to the Architecture Business Cycle
  • 13.2 Requirements and Qualities
  • 13.3 Architectural Solution
  • 13.4 Another Cycle through the ABC: The Evolution of Web-Based E-Commerce Architectures
  • 13.5 Achieving Quality Goals
  • 13.6 The Architecture Business Cycle Today
  • 13.7 Summary
  • 13.8 For Further Reading
  • 13.9 Discussion Questions
  • PART FOUR: MOVING FROM ONE SYSTEM TO MANY
  • CHAPTER 14 Software Product Lines: Re-using Architectural Assets
  • 14.1 Overview
  • 14.2 What Makes Software Product Lines Work?
  • 14.3 Scoping
  • 14.4 Architectures for Product Lines
  • 14.5 What Makes Software Product Lines Difficult?
  • 14.6 Summary
  • 14.7 For Further Reading
  • 14.8 Discussion Question
  • CHAPTER 15 CelsiusTech: A Case Study in Product Line Development
  • 15.1 Relationship to the Architecture Business Cycle
  • 15.2 Requirements and Qualities
  • 15.3 Architectural Solution
  • 15.4 Summary
  • 15.5 For Further Reading
  • 15.6 Discussion Questions
  • 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.3 Architectural Solution
  • 16.4 System Deployment Decisions
  • 16.5 Summary
  • 16.6 For Further Reading
  • 16.7 Discussion Questions
  • 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.3 Architectural Solution
  • 17.4 How Luther Achieved Its Quality Goals
  • 17.5 Summary
  • 17.6 For Further Reading
  • 17.7 Discussion Questions
  • CHAPTER 18 Building Systems from Off-the-Shelf Components
  • 18.1 Impact of Components on Architecture.
  • 18.2 Architectural Mismatch
  • 18.3 Component-Based Design as Search
  • 18.4 ASEILM Example
  • 18.5 Summary
  • 18.6 Further Reading
  • CHAPTER 19 Software Architecture in the Future
  • 19.1 The Architecture Business Cycle Revisited
  • 19.2 Creating an Architecture
  • 19.3 Architecture within the Life Cycle
  • 19.4 The Impact of Commercial Components
  • 19.5 Summary
  • Acronyms
  • References
  • Index.