Ответ
Пример Waterfall проекта: Разработка ПО для банковской системы
-
Сбор требований
- Клиент хочет систему для обработки платежей с функционалом: авторизация пользователей, переводы между счетами, история операций.
- Фиксированный документ с требованиями (SRS).
-
Дизайн
- Архитектура: монолитная, БД — PostgreSQL.
- UI/UX: макеты экранов в Figma.
-
Разработка
- Написание кода (пример на Python):
def process_payment(sender, receiver, amount): if validate_balance(sender, amount): update_balance(sender, -amount) update_balance(receiver, amount) log_transaction(sender, receiver, amount)
- Написание кода (пример на Python):
-
Тестирование
- Юнит-тесты (pytest), нагрузочное тестирование (JMeter).
-
Внедрение
- Развертывание на серверах банка, обучение сотрудников.
-
Поддержка
- Исправление багов, обновление документации.
Особенности Waterfall:
- Нет возврата к предыдущим этапам после старта.
- Риски: изменения требований = переделка с нуля.
- Подходит для проектов с четкими неизменными требованиями (например, госзаказы).