Product Cover Image

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

By Nick Rozanski, Eóin Woods

Published by Addison-Wesley Professional

Published Date: Apr 20, 2005

More Product Info

Description

Software Systems Architecture is a 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. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.

With this book you will learn how to

  • Design an architecture that reflects and balances the different needs of its stakeholders
  • Communicate the architecture to stakeholders and demonstrate that it has met their requirements
  • 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
  • Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security

The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.

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

Preface.

Acknowledgments.

About the Authors.

1. Introduction.

    Stakeholders, Viewpoints, and Perspectives.

    The Structure of This Book.

    Who Should Read This Book.

    Conventions Used.

I. ARCHITECTURE FUNDAMENTALS.

2. Software Architecture Concepts.

    Software Architecture.

    Architectural Elements.

    Stakeholders.

    Architectural Descriptions.

    Interrelationships between the Core Concepts.

    Summary.

    Further Reading.

3. Viewpoints and Views.

    Architectural Views.

    Viewpoints.

    Interrelationships between the Core Concepts.

    The Benefits of Using Viewpoints and Views.

    Viewpoint Pitfalls.

    Our Viewpoint Catalog.

    Summary.

    Further Reading.

4. Architectural Perspectives.

    Quality Properties.

    Architectural Perspectives.

    Applying Perspectives to Views.

    Consequences of Applying a Perspective.

    Interrelationships between the Core Concepts.

    The Benefits of Using Perspectives.

    Perspective Pitfalls.

    Our Perspective Catalog.

    Summary.

    Further Reading.

5. The Role of the Software Architect.

    The Architecture Definition Process.

    The Role of the Architect.

    Interrelationships between the Core Concepts.

    Architectural Specializations.

    The Organizational Context.

    The Architect's Skills.

    The Architect's Responsibilities.

    Summary.

    Further Reading.

II. THE PROCESS OF SOFTWARE ARCHITECTURE.

6. Introduction to the Software Architecture Process.

7. The Architecture Definition Process.

    Guiding Principles.

    Process Outcomes.

    The Process Context.

    Supporting Activities.

    Architecture Definition Activities.

    Process Exit Criteria.

    Architecture Definition in the Software Development Lifecycle.

    Summary.

    Further Reading.

8. Scope, Concerns, Principles, and Constraints.

    Business Goals and Drivers.

    Architectural Scope.

    Architectural Concerns.

    Architectural Principles.

    Other Architectural Constraints.

    Checklist.

    Summary.

    Further Reading.

9. Identifying and Engaging Stakeholders.

    Selection of Stakeholders.

    Classes of Stakeholders.

    Examples.

    Proxy Stakeholders.

    Stakeholder Groups.

    Stakeholders' Responsibilities.

    Checklist.

    Summary.

    Further Reading.

10. Identifying and Using Scenarios.

    Types of Scenarios.

    Uses for Scenarios.

    Identifying and Prioritizing Scenarios.

    Capturing Scenarios.

    Applying Scenarios.

    Effective Use of Scenarios.

    Checklist.

    Summary.

    Further Reading.

11. Using Styles and Patterns.

    Software Patterns.

    Styles, Patterns, and Idioms.

    An Example of an Architectural Style.

    The Benefits of Using Architectural Styles.

    Styles and the Architectural Description.

    Common Architectural Styles.

    Design Patterns and Language Idioms in Architecture.

    Checklist.

    Summary.

    Further Reading.

12. Producing Architectural Models.

    Why Models Are Important.

    Types of Models.

    Modeling Languages.

    Guidelines for Creating Effective Models.

    Agile Modeling Techniques.

    Checklist.

    Summary.

    Further Reading.

13. Creating the Architectural Description.

    Properties of an Effective Architectural Description.

    Glossaries.

    The IEEE Standard.

    Contents of the Architectural Description.

    Checklist.

    Summary.

    Further Reading.

14. Validating the Architecture.

    Why Validate the Architecture?

    Validation Techniques.

    Scenario-Based Evaluation Methods.

    Validation during the Software Lifecycle.

    Recording the Results of Validation.

    Checklist.

    Summary.

    Further Reading.

III. THE VIEWPOINT CATALOG.

15. Introduction to the Viewpoint Catalog.

16. The Functional Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

17. The Information Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

18. The Concurrency Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

19. The Development Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

20. The Deployment Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

21. The Operational Viewpoint.

    Concerns.

    Models.

    Problems and Pitfalls.

    Checklist.

    Further Reading.

22. Achieving Consistency across Views.

    Relationships between Views.

    Functional and Information View Consistency.

    Functional and Concurrency View Consistency.

    Functional and Development View Consistency.

    Functional and Deployment View Consistency.

    Functional and Operational View Consistency.

    Information and Concurrency View Consistency.

    Information and Development View Consistency.

    Information and Deployment View Consistency.

    Information and Operational View Consistency.

    Concurrency and Development View Consistency.

    Concurrency and Deployment View Consistency.

    Deployment and Operational View Consistency.

IV. THE PERSPECTIVE CATALOG.

23. Introduction to the Perspective Catalog.

24. The Security Perspective.

    Applicability to Views.

    Concerns.

    Activities: Applying the Security Perspective.

    Architectural Tactics.

    Problems and Pitfalls.

    Checklists.

    Further Reading.

25. The Performance and Scalability Perspective.

    Applicability to Views.

    Concerns.

    Activities: Applying the Performance and Scalability Perspective.

    Architectural Tactics.

    Problems and Pitfalls.

    Checklists.

    Further Reading.

26. The Availability and Resilience Perspective.

    Applicability to Views.

    Concerns.

    Activities: Applying the Availability and Resilience Perspective.

    Architectural Tactics.

    Problems and Pitfalls.

    Checklists.

    Further Reading.

27. The Evolution Perspective.

    Applicability to Views.

    Concerns.

    Activities: Applying the Evolution Perspective.

    Architectural Tactics.

    Problems and Pitfalls.

    Checklists.

    Further Reading.

28. Other Perspectives.

    The Accessibility Perspective.

    The Development Resource Perspective.

    The Internationalization Perspective.

    The Location Perspective.

    The Regulation Perspective.

    The Usability Perspective.

V. PUTTING IT ALL TOGETHER.

29. Working as a Software Architect.

    The Architect in the Project Lifecycle.

    The Architect in Different Types of Projects.

Appendix: Other Viewpoint Sets.

    Kruchten "4+1".

    RM-ODP.

    Siemens (Hofmeister, Nord, and Soni).

    SEI Viewtypes.

    Garland and Anthony.

Bibliography.

Index.

Purchase Info

ISBN-10: 0-321-58020-6

ISBN-13: 978-0-321-58020-7

Format: Safari PTG

This publication is not currently for sale.