Область применения итеративной модели (прототипирования)

· требования не известны заранее, могут быть неверно истолкованы или неудачно сформулированы;

· существует потребность в разработке пользовательских интерфейсов;

· нужна проверка концепции;

· выполняется новая, не имеющая аналогов разработка (в отличие от эксплуатации продукта на уже существующей системе) или разрабатывается ПО со средней или высокой степенью риска;

Инкрементная разработка представляет собой процесс частичной реализации всей системы и медленного наращивания функциональных возможностей или эффективности. Этот подход позволяет уменьшить затраты, понесенные до момента достижения уровня исходной производительности. С помощью этой модели ускоряется процесс создания функционирующей системы. Этому способствует применяемый принцип компоновки из стандартных блоков, благодаря которому обеспечивается контроль над процессом разработки изменяющихся требований.

Инкрементная модель действует по принципу каскадной модели с перекрытиями, благодаря чему функциональные возможности продукта, пригодные к эксплуатации. формируется раньше. Для этого может понадобиться полный заранее сформированный набор требований, которые выполняются в виде последовательных, небольших по размеру проектов, либо выполнение проекта может начаться с формулирования общих целей, которые затем уточняются и реализуются группами разработчиков.

Область применения итеративной модели (прототипирования) - student2.ru

Инкрементный метод описывается как процесс объединения элементов последовательной линейной модели и прототипирования. Разработки ПО ведётся по принципу наращивания функциональных возможностей продукта. Подобное усовершенствование каскадной модели одинаково эффективно при использовании как в случае чрезвычайно больших, так и небольших проектов. А теперь будет рассмотрен небольшой пример продукта, разработанного в результате выполнения трех инкрементных этапов. Здесь на инкременте 1 определяются базовые алгоритмы и выходные данные, на инкременте 2 добавляются некоторые ценные возможности производственного типа, такие как возможность занесения в файл и выборки результатов предыдущих прогонов программы, а на инкременте 3 добавляются различные полезные свойства к пользовательскому интерфейсу, а также к заранее определенным вычислительным свойствам системы.

Область применения инкрементной модели:

· если большинство требований можно сформулировать заранее, но их появление ожидается через определенный период времени;

· если рыночное окно слишком "узкое" и существует потребность быстро поставить на рынок продукт, имеющий функциональные базовые свойства;

· для проектов, на выполнение которых предусмотрен большой период времени разработки, как правило, один год;

· при разработке программ, связанных с низкой или средней степенью риска;

Эволюционная модель

Чаще всего объединяют обе модели. Такую смешанную эволюционную модель называют просто итеративной (говоря о процессе) и/или инкрементальной (говоря о наращивании функциональности продукта).

Эволюционная модель подразумевает не только сборку работающей (с точки зрения результатов тестирования) версии системы, но и её развертывание в реальных операционных условиях с анализом откликов пользователей для определения содержания и планирования следующей итерации. “Чистая” инкрементальная модель не предполагает развертывания промежуточных сборок (релизов) системы и все итерации проводятся по заранее определенному плану наращивания функциональности, а пользователи (заказчик) получает только результат финальной итерации как полную версию системы.

Таким образом, Значимость эволюционного подхода на основе организации итераций особо проявляется в снижении неопределенности с завершением каждой итерации. В свою очередь, снижение неопределенности позволяет уменьшить риски. Рисунок 3 иллюстрирует некоторые идеи эволюционного подхода, предполагая, что итеративному разбиению может быть подвержен не только жизненный цикл в целом, включающий перекрывающиеся фазы – формирование требований, проектирование, конструирование и т.п., но и каждая фаза может, в свою очередь, разбиваться на уточняющие итерации, связанные, например, с детализацией структуры декомпозиции проекта – например, архитектуры модулей системы.

Область применения итеративной модели (прототипирования) - student2.ru

Рисунок 3. Снижение неопределенности и инкрементальное расширение функциональности при итеративной организация жизненного цикла.

Спиральная модель

Наиболее известным и распространенным вариантом эволюционной модели является спиральная модель, ставшая уже по-сути самостоятельной моделью, имеющей различные сценарии развития и детализации.

Спиральная модель (представлена на рисунке 4) была впервые сформулирована Барри Боэмом (Barry Boehm) в 1988 году [Boehm, 1988]. Отличительной особенностью этой модели является специальное внимание рискам, влияющим на организацию жизненного цикла.

Большая часть этих рисков связана с организационными и процессными аспектами взаимодействия специалистов в проектной команде.

Область применения итеративной модели (прототипирования) - student2.ru

Рисунок 4. Оригинальная спиральная модель жизненного цикла разработки по Боэму

Область применения спиральной модели:

· когда создание прототипа представляет собой подходящий тип разработки продукта;

· для проектов, выполнение которых сопряжено со средней и высокой степенью риска;

· когда речь идет о применении новой технологии и когда необходимо протестировать базовые концепции;

· когда пользователи не уверены в своих потребностях;

· когда требования слишком сложные;

· когда ожидаются существенные изменения, например, при изучении или исследовательской работе;

· в случае больших проектов;

· когда преимущества разработки невозможно точно определить, а достижение успеха не гарантировано;

Область применения итеративной модели (прототипирования) - student2.ru

Рисунок 5. Обновленная спиральная модель c контрольными точками проекта.
(данное представление создано Сергеем Орликом
на основе оригинальной модели Боэма и ее модификациях)

1.1.

Scrum

Наши рекомендации