SDLC: Жизненный цикл ПО
Жизненный цикл программного обеспечения (Software Development Life Cycle, SDLC) — структурированный процесс создания систем. SDLC описывает, как идея проходит путь от концепции до рабочего продукта.
Цель — обеспечить предсказуемость, качество и управляемость разработки.
Фазы жизненного цикла ПО
Процесс разработки можно разложить на фундаментальные фазы. Они могут выполняться последовательно, итерационно или параллельно — в зависимости от выбранной модели.
1. Инициация (Планирование)
Определяется цель проекта, его границы и заинтересованные стороны.
Оценивается бизнес-ценность, риски и целесообразность разработки.
Результат фазы — бизнес-кейс, дорожная карта проекта, первичные требования и оценка ресурсов.
2. Сбор и анализ требований
Вывляются:
- Проблемы бизнеса, которые нужно решить.
- Функциональные требования (что система должна делать).
- Нефункциональные требования(какими качествами обладать: производительность, безопасность, надежность).
Выходные артефакты: ТЗ или спецификация требований к ПО (SRS,Software Requirements Specification), модели процессов, диаграммы прецедентов.
3. Проектирование
Решается как система будет удовлетворять требованиям. Создается проект:
- Архитектура системы: выбираются технологии, определяются основные компоненты и их взаимодействие (микросервисы, монолит).
- Проектирование данных: разрабатывается модель БД
- Проектирование интерфейсов: как система будет взаимодействовать с пользователями (UI) и другими системами (API).
Результат — набор архитектурных и дизайнерских документов. Могут быть зафиксированы в документе DDS (Design Description Specification), который описывает архитектуру системы, модули, интерфейсы, связи компонентов и потоки данных.
4. Разработка (Реализация)
Пишется код в соответствии с архитектурой и требованиями.
Проводятся ревью кода, сборка и автоматизация сборочного процесса через CI/CD.
На выходе — рабочие модули и инкременты системы.
5. Тестирование
Проверяется соответствие продукта требованиям. Примеры типов тестирования:
- Модульное (проверка отдельных компонентов).
- Интеграционное (проверка взаимодействия компонентов).
- Системное (проверка системы в сборе по всем требованиям).
- Приемочное (финальная проверка с заказчиком).
6. Внедрение
Продукт разворачивается в целевой среде. Выполняется:
- Развертывание на production-серверах.
- Перенос данных из старых систем.
- Обучение пользователей.
- Подготовка документации.
Этап завершается релизом и переходом системы в эксплуатацию.
Развертывание может выполняться поэтапно — сначала для ограниченной аудитории (пилотный релиз, UAT), а затем в полном масштабе.
Позволяет протестировать продукт в реальных условиях и скорректировать его перед массовым запуском.