Quality Characteristics for Software Architecture

It is of general agreement that quality issues should be considered very early in the software development process, to mitigate risks and to facilitate the achievement of the overall software system. Moreover, the architecture of the system drives the whole development process. The fulfillment of nonfunctional quality requirements by a candidate architecture is crucial to select the convenient architecture on which the whole system will be articulated. This issue is very important in the construction of reliable evolutionary applications. Software development methods do not give many details on this important stage. This work deals with the specification of quality requirements for software architecture, introducing a technique based on the ISO 91261 standard. The quality characteristics of the ISO quality model are refined into attributes, which can be measured to enrich the information about the architecture. Our technique is used to help selecting a suitable architecture among a set of candidates, by comparing the values of the respective quality attributes. A case study illustrates the application of the technique on a monitoring system. Our approach facilitates the choice of the right decisions during the architecture analysis process. It could be easily integrated into a general software development process or into specific architectural design methods.