Page 230 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 230
Principles of Software Engineering
Notes Framework Incremental Life Cycle
Just as one extreme being wrong does not imply that the other extreme is right, a framework
incremental approach may be the ‘best of both worlds’, by providing a compromise between
the monolithic waterfall and Gilb’s evolutionary delivery. Enough of the initial requirements
specification and architectural design is done so that the direction and arrangement of the
system produced is clear sufficient to direct the software development process. This approach
can still give useful products very early in the development timescale. An example of this type
of approach is the specification of the structure and interfaces for a database, with detailed
facilities to be specified later. (See figure: 11.3)
Figure 11.3: Framework Incremental Life Cycle
Phased Development
Phased development has frequently been use in the development of large systems, and is a step
in the right direction. The difference between a very small phase and a large increment is not
distinct. However, phases tend to be large and growing; there is a tendency to put as much as
possible into the current phase. There is also a temptation to compensate for timescale slippage
by bringing forward the later phases to overlap the earlier ones. This approach can result in
severe incompatibility between successive phase products. The emphasis with incremental
development is to include as little as possible, i.e. as little as would be useful into each increment.
(See figure: 11.4)
Figure 11.4: Phased Development
224 LOVELY PROFESSIONAL UNIVERSITY