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