We're sorry, but eCampus.com doesn't work properly without JavaScript.
Either your device does not support JavaScript or you do not have JavaScript enabled.
How to enable JavaScript in your browser.
Need help? Call 1-855-252-4222
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
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
Nick Rozanski is an enterprise technical architect at Marks and Spencer, where he focuses on integration and workflow. During his more than twenty years of experience he has worked for companies such as Logica, Capgemini, and Sybase. His technology experience covers enterprise application integration, relational databases, and object-oriented software development. He is also an experienced technical instructor and certified internal project auditor.
Eoin Woods is a principal consultant at Züehlke Engineering in London, where he works as a consultant software architect focusing on trading and investment management companies in the financial markets. He has worked in the software engineering field for fifteen years with a number of companies, including Ford Motor Company, Groupe Bull, InterTrust Technologies, and Sybase.
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.
The Benefits of Using Viewpoints and Views.
Viewpoint Pitfalls.
Our Viewpoint Catalog.
4. Architectural Perspectives.
Quality Properties.
Architectural Perspectives.
Applying Perspectives to Views.
Consequences of Applying a Perspective.
The Benefits of Using Perspectives.
Perspective Pitfalls.
Our Perspective Catalog.
5. The Role of the Software Architect.
The Architecture Definition Process.
The Role of the Architect.
Architectural Specializations.
The Organizational Context.
The Architect's Skills.
The Architect's Responsibilities.
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.
8. Scope, Concerns, Principles, and Constraints.
Business Goals and Drivers.
Architectural Scope.
Architectural Concerns.
Architectural Principles.
Other Architectural Constraints.
Checklist.
9. Identifying and Engaging Stakeholders.
Selection of Stakeholders.
Classes of Stakeholders.
Examples.
Proxy Stakeholders.
Stakeholder Groups.
Stakeholders' Responsibilities.
10. Identifying and Using Scenarios.
Types of Scenarios.
Uses for Scenarios.
Identifying and Prioritizing Scenarios.
Capturing Scenarios.
Applying Scenarios.
Effective Use of Scenarios.
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.
12. Producing Architectural Models.
Why Models Are Important.
Types of Models.
Modeling Languages.
Guidelines for Creating Effective Models.
Agile Modeling Techniques.
13. Creating the Architectural Description.
Properties of an Effective Architectural Description.
Glossaries.
The IEEE Standard.
Contents of the Architectural Description.
14. Validating the Architecture.
Why Validate the Architecture?
Validation Techniques.
Scenario-Based Evaluation Methods.
Validation during the Software Lifecycle.
Recording the Results of Validation.
III. THE VIEWPOINT CATALOG.
15. Introduction to the Viewpoint Catalog.
16. The Functional Viewpoint.
Concerns.
Models.
Problems and Pitfalls.
17. The Information Viewpoint.
18. The Concurrency Viewpoint.
19. The Development Viewpoint.
20. The Deployment Viewpoint.
21. The Operational Viewpoint.
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.
Activities: Applying the Security Perspective.
Architectural Tactics.
Checklists.
25. The Performance and Scalability Perspective.
Activities: Applying the Performance and Scalability Perspective.
26. The Availability and Resilience Perspective.
Activities: Applying the Availability and Resilience Perspective.
27. The Evolution Perspective.
Activities: Applying the Evolution Perspective.
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.
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.