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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.2. The architecture rationalisation method<br />

indicates no risk and one indicate total risk. Outcome Certainty Risk (OCR) measures<br />

the risk or the uncertainty level of the architectural design meeting the desired outcome,<br />

represented by the <strong>Architecture</strong> Benefits Index (ABI). Basically it indicates the level of<br />

risk of not meeting the desired outcome by the architecture design at a decision point. In<br />

other words, it indicates if motivational reasons are satisfied by the architecture decision.<br />

Implementation Certainty Risk (ICR) measures the risk or the uncertainty that there<br />

are no unexpected issues in the implementation of the architectural design. In other<br />

words, ICR represents the architect’s assessment of the uncertainty that issues may occur<br />

during the design, development or implementation phases, thus affecting the <strong>Architecture</strong><br />

Cost Index (ACI). For instances, does the team have the knowledge to carry out the<br />

implementation? Is the technology stable enough to support this implementation?<br />

Using example 1 as an illustration, the architect feels that the OCR <strong>for</strong> MySQL is<br />

higher than Oracle, hence MySQL is given the OCR risk 0.4 and Oracle is given the OCR<br />

risk 0.2. This assessment basically is an estimation that the architect feels that there is<br />

a higher chance that there be some issues with MySQL. The ICR risk of MySQL is 0.3<br />

and Oracle is 0.2. This indicates that when it comes to implementation, Oracle has less<br />

risk than MySQL because developers are more familiar with Oracle and there are more<br />

documentation provided by Oracle and various sources including Oracle local technical<br />

support to guide the developers.<br />

Evaluation of risks is an important and useful method <strong>for</strong> architecture modelling because<br />

it provides a means to discover and identify uncertainties. We further argue that it<br />

should be done as an ongoing and incremental activity during the architecture construction<br />

process. Some research work suggests that software architecture risk is evaluated when<br />

a model is relatively complete [50], we suggest that risk analysis should be carried out<br />

during the entire decision making process. <strong>Design</strong>ers can investigate the decision issue in<br />

more details if they feel that there are major uncertainties in the decision. Risk awareness<br />

helps designers to be mindful of assumptions and unknowns that might affect the design.<br />

<strong>Architecture</strong> cost-benefit ratio<br />

Although the costs, benefits and risks give us some measurements to understand the<br />

different perspectives of a design alternative, it is difficult to make comparisons between<br />

alternative design. As such, we require a utility function to allow us to compute an index<br />

to compare alternative designs. The cost-benefit ratio in ARM provides a value to each<br />

design alternative to help decision making. The calculation takes into account the risks<br />

that are involved in each design option.<br />

141

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

Saved successfully!

Ooh no, something went wrong!