Software Project Management Brochure Template Page 4

ADVERTISEMENT

4
Handbook on Software Engineering & Knowledge Engineering
that the process of software development proceeds through several phases in a
more-or-less linear manner. The phases indicated in Figure 2 are supposed to be
relatively independent. There is not much feedback and returning to previous
phases other than the one directly preceding the phase in focus. In other words,
once a certain phase is finished it is considered closed, and the work proceeds
with the next phase. Many developers have criticized the waterfall model for its
rigidity in that sense, and for its failure to comply with the reality of ever-
changing requirements and technology. However, the waterfall model is at least
partially present in most of the other models as well, simply because of its
natural order of phases in software development.
System
feasibility
Requirements
specification
Preliminary
design
Detailed
design
Module
coding and
testing
System
integration
System
testing
Maintenance
Figure 2 - The waterfall model of software development (based on [5])
There have been many attempts to overcome the limitations of the waterfall
model. Two common points in all such attempts are introduction of iterations in
software development activities and incremental development. Iterative and
incremental software development means going through the same activities more
than once, throughout the product's lifecycle, each time producing new
deliverables and/or improving the old ones. The main advantage of working in
that way is that each individual developer works on a small ``work packet" at
any given moment, which is much easier to control.
A classical example of iterative and incremental models is the spiral model
[9], sketched in Figure 3. In the spiral model, there are five core tasks: planning
and design (largely corresponding to the classical analysis phase), approval
(requirements specification), realization (design and implementation), revision
(testing and modification), and evaluation (integration and system-level testing).
The process iterates through these tasks, getting closer and closer to the end by
adding increments (e.g., new functions, new design, new modules, new or
improved testing procedures, new or improved parts of the user interface, new
integration and testing certificates, and so on) to the product in each iteration.
The spiral model underlies many processes, such as DBWA (Design By

ADVERTISEMENT

00 votes

Related Articles

Related forms

Related Categories

Parent category: Business