Инкрементная модель – это процесс разработки программного обеспечения, в котором требования разбиваются на несколько отдельных модулей цикла разработки программного обеспечения. Iterative Incremental Development (IID) придумал Walter Shewhart в 50-ых годах 20-го века. Впервые инкрементальную модель разработки использовали в проекте сверхзвукового самолёта X-15 и проект был успешным.
Этапы
Инкрементальная разработка – это поэтапная и следующая временным графикам стратегия, в которой разные части системы разрабатываются в разное время и разными темпами, и если одна часть готова, тогда ее интегрируют в систему. Альтернативной стратегией было бы решение кодировать все части системы, а затем интегрировать весь код сразу.
Итеративная разработка – это так называемая стратегия изменений, где предусматриваются переделка и исправление существующих компонентов системы.
Альтернативная стратегия заключалась бы в планировании деятельности таким образом, чтобы всё делалось бы с первой попытки.
1 Итерация
2 Итерация
3 Итерация
Анализ требований
Анализ требований
Проектирование
Проектирование
Проектирование
Кодирование
Кодирование
Кодирование
Тестирование
Тестирование
Тестирование
Развёртывание
Развёртывание
Эксплуатация
Плюсы
Получение функционального продукта после реализации каждого инкремента
Предотвращение формирования громоздких перечней требований
Стабилизация требований во время создания определенного инкремента, за счет короткой продолжительности создания инкремента, включения в процесс пользователей и возможности отодвигания не важных изменений на последующие инкременты
Улучшение понимания требований для более поздних инкрементов, за счет практической работы с ранее разработанными инкрементами
Упрощение тестирования инкрементов по сравнению с продуктами промежуточных уровней при разработке систем по методу нисходящего проектирования
Минусы
Непредусмотренность итераций в рамках каждого инкремента модели
Сложность формального анализа и проверки отдельных инкрементов
Отсутствие снижения общих затрат на выполнение проекта
Недостаточно чёткое определение требований
Ограниченность привлечения ресурсов на длительный срок
Сравнение двух моделей
Модели
Инкрементная модель
Прототипирование
Этапы
Части системы разрабатываются поочерёдно и полностью
Создается ( может и на бумаге) макет будущего сайта или приложения.
Плюсы
На каждом этапе функциональный продукт
Бумажные прототипы создаются легко и быстро, и отлично подходят для коллективного обсуждения.
Улучшение понимания требований для более поздних инкрементов
Прототипы с низкой детализацией не требуют больших трудовых и материальных затрат.
Упрощение тестирования инкрементов
Это отличное мероприятие для формирования команды.
Минусы
Сложность формального анализа и проверки отдельных инкрементов
Бумажные прототипы это плохая альтернатива цифровому варианту.
Недостаточно чёткое определение требований
Неточная обратная связь при взаимодействии с прототипом