A Rationale-based Model for Architecture Design Reasoning
A Rationale-based Model for Architecture Design Reasoning
A Rationale-based Model for Architecture Design Reasoning
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