21.01.2014 Views

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2. Why do we need design rationale?<br />

their relations are to be represented [72]. Examples of such models are PHI [99],<br />

gIBIS [26] and DRL [94].<br />

• Quantitative <strong>Rationale</strong> - another type of model is by way of quantifying costs and<br />

benefits of design alternatives in the decision making process. Examples of such<br />

techniques are CBAM [4] and AHP [152].<br />

As the level of sophistication of design rationale changes, so are the amount of in<strong>for</strong>mation<br />

captured, the complexity of its implementation and the associated costs. It would<br />

there<strong>for</strong>e be important to examine the reasons <strong>for</strong> capturing design rationale to assess<br />

their usefulness.<br />

3.2 Why do we need design rationale?<br />

Researchers in the area of design rationale have argued that there is a need to improve<br />

the design decision making process to capture, represent and reuse design rationale lest<br />

that they might be lost. Perry and Wolf [119] suggested that as architecture design<br />

evolves, the system is increasingly brittle due to two problems: architectural erosion and<br />

architectural drift. Both problems may lead to the violations of the architecture design<br />

over time because the underlying rationale is not available to support the architecture<br />

design. Bosch suggested that architecture design decisions are crossing-cutting and intertwined,<br />

so the design is complex and prone to erroneous interpretations without a first-class<br />

representation of design rationale [11]. As such, the design could be violated and the cost<br />

of architectural design change could be very high and even prohibitive. Kruchten et al.<br />

suggested that architecture knowledge consists of the architecture design and its design<br />

rationale [86]. They identified a number of use cases <strong>for</strong> design rationale in the architecture<br />

design process.<br />

The reasons <strong>for</strong> capturing and using design rationale are twofold: using design rationale<br />

to support the design process; and using design rationale to support the maintenance<br />

activities. The following is a summary of why design rationale can be useful:<br />

Supporting the <strong>Design</strong> Process<br />

• Deliberating and Negotiating <strong>Design</strong> - by making explicit the main decision making<br />

elements, Dutoit and Peach suggest that design rationale facilitates negotiations<br />

among developers by systematically clarifying the issues and possible options, and<br />

evaluating them against a well-defined criteria [33]. Olson et al. have shown that<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!