Життєвий цикл розробки програмного забезпечення (SDLC - Software Development Lifecycle)
Last updated
Last updated
Життєвий цикл програмного забезпечення (software lifecycle): період часу, що починається з моменту появи концепції програмного забезпечення і закінчується тоді, коли подальше використання програмного забезпечення неможливе. Життєвий цикл програмного забезпечення зазвичай включає такі етапи: концепт, опис вимог, дизайн, реалізація, тестування, інсталяція і налагодження, експлуатація і підтримка і, іноді, етап виведення з експлуатації. Дані фази можуть накладатися одна на одну або проводитися ітераційно. (ISTQB)
p align="justify"> Період часу від концепції до початкової версії відомий як життєвий цикл розробки, який є частиною життєвого циклу програмного забезпечення. З першого запуску система перетворюється на експлуатацію (функціонування). Система залишається в експлуатації до моменту припинення використання. (ГОСТ 56920)
SDLC - це систематизований процес, етапи якого охоплюють повний життєвий цикл програмного забезпечення (Software Lifecycle) і визначає різні етапи розробки програмного забезпечення для створення високоякісного програмного забезпечення, що відповідає очікуванням клієнтів і для поліпшення ефективності розробки. Розробка системи має бути завершена у заздалегідь визначені терміни та вартість. Кожна фаза життєвого циклу SDLC має свій власний процес та результати, які використовуються у наступній фазі.
Зазвичай він ділиться на шість-вісім кроків, але менеджери проектів можуть об'єднувати, декомпозувати чи пропускати кроки, залежно від скоупу проекту.
У різних джерелах фази трохи відрізняються, але глобально суть скрізь однакова.
Фази SDLC :
Збір та аналіз вимог(Requirement Gathering and Analysis): На цьому етапі від клієнта збирається вся необхідна інформація для розробки продукту відповідно до їх очікувань. Будь-які неясності мають бути дозволені відразу на цьому етапі. Бізнес-аналітик та менеджер проекту призначили зустріч із замовником, щоб зібрати всю інформацію, наприклад, що замовник хоче побудувати, хто буде кінцевим користувачем, яка мета продукту. Перед створенням продукту дуже важливе розуміння чи знання продукту. Наприклад, клієнт хоче мати програму, яка включає грошові транзакції. У цьому випадку вимога має бути чіткою, наприклад, які транзакції будуть виконуватися, як вони будуть проводитися, в якій валюті вони будуть проводитись і т. д. Після того, як збирання вимог завершено, проводиться аналіз перевірки можливості розробки продукту. Після чіткого розуміння вимоги створюється документ SRS (Специфікація вимог до програмного забезпечення). Цей документ має бути повністю зрозумілий розробникам, а також має бути розглянутий замовником для використання у майбутньому;
Дизайн (Design): На цьому етапі вимоги, зібрані в документі SRS, використовуються як вхідні дані, і створюється архітектура програмного забезпечення, яка використовується для реалізації розробки системи. Створюються два види дизайн-документів:
Високорівневий дизайн (HLD - High-Level Design):
Короткий опис та назва кожного модуля;
Короткий опис функціональності кожного модуля;
Відносини інтерфейсів та залежності між модулями;
Таблиці бази даних, ідентифіковані разом із їх ключовими елементами;
Повні архітектурні схеми з детальною інформацією про технології.
Низькорівневий дизайн (LLD - Low-Level Design):
функціональна логіка модулів;
Таблиці бази даних, які включають тип та розмір;
Повна деталізація інтерфейсів;
Вирішення всіх типів проблем із залежностями;
Список повідомлень про помилки;
Повні вхідні та вихідні значення для кожного модуля.
Розробка (Implementation or Coding): Реалізація/кодування починається, як тільки розробник отримує Design document. Дизайн програмного забезпечення переведено у вихідний код. На цьому етапі реалізуються усі компоненти програмного забезпечення;
Тестування : Тестування починається після завершення кодування та випуску модулів для тестування. На цьому етапі розроблене програмне забезпечення ретельно тестується і всі виявлені дефекти передаються розробникам для їх виправлення. Повторне тестування, регресійне тестування проводиться доти, доки програмне забезпечення не буде відповідати очікуванням клієнта. Тестувальники звертаються до документа SRS, щоб переконатися, що програмне забезпечення відповідає стандарту замовника;
Розгортання (Deployment): Після тестування продукту він розгортається у виробничому середовищі або виконується перше UAT (приймальне тестування користувача), залежно від очікувань клієнта. У разі UAT створюється копія виробничого середовища, і замовник разом із розробниками виконує тестування. Якщо клієнт залишається задоволений, то дає згоду на ;
Підтримка (Maintenance): Основна увага на цьому етапі SDLC приділяється забезпеченню того, щоб потреби продовжували задовольнятися та щоб система продовжувала працювати відповідно до специфікації, згаданої в першому етапі. Після того, як система розгорнута і клієнти починають використовувати розроблену систему слід 3 види активностей:
Виправлення помилок;
Оновлення;
Поліпшення.
Джерела:
Дод. матеріал:
. Chapters 7-8.