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.

292 Chapter 21 ■ The waterfall model<br />

Requirements<br />

<strong>Engineering</strong><br />

Figure 21.1 The waterfall model<br />

The principles of the waterfall model are:<br />

■ it is a series of steps (like a factory production line)<br />

■ each step is well defined<br />

Architectural<br />

design<br />

Detailed<br />

design<br />

Coding<br />

■ each step creates a definite product (in some cases a piece of paper)<br />

■ each product <strong>for</strong>ms the basis <strong>for</strong> the next step<br />

Unit<br />

testing<br />

System<br />

testing<br />

Acceptance<br />

■ the correctness of each step can be checked (verification or validation).<br />

The waterfall model gets its name because each stage produces a product, like a<br />

stream of water which passes on to the next stage. So the complete development<br />

process is like a series of small waterfalls – see Figure 21.1. Just as water cannot flow up<br />

a waterfall, in<strong>for</strong>mation does not flow backwards in the waterfall model. Once a step is<br />

complete, there is no going back.<br />

SELF-TEST QUESTION<br />

21.1 Draw up a process model <strong>for</strong> preparing a meal, including buying the<br />

ingredients and washing up afterwards. Don’t <strong>for</strong>get to identify the<br />

product at each stage.<br />

The inputs and outputs <strong>for</strong> each step of the waterfall model are shown in this<br />

table.

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

Saved successfully!

Ooh no, something went wrong!