Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М1-1_Тема-5_Жизненный цикл программных изделий.doc
Скачиваний:
8
Добавлен:
25.11.2019
Размер:
297.98 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

5.5. Спиральная модель жизненного цикла программного изделия

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

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

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

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

Недостаток спиральной модели состоит в том, что невозможно заранее определить, сколько версий потребуется, то есть, срок окончания и стоимость работ, но качество программного изделия будет лучше, чем при каскадной модели.