You are previewing Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, Second Edition.
O'Reilly logo
Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, Second Edition

Book Description

Software Systems Architecture, Second Edition is a highly regarded, practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.

With this book you will learn how to

  • Design and communicate an architecture that reflects and balances the different needs of its stakeholders

  • Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location

  • Use scenarios and patterns to drive the creation and validation of your architecture

  • Document your architecture as a set of related views

  • Reflecting new standards and developments in the field, this new edition extends and updates much of the content, and

  • Adds a “system context viewpoint” that documents the system’s interactions with its environment

  • Expands the discussion of architectural principles, showing how they can be used to provide traceability and rationale for architectural decisions

  • Explains how agile development and architecture can work together

  • Positions requirements and architecture activities in the project context

  • Presents a new lightweight method for architectural validation

  • Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects. A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info.

    Table of Contents

    1. Title Page
    2. Copyright Page
    3. Dedication Page
    4. Contents
    5. Preface to the Second Edition
    6. Preface to the First Edition
    7. Acknowledgments
    8. 1. Introduction
    9. Part I: Architecture Fundamentals
      1. 2. Software Architecture Concepts
      2. 3. Viewpoints and Views
      3. 4. Architectural Perspectives
      4. 5. The Role of the Software Architect
    10. Part II: The Process of Software Architecture
      1. 6. Introduction to the Software Architecture Process
      2. 7. The Architecture Definition Process
      3. 8. Concerns, Principles, and Decisions
      4. 9. Identifying and Engaging Stakeholders
      5. 10. Identifying and Using Scenarios
      6. 11. Using Styles and Patterns
      7. 12. Producing Architectural Models
      8. 13. Creating the Architectural Description
      9. 14. Evaluating the Architecture
    11. Part III: A Viewpoint Catalog
      1. 15. Introduction to the Viewpoint Catalog
      2. 16. The Context Viewpoint
      3. 17. The Functional Viewpoint
      4. 18. The Information Viewpoint
      5. 19. The Concurrency Viewpoint
      6. 20. The Development Viewpoint
      7. 21. The Deployment Viewpoint
      8. 22. The Operational Viewpoint
      9. 23. Achieving Consistency across Views
    12. Part IV: The Perspective Catalog
      1. 24. Introduction to the Perspective Catalog
      2. 25. The Security Perspective
      3. 26. The Performance and Scalability Perspective
      4. 27. The Availability and Resilience Perspective
      5. 28. The Evolution Perspective
      6. 29. Other Perspectives
    13. Part V: Putting It All Together
      1. 30. Working as a Software Architect
    14. Appendix. Other Viewpoint Sets
    15. Bibliography
    16. About the Authors
    17. Index
    18. Footnotes
      1. Chapter 4
      2. Chapter 11
      3. Chapter 12
      4. Chapter 13
      5. Chapter 16
      6. Chapter 18
      7. Chapter 25
      8. Chapter 26
      9. Chapter 27
      10. Chapter 30