A typical software architecture design process requires the architects to make various trade-off architecture decisions. The architects need to consider different possibilities and combinations of tactics and patterns to satisfy the elicited quality scenarios of the intended software system, some of which may be conflicting or inconsistent in nature. The formation of the correct composition of these elements of architecture decisions for the satisfaction of the quality scenarios can be considered an important art of the architect; however, in cases where the architect is dealing with multiple stakeholders with inconsistent preferences, this can be an awkward task. In this paper, we formalize this process as a complex multi-attribute decision making procedure within the Attribute Driven Design methodology. In such a context, we are able to incrementally elicit the communal preferences of the stakeholders with regards to the available quality scenarios and hence assist the software archi...
Majid Makki, Ebrahim Bagheri, Ali A. Ghorbani