Модель водопада была первой моделью процесса, которая была представлена. Он также называется линейно-последовательной моделью жизненного цикла . Это очень просто понять и использовать. В модели водопада каждая фаза должна быть завершена до того, как может начаться следующая фаза, и в фазах нет совпадений.
Модель Waterfall — самый ранний подход SDLC, который использовался для разработки программного обеспечения.
Модель водопада иллюстрирует процесс разработки программного обеспечения в линейном последовательном потоке. Это означает, что любой этап в процессе разработки начинается, только если предыдущий этап завершен. В этой модели водопада фазы не перекрываются.
Модель водопада — Дизайн
Водопадный подход был первой моделью SDLC, которая широко использовалась в программной инженерии для обеспечения успеха проекта. В подходе «Водопад» весь процесс разработки программного обеспечения делится на отдельные фазы. В этой модели водопада, как правило, результат одной фазы действует как вход для следующей фазы последовательно.
Следующая иллюстрация представляет различные фазы модели водопада.
Последовательные фазы в модели Waterfall:
-
Сбор и анализ требований — Все возможные требования к разрабатываемой системе фиксируются на этом этапе и документируются в документе спецификации требований.
-
Проектирование системы. На этом этапе изучаются требования к требованиям первого этапа и готовится проектирование системы. Такая конструкция системы помогает определить требования к оборудованию и системе и помогает определить общую архитектуру системы.
-
Внедрение. С учетом исходных данных, полученных при проектировании системы, система сначала разрабатывается в виде небольших программ, называемых модулями, которые интегрируются на следующем этапе. Каждое устройство разработано и проверено на его функциональность, которая называется модульным тестированием.
-
Интеграция и тестирование — все модули, разработанные на этапе внедрения, интегрируются в систему после тестирования каждого модуля. После интеграции вся система проверяется на наличие ошибок и сбоев.
-
Развертывание системы — после завершения функционального и нефункционального тестирования; продукт развернут в среде клиента или выпущен на рынок.
-
Обслуживание — Есть некоторые проблемы, которые возникают в клиентской среде. Чтобы исправить эти проблемы, исправления выпущены. Также для улучшения продукта выпущены лучшие версии. Техническое обслуживание проводится для предоставления этих изменений в среде клиента.
Сбор и анализ требований — Все возможные требования к разрабатываемой системе фиксируются на этом этапе и документируются в документе спецификации требований.
Проектирование системы. На этом этапе изучаются требования к требованиям первого этапа и готовится проектирование системы. Такая конструкция системы помогает определить требования к оборудованию и системе и помогает определить общую архитектуру системы.
Внедрение. С учетом исходных данных, полученных при проектировании системы, система сначала разрабатывается в виде небольших программ, называемых модулями, которые интегрируются на следующем этапе. Каждое устройство разработано и проверено на его функциональность, которая называется модульным тестированием.
Интеграция и тестирование — все модули, разработанные на этапе внедрения, интегрируются в систему после тестирования каждого модуля. После интеграции вся система проверяется на наличие ошибок и сбоев.
Развертывание системы — после завершения функционального и нефункционального тестирования; продукт развернут в среде клиента или выпущен на рынок.
Обслуживание — Есть некоторые проблемы, которые возникают в клиентской среде. Чтобы исправить эти проблемы, исправления выпущены. Также для улучшения продукта выпущены лучшие версии. Техническое обслуживание проводится для предоставления этих изменений в среде клиента.
Все эти фазы каскадно связаны друг с другом, в которых прогресс рассматривается как непрерывно нисходящий (как водопад) через фазы. Следующий этап начинается только после того, как определенный набор целей достигнут для предыдущего этапа, и он подписан, поэтому называется «Модель водопада». В этой модели фазы не перекрываются.
Модель водопада — Применение
Каждое разработанное программное обеспечение отличается и требует соответствующего подхода SDLC, основанного на внутренних и внешних факторах. Некоторые ситуации, в которых использование модели Водопад является наиболее подходящим:
-
Требования очень хорошо задокументированы, понятны и зафиксированы.
-
Определение продукта является стабильным.
-
Технология понятна и не динамична.
-
Здесь нет двусмысленных требований.
-
Достаточные ресурсы с необходимым опытом доступны для поддержки продукта.
-
Проект короткий.
Требования очень хорошо задокументированы, понятны и зафиксированы.
Определение продукта является стабильным.
Технология понятна и не динамична.
Здесь нет двусмысленных требований.
Достаточные ресурсы с необходимым опытом доступны для поддержки продукта.
Проект короткий.
Модель водопада — преимущества
Преимущества развития водопада состоят в том, что он позволяет отделить и контролировать. График может быть установлен со сроками для каждого этапа разработки, и продукт может проходить этапы модели процесса разработки один за другим.
Разработка переходит от концепции к проектированию, внедрению, тестированию, установке, устранению неполадок и заканчивается эксплуатацией и обслуживанием. Каждый этап развития протекает в строгом порядке.
Некоторые из основных преимуществ модели водопада следующие:
-
Просто и легко понять и использовать
-
Простота в управлении благодаря жесткости модели. Каждый этап имеет конкретные результаты и процесс обзора.
-
Фазы обрабатываются и завершаются по одному.
-
Хорошо работает для небольших проектов, где требования очень хорошо поняты.
-
Четко определенные этапы.
-
Хорошо понятные вехи.
-
Легко организовать задачи.
-
Процесс и результаты хорошо документированы.
Просто и легко понять и использовать
Простота в управлении благодаря жесткости модели. Каждый этап имеет конкретные результаты и процесс обзора.
Фазы обрабатываются и завершаются по одному.
Хорошо работает для небольших проектов, где требования очень хорошо поняты.
Четко определенные этапы.
Хорошо понятные вехи.
Легко организовать задачи.
Процесс и результаты хорошо документированы.
Модель водопада — недостатки
Недостатком развития водопада является то, что он не позволяет много размышлений или пересмотра. Когда приложение находится на стадии тестирования, очень трудно вернуться назад и изменить что-то, что не было хорошо документировано или продумано на стадии разработки.
Основные недостатки модели водопада следующие:
Никакое рабочее программное обеспечение не производится до конца жизненного цикла.
Большое количество риска и неопределенности.
Не очень хорошая модель для сложных и объектно-ориентированных проектов.
Плохая модель для длительных и текущих проектов.
Не подходит для проектов, где требования изменяются от умеренного до высокого риска. Таким образом, риск и неопределенность высоки с этой моделью процесса.
Трудно измерить прогресс в несколько этапов.
Невозможно учесть меняющиеся требования
Регулировка объема в течение жизненного цикла может завершить проект.
Интеграция осуществляется как «большой взрыв» в самом конце, что не позволяет выявить какие-либо технологические или бизнес-узкие места или проблемы на ранних этапах.