Жизненный цикл программного обеспечения – это временной период, начинающийся с момента начала создания программного продукта и заканчивающийся во время его полнейшего снятия с эксплуатации. Данный цикл является полноценным процессом построения и развития программного обеспечения. 
К программному обеспечению относятся компьютерные, как платные, так и бесплатные программы, используемые для управления компьютером. 

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

  • Каскадная;
  • Итерационная;
  • Спиральная.

Каскадная модель.

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

К основным достоинствам каскадной модели можно отнести:

  1. Законченный набор проектной документации, который отвечает основным требованиям полноты и согласованности по окончании каждого этапа разработки;
  2. Максимальная простота и доступность процесса разработки в целом.

Этапы проекта по каскадной модели: цель → проектирование → реализация → тестирование → внедрение → эксплуатация → сопровождение. 

На практике, последовательная модель фиксирует важные моменты жизненного цикла, такие, как: точное распределение рабочего процесса и поставленных задач, инициируя тем самым переход к следующему этапу, а так же малые циклы, в результате которых достигается компромиссное задание.

Итерационная модель.

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

Спиральная модель.

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

В современной спиральной модели существует набор контрольных точек:

  • Концепция системы;
  • Цели жизненного цикла и его архитектура;
  • Первый вариант создаваемой программы, которая подлежит эксплуатации;
  • Готовый продукт. 

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

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

По материалам www.besplatnyeprogrammy.net