[programming] A software design methodology in which development proceeds through a top-down process of overlapping stages. First proposed in 1970, the waterfall model is a highly structured approach to a project life cycle that cascades linearly through the developmental phases of requirements analysis, design, implementation, testing, integration, and maintenance.