Architectural evaluation to determine software architecture``s fitness with respect to its desired quality attributes is one of the most important issues in architecture-based software development. The reason is that there are usually more than one quality attribute involved in a system, and the knowledge of the benefits and drawbacks of different architectural structures with respect to different quality attributes is not yet an exact science. Decisions among a number of inter-dependent design choices that is related to a range of quality attributes are often taken on intuition, relaying on the experience of many stakeholders.
It has been two basic classes of evaluation techniques, questioning and measuring, for architecture evaluation. The questioning techniques generate qualitative questions to be asked of architecture. This class includes scenarios, questionnaires, and check lists. Measuring techniques suggest quantitative measurements to be made on architecture. This class includes metrics, prototypes and formal methods. However, these methods are considered complementary techniques to questioning techniques. Most of the considered architecture analysis methods use scenarios. Architecture Trade off Analysis Method (ATAM) is well known mature method proposed by Software Engineering Institute (SEI) among several scenario-based methods. The ATAM provides a principle way of understanding software architecture``s capability with respect to multiple competing quality attributes and recognizes the necessity of a trade-off among multiple quality attributes. However, ATAM does not provide any guidance for understanding economic trade off that is the biggest ones in large, complex systems.
To address the need for economic decision making in the ATAM Cost Benefit Analysis Method (CBAM) is proposed. It builds on the ATAM to model the costs and the benefits of architectural design decisions and is a means of optimizing such decisions using quantitative approach. ...