Жизненный цикл программного обеспечения (SDLC)
Рассмотрим основные этапы создания программного обеспечения, подходы Waterfall и Agile, фреймворк Scrum и практики CI/CD. Вы научитесь выбирать подходящую модель для проекта.
Жизненный цикл программного обеспечения (SDLC, Software Development Life Cycle) — это последовательность этапов, которые проходит программа от идеи до вывода из эксплуатации. Обычно он включает сбор и анализ требований, проектирование (архитектура и интерфейс), программирование, тестирование, внедрение (deploy) и сопровождение. В разных источниках названия и порядок этапов немного различаются, но цель одна: упорядочить работу и снизить затраты и риски.
В каскадной модели (Waterfall) этапы выполняются строго последовательно: к следующему переходят только после полного завершения предыдущего. Такой подход удобен для проектов, где требования понятны с самого начала и мало меняются, например для систем со строгими стандартами, ведь документирование и контроль в нём просты. Недостаток в том, что неверно понятое требование, обнаруженное лишь при тестировании или внедрении, исправлять очень дорого.
Подходы Agile (на основе «Манифеста Agile», опубликованного в 2001 году) делят работу на короткие итерации: каждые 1–4 недели готовится работающая часть продукта, собирается отзыв заказчика, и план меняется с учётом этого. Самый распространённый из них — Scrum: работа делится на спринты, команда проводит короткую ежедневную встречу, в конце спринта демонстрирует результат и обсуждает процесс. Kanban же показывает задачи на доске и ограничивает число одновременно выполняемых работ.
Современные команды ускоряют цикл с помощью практики CI/CD (непрерывная интеграция и поставка): каждое изменение автоматически собирается, тестируется и, если всё в порядке, выкладывается на сервер. Выбор модели зависит от особенностей проекта: если требования стабильны, а цена ошибки высока, подойдёт плановый подход; если требования меняются, лучше Agile. Многие компании сочетают элементы обоих подходов.
Главное
- SDLC — последовательность этапов от требований до сопровождения: анализ, проектирование, программирование, тестирование, внедрение, сопровождение.
- Waterfall — последовательная модель с подробной документацией; подходит при стабильных требованиях.
- Agile опирается на короткие итерации, быструю обратную связь и гибкость к изменениям.
- Scrum строится на спринтах, ролях и встречах, а Kanban — на визуализации потока работ и ограничении числа одновременных задач.
- CI/CD автоматически проверяет изменения и ускоряет внедрение.
Практические задания
- Для любого приложения, которым вы пользуетесь (например, Telegram), запишите в таблицу этапы SDLC и укажите возможный результат каждого этапа (документ, код, отчёт).
- Для приложения учёта посещаемости студентов напишите пять пользовательских историй (user story) в форме «Как пользователь, я хочу …, чтобы …» и распределите их по двухнедельному спринту.
- Письменно обоснуйте, какой подход — Waterfall или Agile — больше подходит для банковской платёжной системы, новой мобильной игры и программы для медицинского устройства.
Вопросы для закрепления
Проверьте себя: сначала подумайте, потом откройте ответ.
1Перечислите этапы SDLC по порядку.Показать ответСкрыть ответ
Анализ требований, проектирование, программирование, тестирование, внедрение и сопровождение.2В чём главное отличие Waterfall от Agile?Показать ответСкрыть ответ
В Waterfall этапы выполняются последовательно и один раз; в Agile работа ведётся короткими повторяющимися итерациями, и в каждой учитывается мнение заказчика.3Что такое спринт в Scrum?Показать ответСкрыть ответ
Рабочий период фиксированной длины (обычно 1–4 недели); к его концу готова работающая часть продукта.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Пройдено тем: 0 из 2
Войти и отметить