6.2. Типи моделей життєвого циклу

Натепер моделі життєвого циклу можна поділити на три групи. Основою моделей усіх груп є каскадна модель.

Першу групу утворюють «послідовні» моделі - модифікації каскад­ної моделі орієнтування на розробку «з нуля». До цієї групи входять:

класична, водоспад, спіральна, інкрементна, покрокова, модель швидкої розробки, модель прототипування, еволюційна модель.

Розробка нових методів побудови програмного забезпечення, заснованих на багатократному і повторювальному використанні, призвела до появи другої групи моделей, До її складу входять моделі компонентної розробки і моделі, засновані на повторному використанні.

Одним із шляхів підвищення ефективності розробки ПЗ є усу­нення фаз життєвого циклу шляхом автоматизації відповідних процесів, У зв'язку з цим з'явилася третя група моделей автоматично­го синтезу програмного забезпечення.

6.2.1. Моделі, орієнтовані на розробку «з нуля»

Класична модель водоспаду - це узагальнення моделі водоспаду Райса, Модель містить п'ять фаз і, зазвичай, використовується в теоретичних побудовах (рис. 6.4).

Рис. 6.4. Класична модель водоспаду

Спіральна модель запропонована Боемом, як уточнення моделі водоспаду в результаті виконання ряду проектів, Процес розробки пред­ставлений у вигляді спіралі. Кожен виток спіралі - фаза (рис. 6.5).

Рис. 6.5. Спіральна модель

Спіраль розташована в чотирьох квадратах. У кожному квадраті виконуються певні дії:

- квадрат 1 - визначаються цілі альтернативи і обмеження - визна­чення вимог і специфікація для критичних частин системи з погляду продуктивності, функціональних властивостей, здібності до акомодації змін, програмного/апаратного інтерфейсу, критичних чинників успіху;

- квадрат 2 - розробляється прототип, ідентифікуються і вирі­шуються ризики - визначення вимог і специфікацій для найбільш потенційно небезпечних частин уявної системи задля виконання оцінювання і визначення ступеня ризику; розділення на окремі час­тини відповідно до ступенів ризику;

- квадрат 3 — розробляється продукт;

- квадрат 4 - планується така фаза: застосування Інформації, що належить до фази розробки продукту на наступному рівні, до планування на наступному кроці фази проекту.

Таким чином, у відповідному квадраті відбуваються такі дії: планування, прототипування, конструювання, оцінювання замов­ником і планування наступних дій.

Вертикальна вісь показує накопичувану вартість, а горизон­тальна - прогрес у розробці продукту.

Інкрементна модель забезпечує процеси побудови версії програм­ного забезпечення, що розробляється (рис 6.6). Модель об'єднує кас­кадну модель з ітераційним підходом до розробки програмного за­безпечення, Інкрементна модель може комбінуватися з іншими.

Рис. 6.6. Інкрементна модель

Покрокова модель припускає визначення пріоритетних функцій розробки програмного забезпечення у відповідній фазі життєвого циклу. Відповідно до певних пріоритетів визначається кількість кроків і кожна фаза реалізується покроково (рис. 6-7). Після вико­нання кроку виходить програмний продукт, який передається замов­никові для експерименту і перевірки.

Модель швидкої розробки (рис. 6.8) введена у використання фір­мою IBM. Суть моделі полягає в такому:

- користувач програмного забезпечення бере участь у всіх фазах життєвого циклу;

- скорочується час переходу від вимог до створення повного програмного забезпечення за рахунок використання відповідних інструментальних засобів і повторного використання.

Рис. 6.7. Покрокова модель

Рис. 6.8. Модель швидкої розробки

Модель прототипування забезпечує створення програмного за­безпечення у двох примірниках. Перший примірник називається прототипом і використовується для вимог. Після того, як вимоги узгоджені, прототип викидається і програмне забезпечення ство­рюється наново (рис. 6.9). Гасло моделі "давайте будувати двічі»,

Еволюційна модель - розробляється перша версія програмного продукту, яка передасться замовникові. Потім вона доопрацьову­ється і знову передасться замовникові, І так до тих пір, доки не бу­де побудована остаточна версія продукту. Еволюційна модель за­безпечує еволюційний процес розробки програмного забезпечення (рис 6.10),

Рис. 6.9. Модель прототипування.

Рис. 6.10. Еволюційна моделі.

V-модель життєвого циклу була введена для ідентифікації дій, пов'язаних з тестуванням на всіх стадіях розробки програмного продукту. Лівий бік моделі (рис. 6.11) містить традиційні фази кас­кадної моделі, проте окрім робочого продукту виробляється відпо­відний тест. Правий бік моделі пов'язаний з інтеграцією і тесту­ванням.

Рис. 6.11. V-модель

W-модель життєвого циклу є модифікацією V-моделі і реалізує метод, відповідно до якого результат кожної фази перевіряється на коректність, змістовність і завершеність (рис. 6.12). Суть моделі полягає у проведенні аудиту, перегляданні і тестуванні робочих продуктів, які здійснюються паралельно з виконанням фаз.

Рис. 6.12. W -модель

Стадійна модель життєвого циклу. Ця модель є модифікацією еволюційної моделі (рис, 6.13). Суть її полягає в розгляді супрово­ду розробленого програмного продукту як процесу розробки.

Рис. 6.13. Стадійна модель

Моделі, орієнтовані на використаних готових компонентів. Розрізняють дві групи моделей:

- засновані на застосуванні компонентів багатократного використання;

- засновані на повторному використанні успадкованого програм­ного забезпечення.

Моделі компонентної розробки орієнтуються на багатократне використання готових компонентів, наприклад, методом об'ектно-оріентованого програмування. Для розроблення компонентів пе­редбачається три можливості (рис. 6.14):

- розробка «з нуля»;

- використання існуючих класів;

- повторне використання успадкованого програмного забезпе­чення.

Рис. 6.14. Компонентна модель розробки

Існує три типи моделей, заснованих на повторному використан­ні; швидка, ітеративна і повна.

Швидка модель передбачає розробку шляхом зміни коду успад­кованого програмного продукту з подальшою зміною інших робо­чих продуктів фаз життєвого циклу (рис. 6.15).

Рис. 6.15. Швидка модель

Ітеративна модель припускає аналіз успадкованого програм­ного забезпечення і побудову нового продукту шляхом послідо­вних змін робочих продуктів успадкованого програмного проду­кту (рис. 6.16).

Рис. 6.16. Ітеративна модель

Повна модель передбачає побудову на основі успадкованого програмного продукту репозитарія повторно використовуваних компонентів і потім створення з його допомогою нового програм­ного продукту (рис. 6.17).

Ряс. 6.17. Повна модель

Моделі, орієнтовані на автоматичне виконання фаз життє­вого циклу. Моделі автоматичного синтезу забезпечують автома­тичну побудову програмного продукту шляхом переходу від не­формальної специфікації до формалізованої специфікації завдя­ки автоматичному виконанню однієї або декількох фаз життєво­го циклу (рис. 6.18).

Рис. 6.18. Модель автоматичного синтезу

6.2.2. Вибір моделей життєвого циклу

Зазвичай для кожного проекту програмного забезпечення виби­рають моделі життєвого циклу. Під час вибору використовуються характеристики таких елементів розробки:

- вимога;

- команда розробників;

- колектив користувачів;

- тип проекту і ризики.

Після вибору моделі здійснюється її підлаштування під процеси конкретного проекту.

Загрузка...