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
   43   44   45   46   47   48   49   50   51   52   53