22/05/2022

Жизненный цикл разработки ПО, SDLC (Software Development LifeCycle)

Жизненный цикл разработки ПО, SDLC (Software Development LifeCycle)

Жизненный цикл программного обеспечения — это период времени, который начинается с момента принятия решения о создании программного продукта и заканчивается в момент его полного изъятия из эксплуатации.

Жизненный цикл разработки ПО представляет собой несколько этапов (или фаз), которые проходит любое ПО. По сути, это подробный план, показывающий, как разрабатывать программное обеспечение, поддерживать его, изменять, улучшать.

В жизненном цикле разработки ПО можно выделить 6 основных этапов.

Этапы жизненного цикла ПО

1. Анализ, составление требований к продукту

На этом этапе необходимо получить обратную связь и поддержку от соответствующих внутренних и внешних заинтересованных сторон и ответить на вопрос «Какие проблемы требуют решений?» Определяем и документируем требования конечного пользователя системы. Какие ожидания есть у нашего потребителя и как мы можем их осуществить? Можем ли мы это сделать вообще?

2. Планирование

Нужно ответить на вопрос «Что мы хотим сделать?» Этот вопрос может вдохновить на понимание юнит-экономики плана (затраты и выгоды), факторов снижения рисков и ожидаемых стоимостей. По аналогии с планированием отпуска, нужно будет разложить вещи и подумать о том, что следует взять с собой. Определяем, что делаем и какие проблемы решаем. Ставим цели, выясняем, какие ресурсы нам нужны для реализации проекта. Изучаем рынок и конкурентов, прорабатываем альтернативные варианты разработки продукта.

3. Проектирование и дизайн

К этому этапу уже нужно знать требования продукта и в целом понимать чего вы хотите, и прежде чем приступить к написанию кода, этого понимания должно быть достаточно для ответа на следующий вопрос: «Как мы добьемся наших целей?» Иначе говоря, вам необходимо понять, что именно вы оптимизируете и проектировать соответствующе. Определяем элементы системы, ее компоненты, уровень безопасности, архитектуру, интерфейсы, типы данных. Рисуем дизайн, обсуждаем, проектируем.

4. Разработка ПО

Этап процесса создания продукта. На этом этапе вы стремитесь не столько отвечать на вопросы, сколько произвести результаты, или, говоря точнее, вам необходимо склоняться к действиям и создать прототип или систему, испытать которую смогут другие. Пишем код, настраиваем систему под определенные требования и функции. К концу фазы система готова к установке и запуску.

5. Тестирование

Этот этап регулирует обеспечение качественной работы продукта. По завершению этого этапа вы должны будете в состоянии обеспечить рабочее состояние продукта. Отслеживайте ошибки и неточности, выслушивайте чужие точки зрения, и глубоко погружайтесь в вопрос с целью поиска тормозящих выход финального продукта ошибок. Проверяем, получили мы в итоге то, что хотели, или же результаты работы оказались другими. Тестируем продукт автоматизированными тестами, командой, предлагаем поработать с системой потенциальным пользователям. Определяем дефекты и недостатки в работе системы и устраняем их.

6. Развертывание

Этап использования финального продукта. Возьмите ваш продукт и пользуйтесь им. Предложите заинтересованным сторонам из первого этапа пользоваться вашим продуктом в естественных условиях. одготовка и выпуск обновлений, оценка производительности системы, замена/деактивация устаревших компонентов.

Стадии разработки ПО

Стадии разработки ПО — это этапы, которые проходят команды разработчиков ПО, прежде чем программа станет доступной для широко круга пользователей. Разработка ПО начинается с первоначального этапа разработки (стадия «пре-альфа») и продолжается стадиями, на которых продукт дорабатывается и модернизируется. Финальным этапом этого процесса становится выпуск на рынок окончательной версии программного обеспечения («общедоступного релиза»).

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

  • Пре-альфа
  • Альфа
  • Бета
  • Релиз-кандидат
  • Релиз
  • Пост-релиз