Модель водопада была одним из самых ранних детально описанных принципов проектирования программного обеспечения. Эта модель представляет процесс проектирования в виде последовательности этапов. Результатом каждого этапа является конкретный продукт – документированные требования, проект, ряд закодированных модулей – которые поступают на следующие этапы. Каждый этап подвергается проверке: проект проверяется на соответствие требованиям, код проверяется на соответствие проекту и тд.
В Модели Водопада самым большим усовершенствованием предыдущих (хаотических) подходов к разработке программного обеспечения явилось - дисциплина, которая заставляет разработчиков сначала думать и только потом уже кодировать. Требования и проектирование должны предшествовать первой строчке кода.
В реальном мире, эти требования были бы частью вашей работы, как разработчики программного обеспечения. При создании программного продукта Вы должны пройти определенные стадии, каждая из которых заканчивается созданием определенного продукта:
1. проектная документация;
2. кодовые модули, которые осуществили определенные функциональные возможности;
3. интегрированная система.