Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives

Nick Rozanski and Eoin Woods

Publisher Addison Wesley
ISBN 978-0-321-11229-3
RRP £35.99
Reviewed by Kawal Banga MBCS
Score 10 out of 10

Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives This book is aimed at software architecture practitioners who need to get to grips with the development of practical architecture.

The book covers:

  • the fundamentals and process of software architecture;
  • the role and activities of the software architect;
  • managing stakeholders interested in architecture;
  • communicating the architecture to stakeholders;
  • focusing on what is architecturally significant.

The authors introduce the key concepts of views, viewpoints and perspectives are introduced.

  1. A view is a representation of one or more structural aspects of an architecture that illustrates one or more concerns held by one or more stakeholders.
  2. A viewpoint is a collection of conventions for constructing one type of view. The six types of viewpoints include functional, information, concurrency, development, deployment and operational.
  3. An architectural perspective is a collection of activities and guidelines that are used to ensure that a system exhibits a particular set of related quality properties that require consideration across a number of the system’s architectural views. The ten types of perspective include four primary ones: security; performance & scalability; availability & resilience; and evolution and six secondary ones: accessibility; development resource; internalisation; location; regulation; and usability.

The applicability of each of the ten perspectives against each of the six viewpoints is explained. Each stakeholder class (ten in total) is considered when covering each of the viewpoints.
 
Some definitions and concepts are based on IEEE 1471: ‘Recommended Practice for Architectural Description’.
 
The book is well laid out, highly readable and provides a very useful perspective. The concepts are explained well with many useful examples, and there is a companion website (http://www.viewpoints-and-perspectives.info) providing supporting information and related resources. Many of the examples are in UML - an advantage if you are already familiar with UML; a disadvantage if you are not.
 
Although the book is aimed at aspiring or practising architects, it is useful to anyone who has an interest in architecture, for example sponsors, designers, developers and testers. Furthermore, it could be a starting point for implementing architectural standards within an organization.