Software Development Process Models

The Waterfall Model

This Waterfall model of the software development process was derived from other engineering disciplines. It was initially adopted by software engineers as a method of making the development process more visible. It is termed the waterfall model because one stage cascades to the next. Each of the process activities involved are seen as separate. As each stage is completed it is signed-off and development progresses to the next stage.


  1. Requirements analysis
    Here the system's services, constraints and goals are established by consultation. These are then defined in a manner understandable to both yourself and our development personnel.
  2. System/software design
    Systems design establishes an overall architecture by partitioning the requirements into either software or hardware. Software design represents the system software functions in a form capable of being translated into programs.
  3. Implementation and unit testing
    The software design is realised as a set of self-contained program units or individual programs. Unit testing verifies that each unit meets its specification.
  4. Integration and system testing
    The individual units and programs are integrated and tested as a complete system to ensure the overall requirements are met. Once this stage is completed, the software is delivered.
  5. Operation and maintenance
    Errors not discovered during the previous stages are corrected. The system may require improving or enhancement as new requirements are discovered.

The inflexible partitioning into stages sometimes demands a stage is frozen to allow progress to the next. Design problems unresolved in earlier stages are passed on to subsequent levels possibly leading to badly structured systems.

Good process visibility. Each stage is defined clearly and produces a tangible result. Exact time scales can be set for each stage.

© 1999 - 2017 Protechnix.