- •Специфіка розробки програмних засобів
- •2. Життєвий цикл програмного засобу
- •Мал. 3.1. Стадії і фази життєвого циклу пз.
- •3. Моделі життєвого циклу пз
- •Мал. 2.2. Послідовність розробки згідно "класичної" каскадної моделі
- •Мал. 2.3. Хід розробки, пропонований в статті
- •Мал. 2.4. Можливий хід робіт по ітеративній моделі
- •Мал. 2.5. Зображення ходу робіт по спіральній моделі згідно Боєму
- •Питання для самоконтролю до лекції 2:
Мал. 2.3. Хід розробки, пропонований в статті
Серед розробників і дослідників, що мали справу з розробкою складного ПЗ, практично з самого зародження індустрії виробництва програм велику популярність мали моделі еволюційних або ітеративних процесів, оскільки вони володіють більшою гнучкістю і здатністю працювати в змінному оточенні.
Ітеративні або инкрементальні моделі (відомо декілька таких моделей) припускають розбиття створюваної системи на набір шматків, які розробляються за допомогою декількох послідовних проходів всіх робіт або їх частини.
На першій ітерації розробляється шматок системи, не залежний від інших. При цьому велика частина або навіть повний цикл робіт проходиться на нього, потім оцінюються результати і на наступній ітерації або перший шматок переробляється, або розробляється наступний, який може залежати від першого, або якось поєднується доопрацювання першого шматка з додаванням нових функцій. В результаті на кожній ітерації можна аналізувати проміжні результати робіт і реакцію на них всіх зацікавлених осіб, включаючи користувачів, і вносити зміни, що коректують, на наступних ітераціях. Кожна ітерація може містити повний набір видів діяльності — від аналізу вимог до введення в експлуатацію чергової частини ПЗ.
Мал. 2.4. Можливий хід робіт по ітеративній моделі
Каскадна модель з можливістю повернення на попередній крок при необхідності переглянути його результати, стає ітеративною.
Ітеративний процес припускає, що різні види діяльності не прив'язані назавжди до певних етапів розробки, а виконуються в міру необхідності, іноді повторюються, до тих пір, поки не буде отриманий потрібний результат.
Разом з гнучкістю і можливістю швидко реагувати на зміни, ітеративні моделі привносять додаткові складнощі в управління проектом і відслідковування його ходу. При використанні ітеративного підходу значно складніше стає адекватно оцінити поточний стан проекту і спланувати довгостроковий розвиток подій, а також передбачити терміни і ресурси, необхідні для забезпечення певної якості результату.
Розвитком ідеї ітерацій є спіральна модель життєвого циклу ПЗ, запропонована Боемом (Boehm). Вона пропонує кожну ітерацію починати з виділення цілей і планування чергової ітерації, визначення основних альтернатив і обмежень при її виконанні, їх оцінки, а також оцінки виникаючих ризиків і визначення способів позбавлення від них, а закінчувати ітерацію оцінкою результатів проведених в її рамках робіт.
Основним її новим елементом є загальна структура дій на кожній ітерації — планування, визначення завдань, обмежень і варіантів розв’язків, оцінка запропонованих рішень і ризиків, виконання основних робіт ітерації і оцінка їх результатів.
Назву "спіральна" ця модель отримала із-за зображення ходу робіт в "полярних координатах", в яких кут відповідає виконуваному етапу в рамках загальної структури ітерацій, а видалення від початку координат — витраченим ресурсам.
Мал. 2.5. Зображення ходу робіт по спіральній моделі згідно Боєму
Рис. 2.5 показує можливий розвиток проекту по спіральній моделі. Кількість витків, а також розташування і набір видів діяльності в правому нижньому квадранті можуть змінюватися залежно від результатів планування і аналізу ризиків, що проводяться на попередніх етапах.
