Methods for Evaluating Software Architecture: A Survey
Banani Roy · 2008
Software architectural evaluation becomes a familiar practice in software engineering community for developing quality software. Architectural evaluation reduces software development effort and costs, and enhances the quality of the software by verifying the addressability of quality requirements and identifying potential risks. There have been several methods and techniques to evaluate software architectures with respect to the desired quality attributes such as maintainability, usability and performance. This paper presents a discussion on different software architectural evaluation methods and techniques using a taxonomy. The taxonomy is used to distinguish architectural evaluation methods based on the artifacts on which the methods are applied and two phases (early and late) of software life cycle. The artifacts include specification of a whole software architecture and its building blocks: software architectural styles or design patterns. The role of this paper discussion is to review different existing well known architectural evaluation