Transcript lec9.ppt

Build Plan
 Development
or integration
strategies
 Decide
the order in which
components of the system will be
developed
Dillon: CSE470: SYSTEM INTEGRATION
1
Uses Graph
Play Game
Deal
Collect
Cards
Play Hand
Get Hand
Value
Dillon: CSE470: SYSTEM INTEGRATION
Determine
Winner
Compare
Hands
Announce
Winner
2
Common build strategies

Big Bang
» All coding precedes all integration

Bottom Up
» Start at low-level utility modules

Top Down
» Start at high-level control modules

Incremental/Sandwich
» Integrate control modules top down and utility
modules bottom up
Dillon: CSE470: SYSTEM INTEGRATION
3
Big Bang Integration

Advantages
» No need to write stubs or drivers

Disadvantages
» Difficult to identify units causing errors
» Critical modules receive no extra testing
» Major design flaws are discovered very late
» No flexibility in scheduling
Dillon: CSE470: SYSTEM INTEGRATION
4
Bottom Up Integration

Implement a module

Implement a test driver
» often a quick prototype

Execute tests

Implement and test all modules called
by the driver (prototype), one at a time
Dillon: CSE470: SYSTEM INTEGRATION
5
Bottom Up Integration (cont.)

Replace the test driver (prototype) with
its implementation

Implement a test driver for the new
module

Repeat until all modules are integrated
Dillon: CSE470: SYSTEM INTEGRATION
6
Bottom Up Integration

Advantages
» no need to write
stubs
» low level utilities
are well tested
» high-level (often
simple) drivers are
not as well tested
Dillon: CSE470: SYSTEM INTEGRATION

Disadvantages
» not all low level
utilities are
important
» emphasis on low
level functionality
»major design
flaws are discovered late
7
Top Down Integration

Implement highest level component

Create stubs for called component

Test the component with the stubs

Implement and test stubs one by one
» use stubs for any called components

Repeat until all stubs are implemented
Dillon: CSE470: SYSTEM INTEGRATION
8
Top Down Integration

Advantages
» no need to write
drivers
» high-level drivers
are well tested
» unimportant lowlevel utilities are
not as well tested
Dillon: CSE470: SYSTEM INTEGRATION

Disadvantages
» important lowlevel utilities are
not as well tested
» simple high-level
drivers may not
need the extra
testing
9
Incremental Top Down Integration

Identify most important path through the
uses graph
» implement and test the highest module in
the path
– creating drivers and stubs as necessary
» select the next module on that path
» repeat until the path is done
Dillon: CSE470: SYSTEM INTEGRATION
10
Incremental Top Down
Integration (cont.)

Select next most important path and
follow the same process

Repeat until all paths have been
implemented

Paths do not have to start at the root or
end with leaves
Dillon: CSE470: SYSTEM INTEGRATION
11
Incremental Top Down Integration

Advantages
» test the most important functionality first
» easy to isolate errors
» find major design flaws early
» have an incomplete but “working” system
early
– good for morale, visibility, early assessment
» minimizes the need for drivers and stubs
Dillon: CSE470: SYSTEM INTEGRATION
12
Developing an incremental
build plan

Identify most important paths through
the uses graph
» most used functionality; centrality
» complex component that plays a key role
Save “frills” for later paths
 Produce something that works early

» add features incrementally for easier
testing and debugging
Dillon: CSE470: SYSTEM INTEGRATION
13