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.

9.1. Background<br />

9.1 Background<br />

In this section, we examine the needs <strong>for</strong> a better way to recover design rationale to<br />

support design reasoning. We analyse existing design-rationale methods and requirement<br />

traceability methods to identify the challenges. From the perspective of a practising<br />

architect, we identify a number of uses cases <strong>for</strong> traceable design rationale.<br />

9.1.1 Issues with design rationale<br />

Researchers in the area of design rationale have argued that there is a need to improve the<br />

process to capture, represent and reuse design rationale. Perry and Wolf [119] suggested<br />

that as architecture design evolves, the system is increasingly brittle due to two problems:<br />

architectural erosion and architectural drift. Both problems may lead to architecture design<br />

problems over time if the underlying rationale is not available. Bosch suggested that<br />

as architecture design decisions are crossing-cutting and inter-twined, the design is complex<br />

and prone to erroneous interpretations without a first-class representation of design<br />

rationale [11]. As such, a design could be violated and the cost of architectural design<br />

change could be very high and even prohibitive. As discussed in earlier chapters, design<br />

rationale is important to support knowledge retention and facilitate the understanding of<br />

the architecture design. The <strong>for</strong>m of design rationale representation is also important <strong>for</strong><br />

it has to support structured and automated tracing.<br />

9.1.2 Requirements and design traceability<br />

Requirements traceability is the ability to describe and follow the life-cycle from requirements<br />

to their implementation, in both a <strong>for</strong>ward and backward direction. For example,<br />

given a requirement, an architect might wish to find the design objects that realise the<br />

requirement in <strong>for</strong>ward tracing. Gotel and Finklestein [51] distinguish two types of traceability:<br />

pre-requirements specification (Pre-RS traceability) and post-requirements specification<br />

(Post-RS traceability). They argue that wider range of in<strong>for</strong>mational requirements<br />

are necessary to address the needs of the stakeholders. This is an argument <strong>for</strong> representing<br />

contextual in<strong>for</strong>mation to explain requirements and design. A survey of a number of<br />

systems by Ramesh and Jarke [129] indicates that requirements, design and implementation<br />

ought to be traceable. It is noted by Han [58] that traceability “provides critical<br />

support <strong>for</strong> system development and evolution”. The IEEE standards recommend that<br />

requirements should be allocated, or traced, to software and hardware items [67, 68].<br />

In the development life-cycle, architects and designers typically have available to them<br />

152

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

Saved successfully!

Ooh no, something went wrong!