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.1. Background<br />

Based on these assumptions, we seek to improve decision making by structuring the<br />

decision process. Such an approach can provide some discipline to the architecture design<br />

process where it currently relies heavily on individual experience and intuition. Such approach<br />

can also help less experienced architects to systematically make decisions to design<br />

better. Using the AREL model as a basis, we propose the <strong>Architecture</strong> Rationalisation<br />

Method (ARM) as a process to systematically reason about design decisions during architecture<br />

construction. 1 Section 8.2 describes how ARM works. Section 8.3 describes how<br />

ARM can be applied to various aspects of architecture design and system maintenance.<br />

8.1 Background<br />

The process of architecture design is a systematic decomposition of problems using requirements<br />

as a basis to drive design objects creation. The key focus of the architecture<br />

process is to create a design structure <strong>for</strong> the system. During this process, requirements<br />

analysis and clarifications may be per<strong>for</strong>med. Although requirements elicitation and analysis<br />

are relevant, they are not the key outcomes of architecture design. There has not been<br />

a commonly agreed scope <strong>for</strong> architecture design process. Researchers [8, 119, 46, 84] and<br />

industry consortia [21, 31, 164] hold different views of the scope of architecture activities<br />

ranging from enterprise systems strategic planning to detailed software design.<br />

Existing requirements engineering methods mainly focus on the elicitation, modelling<br />

and refinement of business goals. In particular, it articulates high-level business goals<br />

to become systems requirements. For example, graphical notations <strong>for</strong> requirements decomposition<br />

using AND / OR reduction links have been proposed [28, 61]. Mylopoulos<br />

et al. [104] present a framework <strong>for</strong> representing non-functional requirements and proposed<br />

decomposition methods to satisfy non-functional goals. Dijkman et al. [30] use a<br />

separation-of-concerns or multiple-viewpoint approach to relate the enterprise viewpoint<br />

(i.e. requirements) to the computational viewpoint (i.e. design). These methods provide<br />

different ways to trans<strong>for</strong>m requirements into design. The level of trans<strong>for</strong>mation required<br />

to reach the necessary design details is often not defined clearly.<br />

In Figure 8.1, we outline a generic high-level system development process to define the<br />

scope <strong>for</strong> system and software architecture design activities.<br />

• Business requirements elicitation stage - business analysts or designers gather business<br />

goals and produces system requirements. This activity is mainly concerned with<br />

requirements gathering and there<strong>for</strong>e is outside the scope of architecture design. Its<br />

1 This chapter is <strong>based</strong> partially on our work published in [159].<br />

134

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

Saved successfully!

Ooh no, something went wrong!