Quality attributes and constraints are among the main drivers of
architectural decision making. The quality attributes are improved or damaged
by the architectural decisions, while restrictions directly include or exclude
parts of the architecture (for example, the logical components or
technologies). We can determine the impact of a decision of architecture in
software quality, or which parts of the architecture are affected by a
constraint, but the difficult problem is whether we are respecting the quality
requirements (requirements on quality attributes) and constraints with all the
architectural decisions made. Currently, the common practice is that architects
use their own experience to design architectures that meet the quality
requirements and restrictions, but at the end, especially for the crucial
decisions, the architect has to deal with complex trade-offs between quality
attributes and juggle possible incompatibilities raised by the constraints. In
this paper we present Quark, a computer-aided method to support architects in
software architecture decision making