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.

Tested<br />

component<br />

Figure 24.1 Top-down implementation<br />

Tested<br />

component<br />

Tested<br />

component<br />

Stub<br />

Component<br />

Stub Stub<br />

under test<br />

24.5 ● Bottom-up implementation<br />

24.5 Bottom-up implementation 317<br />

This type of implementation starts with an architectural design <strong>for</strong> the software.<br />

Bottom-up implementation starts with the lowest-level components of the system.<br />

These are the components that everything else depends on, but that don’t use anything<br />

themselves. In an OOD design these are the shared, reusable classes that <strong>for</strong>m a common<br />

library <strong>for</strong> the application to use. In many systems this is the software that accesses<br />

the database.<br />

The bottom-up implementation starts with the lowest-level components of the system.<br />

These are the components that everything else uses, but that don’t use anything<br />

themselves. The first task is to construct a test bed <strong>for</strong> each component. Figure 24.2<br />

shows two components at the lowest level of a system and their test beds.<br />

When the lowest level components have been tested in this manner, components are<br />

combined into subsystems that are tested in a similar manner, again using a test bed<br />

(Figure 24.3). The procedure continues until the complete system is finally assembled<br />

and tested as a whole.<br />

Bottom-up implementation suffers from the following drawbacks:<br />

■ drivers are required during almost all the development<br />

Test bed 1 Test bed 2<br />

Component 1<br />

under test<br />

Component 2<br />

under test<br />

Figure 24.2 Bottom-up testing of the lowest-level components

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

Saved successfully!

Ooh no, something went wrong!