Жизненный цикл разработки ПО

Оригинальное название: Software Development Life Cycle (SDLC)

Коротко

Путь программы от идеи до вывода из эксплуатации: сбор требований, проектирование, разработка, тестирование, выпуск и сопровождение.

Что такое «Жизненный цикл разработки ПО»

Англоязычная аббревиатура — SDLC. Понятие нужно, чтобы работа над программой не превращалась в «пишем, пока не надоест»: на каждом этапе ясно, что должно получиться на выходе и кто это принимает. Процессы жизненного цикла описывает, например, международный стандарт ISO/IEC 12207, у которого есть российский аналог ГОСТ Р ИСО/МЭК 12207.

Этапы на примере сайта

  1. Анализ и требования — цели, аудитория, функции, интеграции. Результат — техническое задание или бэклог.
  2. Проектирование — структура, прототипы, дизайн, выбор платформы, схема данных.
  3. Разработка — вёрстка, программирование, наполнение.
  4. Тестирование — проверка функций, форм, скорости, отображения на разных устройствах.
  5. Развёртывание — перенос на боевой сервер, подключение домена, аналитики, редиректов.
  6. Сопровождение — обновления, исправления, доработки, резервные копии.

Последний этап самый длинный: сайт живёт годами, а разработка заняла несколько месяцев. Поэтому планировать стоит стоимость владения, а не только запуск — подробнее в статье о том, что входит в поддержку сайта.

Модели жизненного цикла

  • Каскадная (водопад) — этапы идут строго друг за другом, к прошлому шагу не возвращаются. Подходит, когда требования стабильны и известны заранее.
  • V-модель — каскад, где каждому этапу проектирования соответствует свой уровень тестирования: требованиям — приёмочные тесты, архитектуре — интеграционные.
  • Итеративная и инкрементная — продукт растёт частями, каждый виток проходит все этапы заново.
  • Спиральная — итерации с явной оценкой рисков перед каждым витком.
  • Гибкие методы — короткие циклы с частой обратной связью; конкретные фреймворки разобраны в статье о гибкой разработке ПО.

Типичные ошибки планирования

Самая частая — сжать тестирование, когда горят сроки: ошибки всё равно найдут, но уже пользователи. Вторая — считать запуск концом проекта и не заложить сопровождение. Третья — выбрать каскад для продукта, требования к которому никто толком не знает: к концу разработки окажется, что сделано не то, что нужно рынку.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение