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