Principles for Evaluating the Quality Attributes of a Software Architecture
May 1997 • Technical Report
Mario R. Barbacci, Mark H. Klein, Charles B. Weinstock
This report describes a few principles for analyzing a software architecture to determine if it exhibits certain quality attributes.
Software Engineering Institute
CMU/SEI Report Number
Software quality is the degree to which software possesses a desired combination of attributes (e.g., reliability, interoperability). In this paper we describe a few principles for analyzing a software architecture to determine if it exhibits certain quality attributes. We show how analysis techniques indigenous to the various quality attribute communities can provide a foundation for performing software architecture evaluation. We also show how the principles provide a context for existing evaluation approaches such as scenarios, questionnaires, checklists, and measurements. Our immediate goal in identifying these principles for attribute-based architecture evaluation is to better integrate existing techniques and metrics into software architecture practice, not necessarily to invent new attribute-specific techniques and metrics. A longer-term goal is to codify these principles into systematic procedures or methods for architecture evaluation. This paper is an initial step towards identifying the ingredients of such methods.