абезпечують меншу трудомісткість розробки в порівнянні з каскадної моделлю.
Недоліки ітераційної моделі:
• час життя кожного етапу розтягується на весь період розробки;
• внаслідок великого числа ітерацій виникають неузгодженості виконання проектних рішень і документації;
• заплутаність архітектури;
• труднощі використання проектної документації на стадіях впровадження і експлуатації викликають необхідність перепроектування всієї системи.
Спіральна модель, в відміну від каскадної, але аналогічно попередньої передбачає ітераційний процес розробки АІС. При цьому зростає значення початкових етапів, таких як аналіз та проектування, на яких перевіряється і обгрунтовується реалізованість технічних рішень шляхом створення прототипів.
Кожна ітерація представляє собою закінчений цикл розробки, що приводить до випуску внутрішньої чи зовнішньої версії виробу (або підмножини кінцевого продукту), яке вдосконалюється від ітерації до ітерації, щоб стати закінченою системою.
Таким чином, кожен виток спіралі відповідає створенню фрагмента або версії програмного виробу, на ньому уточнюються цілі і характеристики проекту, визначається його якість, плануються роботи на наступному витку спіралі. Кожна ітерація служить для поглиблення та послідовної конкретизації деталей проекту, в результаті цього вибирається обгрунтований варіант остаточної реалізації.
Використання спіральної моделі дозволяє здійснювати перехід на наступний етап виконання проекту, що не чекаючи повного завершення поточного, - недороблену роботу можна буде виконати на наступній ітерації. Головне завдання кожної ітерації - якнайшвидше створити працездатний продукт для демонстрації користувачам. Таким чином, істотно спрощується процес внесення уточнень і доповнень до проекту.
Спіральний підхід до розробки програмного забезпечення дозволяє подолати більшість недоліків каскадної моделі і, крім того, забезпечує ряд додаткових можливостей, роблячи процес розробки більш гнучким.
Переваги ітераційного підходу:
• итерационная розробка істотно спрощує внесення змін до проекту при зміні вимог замовника;
• при використанні спіральної моделі окремі елементи АІС інтегруються в єдине ціле поступово. Оскільки інтеграція починається з меншої кількості елементів, то виникає набагато менше проблем при її проведенні (при використанні каскадної моделі інтеграція займає до 40% всіх витрат в кінці проекту);
• зниження рівня ризиків (наслідок попереднього переваги, так як ризики виявляються саме під час інтеграції). Рівень ризиків максимальний в початок розробки проекту, в міру просування розробки він знижується. Дане твердження справедливе при будь-якої моделі розробки, однак при використанні спіральної зниження рівня ризиків відбувається з найбільшою швидкістю, так як інтеграція виконується вже на першій ітерації. На початкових ітераціях виявляються багато аспектів проекту (придатність використовуваних інструментальних засобів, програмного забезпечення, кваліфікація розробників і т.п.);
• итерационная розробка забезпечує велику гнучкість в управлінні проектом, даючи можливість внесення тактичних змін до розроблювальне виріб. Так, можна скоротити терміни розробки за рахунок зниження функціональності системи або використовувати в як складових частин продукцію сторонніх фірм замість власних розробок (актуально при ринковій економіці, коли необхідно протистояти просуванню вироби конкурентів);
• ітераційний підхід спрощує повторне використання компонентів, оскільки набагато простіше виявити (ідентифікувати) загальні частини проекту, коли вони вже частково розроблені, ніж намагатися виділити їх на самому початку проекту. Аналіз проекту після кількох початкових ітерацій дозволяє виявити загальні багаторазово використовувані компоненти, які на наступних ітераціях будуть вдосконалюватися;
• спіральна модель дозволяє отримати більш надійну і стійку систему. Це пов'язано з тим, що в міру розвитку системи помилки і слабкі місця виявляються і виправляються на кожній ітерації. Одночасно коригуються критичні параметри ефективності, що у разі каскадної моделі доступно тільки перед впровадженням системи;
• ітераційний підхід дозволяє удосконалювати процес розробки - в результаті аналізу в кінці кожної ітерації проводиться оцінка змін в організації розробки; на наступній ітерації вона покращується.
Основна проблема спірального циклу - труднощі визначення моменту переходу на наступний етап. Для її рішення необхідно ввести тимчасові обмеження на кожен з етапів життєвого циклу. Інакше процес розробки може перетворитися на нескінченне вдосконалення вже зробленого.
При ітераційному підході корисно слідувати принципу "краще - ворог хорошого". Тому завершення ітерації повинно проводитися строго відповідно до плану, навіть якщо не вся запланована робота закінчена. Планування...