Что такое модель водопада?
WATERFALL MODEL — это последовательная модель, которая делит разработку программного обеспечения на заранее определенные фазы. Каждая фаза должна быть завершена, прежде чем следующая фаза может начаться без перекрытия между фазами. Каждый этап предназначен для выполнения определенных действий на этапе SDLC. Он был представлен в 1970 году Уинстоном Ройсом.
Различные фазы модели водопада в программной инженерии
Разные фазы |
Действия, выполняемые на каждом этапе |
Этап сбора требований |
- На этом этапе от клиента собираются подробные требования к программной системе, которая будет разработана.
|
Этап дизайна |
- Планирование языка программирования, например Java , PHP , .net
- или базы данных, такие как Oracle, MySQL и т. д.
- Или другие технические детали проекта высокого уровня
|
Построенная сцена |
- После стадии проектирования, это стадия сборки, которая представляет собой не что иное, как кодирование программного обеспечения.
|
Стадия тестирования |
- На этом этапе вы тестируете программное обеспечение, чтобы убедиться, что оно создано в соответствии со спецификациями, данными клиентом.
|
Стадия развертывания |
- Разверните приложение в соответствующей среде
|
Этап обслуживания |
- Как только ваша система будет готова к использованию, вам может потребоваться изменить код в соответствии с запросом клиента
|
Когда использовать SDLC Модель водопада
Модель водопада может быть использована при
- Требования не меняются часто
- Приложение не сложное и большое
- Проект короткий
- Требование ясно
- Окружающая среда стабильна
- Используемые технологии и инструменты не динамичны и стабильны
- Ресурсы доступны и обучены
Преимущества и недостатки модели водопад
преимущества |
Dis-преимущества |
- Перед следующим этапом разработки каждый этап должен быть завершен
|
- Ошибка может быть исправлена только во время фазы
|
- Подходит для небольших проектов, где требования четко определены
|
- Это не желательно для сложного проекта, где часто меняются требования
|
- Они должны выполнить тест обеспечения качества (верификация и валидация) перед завершением каждого этапа
|
- Период тестирования наступает довольно поздно в процессе разработки
|
- Разработанная документация выполняется на каждом этапе цикла разработки программного обеспечения.
|
- Документация отнимает много времени у разработчиков и тестеров
|
- Проект полностью зависит от команды проекта с минимальным вмешательством клиента
|
- Ценные отзывы клиентов не могут быть включены в текущую фазу разработки
|
- Любые изменения в программном обеспечении вносятся в процессе разработки.
|
- Небольшие изменения или ошибки, которые возникают в законченном программном обеспечении, могут вызвать много проблем
|