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