Фази та моделі життєвого циклу розробки програмного забезпечення (SDLC).

Що таке SDLC?

SDLC це систематичний процес створення програмного забезпечення, який забезпечує якість і правильність створеного програмного забезпечення. Процес SDLC спрямований на створення високоякісного програмного забезпечення, яке відповідає очікуванням клієнтів. Розробка системи має бути завершена в заздалегідь визначені терміни та вартість. SDLC складається з детального плану, який пояснює, як планувати, створювати та підтримувати певне програмне забезпечення. Кожна фаза життєвого циклу SDLC має власний процес і результати, які входять до наступної фази. SDLC означає Життєвий цикл розробки програмного забезпечення і також називається життєвим циклом розробки додатків.

Чому SDLC?

Ось основні причини, чому SDLC важливий для розробки програмного забезпечення.

  • Він пропонує основу для планування проекту, планування та оцінювання
  • Забезпечує основу для стандартного набору заходів і результатів
  • Це механізм відстеження та контролю проекту
  • Збільшує видимість планування проекту для всіх зацікавлених сторін процесу розробки
  • Збільшено та покращено швидкість розробки
  • Поліпшення відносин з клієнтами
  • Допомагає зменшити ризики проекту та накладні витрати на план управління проектом

 

Фази SDLC

Весь процес SDLC розділений на наступні кроки SDLC:

Фази SDLC
Фази SDLC
  • Етап 1: збір і аналіз вимог
  • Фаза 2: техніко-економічне обґрунтування
  • Етап 3: Проектування
  • Фаза 4: Кодування
  • Етап 5: Тестування
  • Етап 6: встановлення/розгортання
  • Етап 7: Технічне обслуговування

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

Етап 1: збір і аналіз вимог

Вимога є першим етапом процесу SDLC. Його проводять старші члени команди за участю всіх зацікавлених сторін і експертів галузі. Планування для забезпечення якості вимоги та визнання пов’язаних ризиків також здійснюється на цьому етапі.

Цей етап дає більш чітке уявлення про масштаби всього проекту та очікувані проблеми, можливості та директиви, які запустили проект.

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

Фаза 2: техніко-економічне обґрунтування

Після завершення фази аналізу вимог наступним кроком SDLC є визначення та документування потреб програмного забезпечення. Цей процес виконується за допомогою документа «Специфікація вимог до програмного забезпечення», також відомого як документ «SRS». Він включає все, що має бути спроектовано та розроблено протягом життєвого циклу проекту.

Існує в основному п'ять типів перевірки здійсненності:

  • Економічний: Чи можемо ми завершити проект у рамках бюджету чи ні?
  • припустимо: Чи можемо ми розглядати цей проект як кіберзакон та іншу нормативну базу/відповідність.
  • Operaздійсненність: Чи можемо ми створити операції, яких очікує клієнт?
  • Технічний: Необхідно перевірити, чи підтримує поточна комп’ютерна система програмне забезпечення
  • Графік роботи: Вирішіть, чи можна завершити проект у встановлений графік, чи ні.

Етап 3: Проектування

На цьому третьому етапі готуються документи щодо розробки системи та програмного забезпечення відповідно до документа специфікації вимог. Це допомагає визначити загальну архітектуру системи.

Цей етап проектування служить вхідними даними для наступного етапу моделі.

На цьому етапі розробляються два типи проектних документів:

Дизайн високого рівня (HLD)

  • Короткий опис і назва кожного модуля
  • Опис функціональності кожного модуля
  • Взаємозв'язок інтерфейсу та залежності між модулями
  • Таблиці бази даних, визначені разом із їхніми ключовими елементами
  • Повні схеми архітектури разом із деталями технології

Проектування низького рівня (LLD)

  • Функціональна логіка модулів
  • Таблиці бази даних, які включають тип і розмір
  • Повна деталізація інтерфейсу
  • Вирішує всі типи проблем із залежністю
  • Перелік повідомлень про помилки
  • Повний вхід і вихід для кожного модуля

Фаза 4: Кодування

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

На цьому етапі розробник повинен дотримуватися певних попередньо визначених вказівок щодо кодування. Їх теж потрібно використовувати інструменти програмування наприклад, компілятор, інтерпретатори, налагоджувач для створення та реалізації коду.

Етап 5: Тестування

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

Під час цього етапу команда контролю якості та тестування може виявити деякі помилки/дефекти, про які вони повідомлять розробникам. Команда розробників виправляє помилку та повертає до QA для повторного тестування. Цей процес триває, доки програмне забезпечення не стане вільним від помилок, стане стабільним і не працюватиме відповідно до бізнес-потреб цієї системи.

Етап 6: встановлення/розгортання

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

Етап 7: Технічне обслуговування

Після того, як система розгортається, і клієнти починають використовувати розроблену систему, виконуються наступні 3 дії

  • Виправлення помилок – повідомляють про помилки через деякі сценарії, які взагалі не тестуються
  • Upgrade – Оновлення програми до нових версій програмного забезпечення
  • Покращення – додавання деяких нових функцій до існуючого програмного забезпечення

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

Популярні моделі SDLC

Ось деякі з найважливіших моделей життєвого циклу розробки програмного забезпечення (SDLC):

Модель водоспаду в SDLC

Водоспад є загальноприйнятою моделлю SDLC. У цьому підході весь процес розробки програмного забезпечення розділений на різні фази SDLC. У цій моделі SDLC результат однієї фази виступає в якості вхідних даних для наступної фази.

Ця модель SDLC потребує багато документації, оскільки попередні етапи документують те, що потрібно виконати на наступних етапах.

Інкрементальна модель у SDLC

Інкрементальна модель не є окремою моделлю. По суті, це серія водоспадних циклів. Вимоги розділені на групи на початку проекту. Кожна група використовує модель SDLC для розробки програмного забезпечення. Процес життєвого циклу SDLC повторюється, з кожним випуском додається більше функціональних можливостей, доки не будуть виконані всі вимоги. У цьому методі кожен цикл діє як етап обслуговування для попереднього випуску програмного забезпечення. Модифікація інкрементальної моделі дозволяє циклам розробки накладатися. Після цього наступний цикл може початися до завершення попереднього циклу.

V-модель в SDLC

У цьому типі тестування та розробки моделі SDLC фаза планується паралельно. Отже, є етапи перевірки SDLC збоку та етап перевірки з іншого боку. V-модель приєднується до фази кодування.

Гнучка модель в SDLC

Гнучка методологія – це практика, яка сприяє безперервній взаємодії розробки та тестування під час процесу SDLC будь-якого проекту. У методі Agile весь проект розділений на невеликі поетапні збірки. Усі ці збірки надаються ітераціями, і кожна ітерація триває від одного до трьох тижнів.

Спіральна модель

Спіральна модель — це модель процесу, керована ризиком. Ця модель тестування SDLC допомагає команді прийняти елементи однієї або кількох моделей процесу, як-от каскад, інкрементний, каскад тощо.

Ця модель використовує найкращі характеристики моделі прототипу та моделі водоспаду. Спіральна методологія — це поєднання швидкого прототипування та паралельного проектування та розробки.

Модель Big Bang

Модель великого вибуху зосереджується на всіх типах ресурсів у розробці програмного забезпечення та кодуванні без планування або з дуже невеликим плануванням. Вимоги розуміються та виконуються, коли вони надходять.

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

Підсумки

  • Життєвий цикл розробки програмного забезпечення (SDLC) — це систематичний процес створення програмного забезпечення, який забезпечує якість і правильність створеного програмного забезпечення.
  • Повна форма SDLC – це життєвий цикл розробки програмного забезпечення або життєвий цикл розробки систем.
  • SDLC у розробці програмного забезпечення забезпечує основу для стандартного набору дій і результатів
  • Сім різних етапів SDLC: 1) Збір і аналіз вимог 2) Техніко-економічне обґрунтування: 3) Дизайн 4) Кодування 5) Тестування: 6) Встановлення/розгортання та 7) Технічне обслуговування
  • Проводять старші члени бригади аналіз вимог фаза
  • Етап ТЕО включає все, що має бути спроектовано та розроблено протягом життєвого циклу проекту
  • На етапі проектування проектні документи системи та програмного забезпечення готуються відповідно до документа специфікації вимог
  • На етапі кодування розробники починають будувати всю систему з написання коду за допомогою вибраної мови програмування
  • Тестування — це наступний етап, який проводиться для перевірки того, що вся програма працює відповідно до вимог замовника.
  • Встановлення та розгортання обличчя починається, коли тестування програмного забезпечення фаза закінчилася, і в системі не залишилося жодних багів або помилок
  • Дії щодо виправлення помилок, оновлення та залучення описані в обличчі обслуговування
  • Waterfall, Incremental, Agile, V model, Spiral, Big Bang – це деякі з популярних моделей SDLC у розробці програмного забезпечення.
  • SDLC у тестуванні програмного забезпечення складається з детального плану, який пояснює, як планувати, створювати та підтримувати конкретне програмне забезпечення