Designing Software Architectures: A Practical Approach

Humberto Cervantes and Rick Kazman
Addison Wesley, 2016

At the core of this book is Attribute-Driven Design (ADD), a software design method promoted by the Software Engineering Institute (SEI) and Carnegie Mellon University (CMU). In other words, the book is not about software design in general but, as the subtitle suggests, a specific approach. Approximately half the book is devoted to the method. The bulk of that half is spent on case studies that describe its application in different domains. The case studies do well at illustrating the use of the method.

The book opens with an explanation of software architecture and the need for more-formalized, more-repeatable design methods. After the case studies, it briefly compares and contrasts ADD with other architectural methods. Its penultimate discussion addresses how the design process might fit into software organizations. The book concludes with two extensive appendices containing a catalog of design patterns, reference architectures, and the questionnaires that form an essential part of ADD.

Unless you have a specific interest in ADD, you’ll probably find the introduction in Software Architecture in Practice sufficient. (Indeed, Humberto Cervantes joins his co-author, Rick Kazman, as a contributor on the relevant chapter.) The books have many similarities, but where Software Architecture spends far more time on quality attributes, this volume invests its time on ADD. If you only read one, go with Software Architecture.



© 2024 by Oliver Goldman