ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Evaluating Software Architectures
Paul Clements et al
0 201 70482 X
Roger N Lever
Appeared in:
This book does what is says: it presents methods and case studies for evaluating software architectures. The authors state that they are writing the book for the evaluators, the person who either needs to evaluate the software architecture or who is leading that activity. To support that goal three methods, along with associated case studies are presented:

* Architecture Tradeoff Analysis Method (ATAM)

* Software Architecture Analysis Method (SAAM)

* Active Reviews for Intermediate Designs (ARID)

The ATAM is the principal tool that is described and this is to a level of detail where the reader can use entire sections of the text as a template approach for their project. The text is clear, readable, has good use of diagrams and explains clearly each of the methods employed. Interspersed within the text is additional anecdotal and relevant commentary regarding their experience in applying the method to their case study. I was particularly impressed with the ideas around a quality attribute utility tree. It takes a statement such as 'reliable, extensible, high performance architecture.' and provides a mechanism to make that tangible. If you want to know more then you will need to look at this book! Just a note to those who would look at this book expecting to see UML inside it - the book does not describe or demonstrate architecture description languages or enterprise architecture frameworks such as Zachman's framework.

The value of this book, apart from discussing the detail of each evaluation technique, is the chance to learn from other people's experience, to take advantage of their knowledge and experience and to avoid the usual pitfalls and traps. For those interested in evaluating software architecture this book will provide a wealth of interesting information and descriptions that will allow the potential evaluator to follow the process, in short recommended.