search menu icon-carat-right cmu-wordmark

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.

Publisher:

Software Engineering Institute

CMU/SEI Report Number

CMU/SEI-96-TR-036

Abstract

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.