Життєвий цикл розробки програмного забезпечення (SDLC) — це процес проектування, розробки та тестування програмного забезпечення. Метою SDLC є створення високоякісного програмного забезпечення, яке відповідає очікуванням клієнтів і готове до використання у визначені терміни та відповідно до встановлених кошторисів.
ISO/IEC 12207 — це міжнародний стандарт для процесів життєвого циклу програмного забезпечення. Даний стандарт визначає завдання, необхідні для розробки та підтримки програмного забезпечення.
Етапи SDLC
Типовий життєвий цикл розробки програмного забезпечення складається з наступних етапів: планування та аналіз вимог, визначення вимог, проєктування архітектури продукту, розробка продукту, тестування, розгортання та обслуговування.
Етап 1: Планування та аналіз вимог
Аналіз вимог є найважливішим і фундаментальним етапом в SDLC. Він виконується старшими членами команди за участю замовника, відділу продажів, дослідників ринку та експертів галузі. Ця інформація потім використовується для планування базового підходу до проєкту та для проведення техніко-економічного обґрунтування продукту в економічних, експлуатаційних і технічних областях.
Планування вимог щодо забезпечення якості та визначення ризиків, пов’язаних із проектом, також здійснюється на етапі планування. Результатом технічного обґрунтування є визначення різних технічних підходів, які можна застосувати для успішної реалізації проекту з мінімальними ризиками.
Етап 2: Визначення вимог
Після аналізу вимог наступним кроком є чітке визначення та документування вимог до продукту та отримання їх схвалення від замовника або аналітиків ринку. Це робиться за допомогою документа SRS (специфікація вимог до програмного забезпечення) , який містить усі вимоги до продукту, які мають бути розроблені та впроваджені протягом життєвого циклу проекту.
Етап 3: Проектування архітектури продукту
SRS є орієнтиром для архітекторів продукту, щоб створити найкращу архітектуру для продукту, який буде розроблено. На основі вимог, зазначених у SRS, зазвичай пропонується більше ніж один підхід до проектування архітектури продукту та документується в DDS (Design Document Specification) — специфікації проектної документації.
Ця DDS перевіряється всіма впливовими зацікавленими сторонами, і на основі різних параметрів, таких як оцінка ризику, надійність продукту, модульність конструкції, бюджет і часові обмеження, вибирається найкращий підхід до проектування продукту.
Підхід до проектування чітко визначає всі архітектурні модулі продукту, а також його зв’язок і представлення потоку даних із зовнішніми модулями та за наявності модулями сторонніх розробників. Внутрішній дизайн усіх модулів пропонованої архітектури повинен бути чітко визначений з найменшими деталями в DDS.
Етап 4: Створення або розробка продукту
На цьому етапі SDLC починається фактична розробка та створення продукту. На цьому етапі генерується програмний код відповідно до DDS. Якщо розробка виконана детально та впорядковано, генерація коду може бути виконана без особливих проблем.
Розробники повинні дотримуватися вказівок щодо кодування, визначених їхньою організацією, а для створення коду використовуються інструменти програмування, такі як компілятори, інтерпретатори, налагоджувачі тощо. Для кодування використовуються різні мови програмування високого рівня, такі як C, C++, Java, C#, Python та інші. Мова програмування вибирається залежно від типу програмного забезпечення, що розробляється.
Етап 5: тестування продукту
Цей етап зазвичай є підмножиною всіх етапів, оскільки в сучасних моделях SDLC діяльність з тестування здебільшого задіяна на всіх етапах SDLC. Однак ця стадія стосується лише стадії тестування продукту, на якій повідомляється про дефекти продукту, відстежуються, виправляються та повторно тестуються, доки продукт не досягне стандартів якості, визначених у SRS.
Етап 6: Розгортання на ринку та обслуговування
Після того, як продукт протестований і готовий до розгортання, він офіційно випускається на відповідному ринку. Іноді розгортання продукту відбувається поетапно відповідно до бізнес-стратегії організації. Спочатку продукт може бути випущений в обмеженому сегменті та протестований у реальному бізнес-середовищі (UAT-User acceptance testing).
Потім на основі відгуків продукт може бути випущений у такому вигляді, як він є, або із запропонованими вдосконаленнями в цільовому сегменті ринку. Після виходу продукту на ринок проводиться його супровід для наявної клієнтської бази.
Моделі SDLC
Існують різні моделі життєвого циклу розробки програмного забезпечення. Ці моделі також називаються моделями процесу розробки програмного забезпечення. Кожна модель процесу включає серію кроків, унікальних для свого типу, щоб забезпечити успіх у процесі розробки програмного забезпечення.
Приклади моделей SDLC, які застосовуються в процесі розробки програмного забезпечення:
- Модель водоспаду
- Ітеративна модель
- Спіральна модель
- V-Model
- Модель великого вибуху
- Інші пов’язані методології – гнучка модель, модель RAD, моделі прототипування.