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 />

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

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

Saved successfully!

Ooh no, something went wrong!