Каскадная модель
Каскадная модель. История модели
Каскадная модель (или классическая модель) — это первая описанная модель жизненного цикла программной системы, которая была заимствована из общих производственных процессов, имевших место в строительстве, механике и т.д.Модель водного потока была описана Уинстоном В. Ройсом, В. В. и его коллегами. Модель была описана Уинстоном Ройсом (Winston W. Ройсом (Winston W. Royce) в 1970 году. Модель потока воды является самой старой и наиболее критикуемой моделью процесса.
Этапы
Классическая модель разработки программного обеспечения включает в себя следующие этапы:
- Планирование: на этом этапе разрабатывается подробный план проекта. На этом этапе составляется план, определяются график, бюджет, ресурсы и задачи. Этот этап включает в себя определение команды разработчиков, распределение обязанностей и составление графика.
- Анализ требований: на этом этапе собираются и документируются требования к программному продукту. Для этого необходимо взаимодействовать с заказчиком и конечными пользователями, чтобы понять их потребности. Результатом этого этапа является подготовка документа с требованиями.
- Проектирование: на этом этапе разрабатывается архитектура программного продукта. Это проектирование структуры данных, пользовательских интерфейсов, системных компонентов и алгоритмов. Эта фаза также включает в себя создание дизайна пользовательского интерфейса (UI) и определение технических спецификаций.
- Разработка: На этом этапе начинается активная генерация кода. Разработчики пишут программу в соответствии с требованиями и дизайном, определенными на предыдущих этапах. Разработка может включать в себя создание различных модулей, компонентов и функциональных частей программы.
- Тестирование и развертывание: на этом этапе качество программного продукта проверяется с помощью различных методов тестирования, включая модульное, интеграционное, функциональное и другие методы тестирования. После тестирования программное обеспечение запускается в производство. Оно устанавливается на целевой сервер или распространяется среди конечных пользователей.
- Поддержка: После выпуска программное обеспечение продолжает поддерживаться и обновляться. Этот этап может включать в себя внедрение обновлений, исправление ошибок, предоставление технической поддержки пользователям, а также ответы на запросы об изменениях или добавлении необходимой функциональности.
Схема


5 шт. плюсов
- Простота и структурированность: каждый этап четко определен, что облегчает планирование и управление проектом.
- Четкая документация.
- Четкое управление временем и бюджетом: при наличии четко определенных этапов легче оценить необходимые ресурсы и установить сроки.
- Подходит для небольших и стабильных проектов: водопадная модель эффективна для проектов, в которых требования ясны заранее и не меняются в процессе разработки.
- Простота управления командой: по мере разбиения проекта на последовательные фазы управление задачами становится более структурированным и понятным.
5 шт. минусов
- Сложности с внесением изменений: трудно адаптировать проект к новым требованиям на более поздней стадии, что увеличивает время и затраты.
- Задержка тестирования: тестирование начинается только на финальной стадии, что может сделать обнаруженные ошибки критическими и трудноисправимыми.
- Риск устаревания: к моменту завершения проекта требования или технологии могут устареть, особенно в быстро меняющихся областях.
- Не учитывается вовлеченность заказчика: в отличие от agile-методологий, водопадная модель не предполагает регулярного взаимодействия с заказчиком на протяжении всего проекта.
- Невозможность быстро вывести продукт на рынок: поскольку разработка завершается только после окончания всех этапов, продукт нельзя выпускать партиями, что замедляет выход на рынок.