Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Pragmatic evaluation of software architectures
Knodel J., Naab M., Springer International Publishing, New York, NY, 2016. 154 pp. Type: Book (978-3-319341-76-7)
Date Reviewed: Nov 17 2016

For software development, making the transition from “what” to “how” in an effective and efficient way depends on the right decisions made at the right time. Many decisions over the life cycle depend on software architecture. The use of software architecture has played a central and formal role in the development and evolution of embedded systems but, mostly, an informal role for information technology systems. Today, the growth in system complexity, new technologies, and the integration of information and embedded systems re-emphasize the need for a formal software architecting process and an associated evaluation process.

The focus of this well-organized guidebook is the evaluation of software architectures. It presents practical experience- and context-based guidance for software architecture evaluations. The book is organized as a four-level tree hierarchy of “why,” “what,” and “how” questions. There are three top-level questions (corresponding to parts): “Why Is the Point of Architecture Evaluation?”; “How to Evaluate Architectures Effectively and Efficiently;” and “How to Apply Architecture Evaluation in Practice.”

The second-level subquestions (corresponding to chapters) elaborate the top-level questions on the value of architecture evaluation, describing software architecture, and summarizing an architecture evaluation method (chapters 1 to 4); details of the evaluation method (chapters 5 to 9); and case examples of applications of architecture evaluations (chapters 10 to 12). The third level consists of 117 subquestions (corresponding to chapter paragraphs) that lead to answers of the higher-level questions.

The authors’ evaluation method, rapid architecture evaluation (RATE), is composed of best practices of evaluation methods used in industry and adjustments of those methods for effective and efficient application in practice. Their method consists of five checks--driver integrity check, solution adequacy check, document quality check, architecture compliance check and code quality check--covering the transitions from requirements to architecture design to architecture/design implementation to code, that is, from the “what” to the “how.”

The word “pragmatic,” in the title, characterizes the book’s focus. The five checks of the evaluation method produce findings that can be used to identify and mitigate risks associated with design decisions made in application development and maintenance. Practical aspects of the evaluation method include managing stakeholder involvement, conducting an evaluation as a project, confidence levels for each finding, context-based guidance in performing an evaluation and in interpreting the evaluation findings, and risk prevention and mitigation. Further, the third-level questions address 45 frequent mistakes made in practice and 23 lessons learned.

The book is a valuable guide for evaluations and for insights into software architecting (defined as the capture of architecture drivers, the formulation of design decisions for solution concepts, and the systematic utilization of software architecture over the life cycle). Thus, it is of value to software engineers, software architects, designers, managers, and software evaluators. However, since the book is a guide, it does not have sufficient detail to perform an evaluation. That detail is part of the industry evaluation processes and methods that influenced RATE. Further, the book only indirectly addresses software architecture: it does not give a formal definition of software architecture; it describes software architecting, that is, the use of the software architecture; and RATE evaluates the effects and results of the utilization of software architecture, that is, software architecting. Nonetheless, this book contributes to our understanding of software architecture via guidance for the pragmatic evaluation of software architecting and supports software architecture’s central role in the development, maintenance, and improvement of software.

Reviewer:  J. M. Perry Review #: CR144931 (1702-0086)
Bookmark and Share
  Featured Reviewer  
 
Software Architectures (D.2.11 )
 
 
Metrics (D.2.8 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Architectures": Date
Software architecture in practice
Bass L., Clements P., Kazman R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1998. Type: Book (9780201199307)
Sep 1 1999
CORBA design patterns
Mowbray T., Malveau R., John Wiley & Sons, Inc., New York, NY, 1997. Type: Book (9780471158820)
Sep 1 1998
Developing business systems with CORBA
Sadiq W., Cummins F., Cambridge University Press, New York, NY, 1998. Type: Book (9780521646505)
Feb 1 1999
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy