Page 50 - DCAP405_SOFTWARE_ENGINEERING
P. 50
Unit 3: Process Models
smaller, more easily managed iterations. Each iteration passes through the requirements, design, Notes
implementation and testing phases.
A working version of software is produced during the first iteration, so you have working
software early on during the software life cycle. Subsequent iterations build on the initial
software produced during the first iteration.
Used when requirements are well understood
Multiple independent deliveries are identified
Work flow is in a linear (i.e., sequential) fashion within an increment and is staggered
between increments
Iterative in nature; focuses on an operational product with each increment
Provides a needed set of functionality sooner while delivering optional components later
Useful also when staffing is too short for a full-scale development
Figure 3.3: Incremental Model
The incremental approach attempts to combine the waterfall sequence with some of the advantages
of prototyping. This approach is favored by many object-oriented practitioners. It basically
divides the overall project into a number of increments. Then it applies the waterfall model to
each increment. The system is put into production when the first increment is delivered.
Notes The time passes additional increments are completed and added to the working
system. This approach is favored by many object-oriented practitioners.
Incremental Model Phases
Inception: During the inception phase, the purpose, business rationale, and scope of the
project is determined. This is similar to the feasibility analysis that is done in other life
cycles.
Elaboration: During the elaboration phase, more detailed requirements are collected,
high level analysis is performed, and a general architecture is determined. This phase
divides the requirements into increments that can be built separately. As we will see, each
increment consists of a subset of high level use cases that capture the user’s requirements.
LOVELY PROFESSIONAL UNIVERSITY 43