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 />
scope of architecture design is thus required to cover requirements refinement as well as<br />
architecture design.<br />
Using general software engineering design principles, we examine how architects and<br />
designers make design decisions. As discussed in [171], decision analysis deals with uncertainties.<br />
An architect deals with uncertainties by collecting evidence, analysing the<br />
possible outcomes and seeking ways to minimise such uncertainties in a design. During<br />
this process, an architect would attempt to find all viable design options, i.e. eliminating<br />
options that are not viable. Then the architect would try to select a design that maximises<br />
the benefits and minimises the risks and costs. In other words, the architect would try to<br />
get the best values out of an architecture design and at the same time to ascertain that<br />
the design is achievable. Such acts by designers are reported in our survey (see Chapter<br />
5) where architects agree that costs, benefits and risks are important elements in design<br />
decision making. The ARM method is an attempt to make this intuitive mental process<br />
explicit in the architecture design process.<br />
8.2 The architecture rationalisation method<br />
The <strong>Architecture</strong> Rationalization Method (ARM) is a method to help architects make design<br />
decisions during the architecture process. ARM uses the AREL structure to represent<br />
the architecture design and the architecture rationale. The outcomes of ARM is an AREL<br />
model. The reason <strong>for</strong> having ARM is to provide a method to guide software architects<br />
in their approach to development. Using the rationale-<strong>based</strong> approach, requirements and<br />
architecture design may influence each other through causal effects. The ARM method<br />
provides three focal points to help assess these effects: cost, benefit and risk. These focal<br />
points can be integrated with a development process in reasoning with a design.<br />
An architect can use ARM together with other development methods such as iterative,<br />
prototyping or agile. ARM supports them in the decision making realm by using qualitative<br />
and quantitative rationale. The two types of architecture design activities we focus<br />
on are:<br />
• Requirements Refinement - an architecture design process often leads to the<br />
refinement of functional requirements due to conflict resolutions or requirements<br />
clarifications. <strong>Architecture</strong> design clarifies and defines non-functional requirements<br />
or quality of services such as system reliability and per<strong>for</strong>mance. Refining or defining<br />
functional and non-functional requirements takes place when contemplating an<br />
architecture design. A functional requirement may have implications on, say, the<br />
136