Putting It All Together
This article has highlighted three key concepts with which architects should be familiar:
- A stakeholder is a person, group, or entity with an interest in or concerns about the realization of the architecture. Stakeholders include users but also many other people such as developers, operators, and sponsors. Architectures are created solely to meet stakeholder needs.
- Using views helps you to manage complexity by producing a number of different representations of all or part of the architecture, each of which focuses on certain aspects of the system, showing how it addresses some of the stakeholder concerns. To help you decide which views to produce and what should go into any particular view, you use viewpoints, which are standardized definitions of view concepts, content, and activities.
- A perspective guides the process of designing the architecture so that it exhibits one or more important qualities. Using perspectives gives you a framework for the analysis and improvement of your architectural models against the qualities that the perspective addresses.
In our book, Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives (Addison Wesley, 2005, ISBN 0321112296), we explore the themes of this article in much more detail. The book includes an extensive reference for the viewpoints and perspectives described here, and also explains the processes you should follow to create a stakeholder-driven architectural description that will form a solid basis for system development. To accompany the book, we have created a web site that includes an explanation of our key concepts, extracts from the book, a comprehensive bibliography, and a downloadable Quick Reference Card.