Модель пошаговой разработки ПО.

Процессы специфицирования требований проектирования, проектирования и написания кода разбивается на последовательность небольших шаблонов, которые ведут к созданию ПО.

Эта модель была предложена как попытка уменьшить количество повторно выполняемых работ в процессе создания ПО и увеличить для заказчика временной период окончательного принятия решений обо всех деталях системных требований.

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

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

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

Достоинства данной модели:

1)Заказчику нет необходимости ждать полного завершения разработки системы, чтобы получить о ней представление.

2) Можно использовать компоненты, полученные на первых шагах разработки, как прототипы.

3) Уменьшается риск общей системы ошибок.

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