Найти тему
Всё о IT и не только

Модели процесса разработки ПО

Инкрементальная модель

-2

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

Фазы

1. Планирование - определение требований, составление эскизного проекта всей системы,

2. выбор определенного подмножества функций системы,

3. детальное проектирование (в соответствии с каскадной моделью) и реализация определенной части системы, которая выполняет функции, выбранные ранее,

4. тестирование готовой детали и поставка ее заказчику,

Этапы от 1 до 4 повторяются до тех пор, пока не будет доставлена окончательная версия программного обеспечения.

Преимущества

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

Недостатки

К недостаткам можно отнести дополнительную стоимость работ, вызванную самостоятельной реализацией фрагментов системы или потенциальными трудностями, связанными с разделением работ.

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

-3

Фазы

1. Планирование,

2. Анализ рисков,

3. Разработка следующей части проекта (дизайн),

4. тестирование (тестирование продукции заказчиком),

Этапы от 1 до 4 повторяются до тех пор, пока не будет доставлена окончательная версия программного обеспечения.

Преимущества

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

Недостатки

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