The Process of Software Architecting

Author: Peter Eeles & Peter Cripps
Publisher: Addison-Wesley, 2009
Pages: 432
ISBN: 978-0321357489
Print: 0321357485
Kindle: B002L9MZ06
Audience: Software Architects
Rating: 4.5
Reviewed by: Alex Armstrong

Billed as "an indispensable resource for every working and aspiring software architect" what does this book tell us about?

In the introduction we are told:

The purpose of this book is to guide you through the tasks and associated best practise that are applied to architecting a software system.

However, before we dive into process and practice, which are explored via a case study in the middle section of the book, the authors provide an overview of Software Architecture, the Architect, and Architecting. Given that this book is aimed at working architects this might seem a bit unnecessary - but it does ensure that you understand the perspective the authors adopt. It also sets the tone of the book, which is at the same time  readable and academic - including many references that can be followed up via the bibliography. The book's usefulness as a reference is enhanced by a glossary and an extensive index. What is likely to appeal to developers and architects is the abundance of visual representations. You can glean a lot from scanning through the figures. UML (Unified Modelling Language) is used throughout the book to describe aspects of architecture.

 

Banner

 

Chapter 3 provides an overview of the method fundamentals used in the book and employs the Systems Process Engineering Metamodel Specification (SPEM) standard for the process diagrams. They cover method content, i.e. the roles, work products, and tasks, before turning to process, where three types, waterfall, iterative and agile, are examined.

Chapter 4 is on documenting software architectures. In this chapter they focus on views and viewpoints and their relationships with the underlying work products.

Chapter 5 looks at reusable assets - the use of resources from other architects - from design patterns to off-the-shelf packaged applications. The assets metamodel it describes characterizes the majority of assets as development-time or run-time assets and looks at a variety of asset types and their attributes.

The next section of the book consider the application of reusable assets in a detailed, real-world, case study, which is introduced in Chapter 6. The next three chapters are devoted to Defining the Requirements (Chapter 7), Creating the Logical Architecture (Chapter 8) and Creating the Physical Architecture (Chapter 9).

 

 

While boxouts (referred to in the book as sidebars) are found throughout the book, they are particularly plentiful in the case study section. There are four types of sidebar:

  • Concept - ideas relevant to the topic being discussed
  • Checklist  - lists of items for performing a particular task
  • Best Practices - effective approaches
  • Pitfall - approaches to be avoided

Good use is made of visual representations throughout.

The final chapter looks at how the concepts described so far apply to more complex systems than the one presented in the case study. The book concludes with four appendixes. Appendix A provides the complete definition of the metamodel of concepts used, with a diagram showing their relationships in the metamodel. Appendix B is a viewpoint catalog, Appendix C is a method summary and Appendix D is an architectural requirement checklist.

One surprising fact about the case study is that while both authors work for IBM the case study isn't about IBM and doesn't use IBM tools. Where is needs to get technology specific it uses Java Enterprise Edition and provides an overview for those not familiar with it.

So to answer my initial question, this book has a good overview of what software architecting is about for the aspiring architect, although it does assume a high degree of pre-existing knowledge. For those who are already software architects,  it provides a useful reference and source of best practices, which however is by no means up to date since there hasn't been a new edition since the book was published in 2009.

 

Banner


Administering Relational Databases on Microsoft Azure

Author: Prashanth Jayaram et al
Publisher: Independent
Pages: 622
ISBN: 979-8706128029
Print: B08Y4LBTP4
Kindle: B08XZQJHMK
Audience: Azure DBAs
Rating: 2 or 4 (see review for details)
Reviewer: Ian Stirk

This book aims to help you pass the Azure Relational Database exam DP-300, how does it fare?



Expert Performance Indexing in Azure SQL and SQL Server 2022

Author: Edward Pollack & Jason Strate
Publisher: Apress
Pages: 659
ISBN: 9781484292143
Print: 1484292146
Kindle: B0BSWH65ST
Audience: DBAs & SQL devs
Rating: 4 or 1 (see review)
Reviewer: Ian Stirk 

This book discusses indexes, a primary means of improving performance in SQL Server, how does  [ ... ]


More Reviews

Last Updated ( Saturday, 09 September 2017 )