21.08.2013 Views

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

There<strong>for</strong>e, in summary:<br />

■ the product of a throwaway prototype is a specification<br />

■ the product of an evolutionary prototype is a system.<br />

23.4 ● Throwaway prototyping<br />

23.4 Throwaway prototyping 305<br />

The starting point <strong>for</strong> throwaway prototyping is an outline specification <strong>for</strong> the software.<br />

A throwaway prototype implements only those requirements that are poorly<br />

understood. It is discarded after the desired in<strong>for</strong>mation is learned. After the prototype<br />

is complete, the developer writes a full specification, incorporating what was learned,<br />

and then constructs a full-scale system based on that specification. Thus the purpose of<br />

throwaway prototyping is the <strong>for</strong>mulation of a validated specification.<br />

Throwaway prototyping is sometimes called rapid prototyping and as the name<br />

suggests, a rapid prototype should cost very little and take very little time to develop.<br />

The emphasis is on using whatever methods are available to produce a system that can<br />

be demonstrated to the user. Typically the only noticeable difference between the<br />

prototype and the desired system is its per<strong>for</strong>mance, or in the volumes of data that it<br />

handles. Rapid prototyping seems to contradict the idea of using systematic, careful<br />

methods during development; a prototype is produced in as quick (and perhaps as<br />

dirty) a manner as possible.<br />

To be effective, throwaway prototyping is carried out within a systematic framework.<br />

An overview of throwaway prototype development is shown in Figure 23.1.<br />

The stages of throwaway prototyping are:<br />

1. draw up an outline specification – the first step in throwaway prototyping is the<br />

creation of an initial, often partial, specification. This specification contains areas<br />

of uncertainty.<br />

2. establish objectives – what is the prototype to be used <strong>for</strong>? What aspects of the proposed<br />

system should it reflect? What can be learned from the prototype? The<br />

objective may be to develop a system to prototype the user interface, to validate<br />

functional requirements, to explore uncertain new technologies or to demonstrate<br />

the feasibility of the application to management. The same prototype cannot meet<br />

all objectives. The areas that are most often prototyped are the user interface, and<br />

uncertain or vague functions.<br />

3. select functions – the next stage is to decide what to put into and what to leave out<br />

of the prototype. This is determined by the objectives of the system. If the purpose<br />

of prototyping is to clarify users’ requirements, then the uncertain areas are the<br />

candidates <strong>for</strong> prototyping. The development of a working model allows the developers<br />

to make sure that the solution they are proposing will satisfy the requirements<br />

and per<strong>for</strong>m effectively. Depending on the objectives, it may be decided to<br />

prototype all system functions but at reduced level. Alternatively a subset of system<br />

functions may be included in the prototype.

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

Saved successfully!

Ooh no, something went wrong!