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.

112 Chapter 9 ■ Data flow design<br />

The output from the system is:<br />

■ plates of spaghetti bolognese<br />

We can draw a diagram (Figure 9.1) to describe what is to happen in the kitchen.<br />

In essence, data flows into the system, is trans<strong>for</strong>med by actions (functions) and data<br />

then flows out of the system.<br />

The diagram is called a data flow diagram. Each line with an arrow on it represents<br />

a stream of data flowing through the system. In this example there are three – spaghetti,<br />

meat and plates of spaghetti bolognese. Each bubble represents a trans<strong>for</strong>mation, an<br />

activity or a process that converts an input flow into an output flow. In this example<br />

there is only one trans<strong>for</strong>mation – prepare food. Note that the diagram shows data flows<br />

(which are dynamic), and does not show files (which are static objects).<br />

We can now explore the detail that lies within the single bubble. We redraw it as<br />

Figure 9.2 so as to show more clearly the steps that are involved.<br />

spaghetti<br />

meat<br />

prepare<br />

food<br />

Figure 9.1 Data flow diagram <strong>for</strong> making spaghetti bolognese<br />

spaghetti<br />

boil<br />

meat<br />

fry<br />

boiled<br />

spaghetti<br />

fried<br />

meat<br />

serve<br />

plates of<br />

spaghetti<br />

bolognese<br />

Figure 9.2 More detailed data flow diagram <strong>for</strong> making spaghetti bolognese<br />

plates of<br />

spaghetti<br />

bolognese

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

Saved successfully!

Ooh no, something went wrong!