Каскадная модель жизненного цикла программного изделия

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

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

 
 

 


Рис. 5.2. Каскадная модель жизненного цикла программного изделия

 

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

Для программного изделия использование такой модели в чистом виде затруднительно по нескольким причинам.

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

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

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

Тем не менее, эта модель до сих пор используется. Так ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания» основан именно на такой модели.