SDLC. Этапы SDLC

Знаю, что есть такая штука как SDLC - Software Development Life Cycle - цикл жизни разработки программного обеспечения.

Кто-нибудь может мне простыми словами обьяснить что это за цикл жизни и какие в него входят этапы?

Software Development Life Cycle - это серия из шести основных фаз, через которые проходит любое программное обеспечение. По существу, этот "цикл", как по мне, больше всего напоминает каскадную модель разработки ПО.

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

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

Третья фаза - дизайн системы. Перед тем как приступать к непосредственной разработки программы, необходимо знать, что должно получиться в итоге, иметь какое-то визуальное представление. Затем, после "набросков", делается детальный дизайн с учётом всех функциональных и технических требований, как логических, так и физических.

Четвёртая фаза - разработки, внедрение и развёртывание. Когда команда уже имеет докладное представление о конечном продукте, всех требованиях и возможностях, она приступает к четвёртой фазе. Именно на этой фазе наконец-то пишется код и происходит подгонка "железа" под программный продукт, что б всё работало "чётенько".

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

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