Скачиваний:
38
Добавлен:
29.01.2021
Размер:
5.08 Mб
Скачать
      1. Пошаговая модель

Пошаговая (Incremental) модель (Рис. 10) напоминает V-образную, но построена на идее так называемого эволюционного прототипа (evolutionary prototype) и состоит из последовательности шагов от 1 до N. На шаге 1 готовится некоторый зародыш будущего продукта, в котором реализуется очень ограниченное количество функций. В последующих шагах от 2 до N этот прототип наращивается до полного объема спецификаций, какой был задан изначально.

Каждый шаг исполняется по V-образной модели, но с учетом уже имеющихся наработок на предыдущем шаге. В отличие от обобщенной модели, здесь на первой же фазе каждого шага идет разработка "тестов приемки", которые либо разрабатываются, либо берутся уже готовыми от заказчика. Таким образом, в отличие от V-образной модели, в которой приемочное тестирование выполняется на завершении разработки, здесь вопрос: "На чем будут тестироваться последовательные версии продукта и что будет критерием их приемки заказчиком?" изучается и решается первым делом. Изначально эти тесты применяются к продуктам поставщиков и возможных конкурентов, а в конце каждого шага – к очередной версии разрабатываемого продукта, который в этой модели называется демонстрационным прототипом (demo).

После определения и подготовки тестов идет «спуск» по фазам анализа требований, предварительного проектирования (аналог высокоуровневого), детального проектирования и кодирования, а затем «подъем» по фазам модульного тестирования, интеграционного тестирования, и системного, как и в V-образной модели. Завершается шаг приемо-сдаточными испытаниями с учетом тестов, накопленных на предыдущих шагах, и тестов для функциональности, добавленной на данном шаге.

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

Рис. 10. Пошаговая модель

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

      1. Спиральная модель Боэма

Спиральная (spiral) модель была предложена Боэмом еще в середине 1980-х годов. Ее главная особенность – выделение анализа рисков в отдельные шаги разработки, которая представляет собой повторяющиеся циклы, раскручиваемые, подобно спирали (Рис. 11). Каждый виток начинается с анализа рисков и построения очередного прототипа системы, эти риски проясняющего. После устранения с помощью рассмотрения этих прототипов всех неясностей, выявленных в анализе рисков, разрабатывается концепция, составляются планы по требованиям к системе и планы по жизненному циклу. На следующем витке спирали в свете полученных новых данных заново проводится анализ рисков в изменившейся ситуации и на основании него, если заказчик соглашается, создается следующий прототип.

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

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

Рис. 11. Спиральная модель Боэма

В индустрии программного обеспечения спиральная модель является одной из самых распространенных.