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.

Chapter 4<br />

Research methodology and<br />

validation<br />

The discipline of software engineering is concerned with all aspects of software production.<br />

It provides a systematic and organised approach to guide software development and<br />

implementation so that it is effective in delivering high-quality software [146].<br />

There are two general approaches to systematically building up software engineering<br />

knowledge. Both of these approaches are useful and complementary. The first approach<br />

is described as the natural characterisation of maturing software technology [131]. Software<br />

technologies can be invented through a process of asking basic research problems,<br />

<strong>for</strong>mulating ideas and concepts, developing and generalising those ideas through to their<br />

commercialisation [138]. In the initial stages of problem identification and concept <strong>for</strong>mulation,<br />

it is relatively difficult to prove that a concept can eventually be practical and<br />

useful. This is because a technology depends heavily on the context of the environment<br />

where they are applied. Although some software technologies referred to as research-in-thesmall<br />

can be tested in the laboratory, many software engineering techniques rely heavily<br />

on real-life situations which are not always easy to verify in an experimental setting [41].<br />

A second approach is to apply software engineering processes through practice and refinement<br />

in real-life projects. In other words, the prime expectation is to improve quality<br />

and productivity at an organisation level. A typical example is the application of quality<br />

systems such as Integrated Capability Maturity <strong>Model</strong> (CMMI) [1, 16] or Six Sigma Total<br />

Quality Management [144] in an organisation. The CMMI process specifies that software<br />

development organisations can continuously monitor and improve their software development<br />

process by capturing process and product measures quantitatively, set per<strong>for</strong>mance<br />

objectives <strong>based</strong> on these measurements and optimise the per<strong>for</strong>mance. An organisation<br />

46

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

Saved successfully!

Ooh no, something went wrong!