Date of Original Version



Technical Report

Abstract or Description

The software architecture forms an essential part of a complex software-intensive system. Architecture design decision-making involves addressing tradeoffs due to the presence of economic constraints. The problem is to develop a process that helps a designer choose amongst architectural options, during both initial design and its subsequent periods of upgrade, while being constrained to finite resources. To address this need for better decision-making, we have developed a method for performing economic modeling of software systems, centered on an analysis of their architecture. We call this method the Cost Benefit Analysis Method (CBAM). The CBAM incorporates the costs and benefits of architectural design decisions and provides an effective means of making such decisions. The CBAM provides a structured integrated assessment of the technical and economic issues and architectural decisions. The CBAM utilizes techniques in decision analysis, optimization, and statistics to help software architects characterize their uncertainty and choose a subset of changes that should be implemented from a larger set of alternatives. We also report on the application of this method to a real world case study.