Page 48 - DCAP405_SOFTWARE_ENGINEERING
P. 48
Unit 3: Process Models
A successful software product is one that satisfies all the objectives of the development project. Notes
These objectives include satisfying the requirements and performing the development within
time and cost constraints. Generally, for any reasonable project size, all the phases listed in the
model must be performed explicitly and formally. Informally performing the phases will work
only for very small projects. The second reason is the one that is now under debate. For many
projects, the linear ordering of these phases is clearly the optimum way to organize these
activities. However, some argue that for many projects this ordering of activities is infeasible or
sub-optimum. We will discuss some of these ideas shortly. Still, the waterfall model is conceptually
the simplest process model for software development that has been used most often.
Project Outputs in Waterfall Model
As we have seen, the output of a project employing the waterfall model is not just the final
program along and documentation to use it. There are a number of intermediate outputs that
must be produced to produce a successful product. Though the set of documents that should be
produced in a project is dependent on how the process is implemented, the following is a set of
documents that generally forms the minimum set that should be produced in each project:
Requirements document
Project plan
System design document
Detailed design document
Test plan and test reports
Final code
Software manuals (e.g., user, installation, etc.)
Review reports
Except for the last one, these are the outputs of the phases, and they have been briefly discussed.
To certify an output product of a phase before the next phase begins, reviews are often held.
Reviews are necessary, especially for the requirements and design phases, because other
certification means are frequently not available. Reviews are formal meetings to uncover
deficiencies in a product and will be discussed in more detail later. The review reports are the
outcome of these reviews.
Task What have you understood by the project outputs of waterfall model?
Limitations of the Waterfall Model
Software life-cycle models of the waterfall variety are among the first important attempts to
structure the software life cycle. However, the waterfall model has limitations. Like a waterfall,
progress flows in one direction only, towards completion of the project (from one phase to the
next). Schedule compression relaxes this requirement but introduces new complexities.
Well-defined phases, frozen deliverables, and formal change control make the waterfall model
a tightly controlled approach to software development. The waterfall model’s success hinges,
however, on the ability:
To set the objectives,
LOVELY PROFESSIONAL UNIVERSITY 41