0%

Book Description

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 implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a reusable asset that can be applied to subsequent systems, and is crucial to a software organization's business strategy.

Drawing on their own extensive experience, the authors cover the essential technical topics for designing, specifying, and validating a system. They also emphasize the importance of the business context in which large systems are designed. Their aim is to present software architecture in a real-world setting, reflecting both the opportunities and constraints that companies encounter. To that end, case studies that describe successful architectures illustrate key points of both technical and organizational discussions.

Topics new to this edition include:

  • 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

  • If you design, develop, or manage the building of large software systems (or plan to do so), or if you are interested in acquiring such systems for your corporation or government agency, use Software Architecture in Practice, Second Edition, to get up to speed on the current state of software architecture.

    Table of Contents

    1. Title Page
    2. Copyright Page
    3. Contents
    4. Preface
    5. Acknowledgments
    6. Reader's Guide
    7. Part One. Envisioning Architecture
      1. Chapter 1. The Architecture Business Cycle
      2. Chapter 2. What Is Software Architecture?
      3. Chapter 3. A-7E Avionics System: A Case Study in Utilizing Architectural Structures
    8. Part Two. Creating an Architecture
      1. Chapter 4. Understanding Quality Attributes
      2. Chapter 5. Achieving Qualities
      3. Chapter 6. Air Traffic Control: A Case Study in Designing for High Availability
      4. Chapter 7. Designing the Architecture
      5. Chapter 8. Flight Simulation: A Case Study in an Architecture for Integrability
      6. Chapter 9. Documenting Software Architectures
      7. Chapter 10. Reconstructing Software Architectures
    9. Part Three. Analyzing Architectures
      1. Chapter 11. The ATAM: A Comprehensive Method for Architecture Evaluation
      2. Chapter 12. The CBAM: A Quantitative Approach to Architecture Design Decision Making
      3. Chapter 13. The World Wide WebA Case Study in Interoperability
    10. Part Four. Moving From One System to Many
      1. Chapter 14. Software Product Lines: Re-using Architectural Assets
      2. Chapter 15. CelsiusTech: A Case Study in Product Line Development
      3. Chapter 16. J2EE/EJB: A Case Study of an Industry-Standard Computing Infrastructure
      4. Chapter 17. The Luther Architecture: A Case Study in Mobile Applications Using J2EE
      5. Chapter 18. Building Systems from Off-the-Shelf Components
      6. Chapter 19. Software Architecture in the Future
    11. Acronyms
    12. References
    13. Index