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.

8.3. Other applications of ARM<br />

As discussed in Section 8.2.2, architects provide estimates <strong>for</strong> Outcome Certainty Risk<br />

(OCR) and Implementation Certainty Risk (ICR) at each decision point. OCR represents<br />

the uncertainties of meeting the outcome objectives set out in the functional or nonfunctional<br />

requirements. This risk may arise because of a number of reasons:<br />

• Functional or non-functional requirements may be ambiguous and need to be clarified<br />

or redefined.<br />

• A design may have an impact on certain aspects of some non-functional requirements<br />

and the extent of that impact is unknown.<br />

• Certain external environmental factors may have an impact on the implementation<br />

of the requirements and the extent of that impact is unknown.<br />

• Assumptions need to be made about different aspects of the system such as business<br />

requirements, project environment or technologies.<br />

ICR represents the uncertainties in implementing the design. This risk may arise <strong>for</strong><br />

the following reasons:<br />

• Technical feasibility of the implementation.<br />

• Uncertainty due to the complexity of the design.<br />

• Uncertainty due to a lack of experience, knowledge or skills of the development team.<br />

These two types of risks may be resolved through iterations of refinement and architecture<br />

design. ARM records and analyses these risks by using quantitative design rationale<br />

OCR and ICR. The risks can be estimated and progressively reduced to an acceptable<br />

threshold as architecture design progresses and design details become available. The certainty<br />

that the architecture model could satisfy the requirements would increase. When<br />

this certainty level reaches a pre-defined threshold <strong>for</strong> all architectural requirements and<br />

designs, we regard that the architecture model is complete.<br />

Different requirements in the system post different levels of risks. The level of design<br />

details required in various parts of an architecture model vary depending on the level of<br />

risk. For instance, a reusable item with a well defined behaviour and interface does not<br />

require additional in-depth architecture design. On the other hand, requirements which<br />

are complex in nature or have extensive non-functional requirement implications may need<br />

further investigation into its technical feasibility and explore more details of the design<br />

144

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

Saved successfully!

Ooh no, something went wrong!