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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

308 Chapter 23 ■ Prototyping<br />

The stages are:<br />

1. requirements definition (initial specification) – a stage of thorough analysis is used<br />

to create an initial specification <strong>for</strong> the software.<br />

2. prototype construction – a prototype is built in a quality manner, including design,<br />

documentation, and thorough verification.<br />

3. evaluation (check with the user) – during evaluation, problems in the developer’s<br />

perception of the customer requirements are uncovered. The prototypes are the<br />

communication medium that enables the developer and customer to communicate<br />

with each other.<br />

4. iteration (refine the prototype) – evaluation is carried out repeatedly until the prototype<br />

meets the objectives. The specification is updated with every iteration.<br />

The product is a fully working system.<br />

SELF-TEST QUESTION<br />

23.1 What are the differences between throwaway and evolutionary prototyping?<br />

23.6 ● Rapid prototyping techniques<br />

A throwaway prototype needs to be created quickly so that users can comment on it at<br />

an early stage. A prototype also needs to be altered quickly to incorporate the users’<br />

views as the prototype changes to meet their requirements. What we really need is some<br />

magical tool that would enable us to create prototypes at high speed. But there are no<br />

magical tools. If there were, we would use them <strong>for</strong> everything. Instead we use whatever<br />

tools and methods that are suitable.<br />

Here are some techniques <strong>for</strong> fast prototyping.<br />

Use a high-level language<br />

High-level languages include many facilities which normally have to be built from more<br />

primitive constructs in other languages. Smalltalk is a language that can be used to prototype<br />

adventurous GUIs with very little programmer ef<strong>for</strong>t. A drawback of Smalltalk<br />

is that it can be a massive consumer of processor time and memory, so that after prototyping<br />

it may be necessary to rewrite the system in some other language. So Smalltalk<br />

may only be usable <strong>for</strong> throwaway prototyping.<br />

Visual Basic has features <strong>for</strong> rapid software development, including the capacity to<br />

create a GUI using drag-and-drop from a palette.

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

Saved successfully!

Ooh no, something went wrong!