5.4.3. Спиральная модель ЖЦ
Для преодоления этих недостатков используются инкрементная и эволюционная стратегии разработки ПО.
В первом случае предполагается, что все требования к ПО определены перед началом проектирования, а сам проект создается в виде нескольких очередей, каждая из которых представляет собой законченный продукт с меньшей функциональностью, чем вся система в целом. После окончания работ последней очереди получается полноценная система.
При эволюционной стратегии целевая система создается поэтапно, итерационным способом. Причем на каждом этапе повторяется весь цикл общепринятой модели, начиная с определения требований к ПО данного этапа. В конце каждого этапа получается система со все большей функциональностью. Примером эволюционного подхода является классическая спиральная модель ЖЦ.
Постепенное наращивание возможностей системы по мере развития проекта часто изображают в виде спирали, раскручивающейся от центра, как показано на рис. 5.2. В соответствии с этой простой (грубой) моделью развитие проекта описывается как постепенный охват все более расширяющейся области плоскости по мере перехода проекта от этапа к этапу и от итерации к итерации.
В данной модели можно усмотреть еще один аспект конструирования программных систем - типичную схему развития коллектива разработчиков, который начиная со своего первого проекта постепенно пополняет накапливаемый багаж переиспользуемых рабочих продуктов и, что, пожалуй, еще важнее, - опыт работы и квалификацию.
Модель расширения охвата прикладной области совсем не претендует на инструментальность. Поэтому обсуждать эти свойства для данной модели мы не будем.
Реализация (программиров; и тестирован»
Анализ
Конструирование
Рис. 5.2. Классическая спиральная модель ЖЦ