Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рахмани / МИСПИСИТ ЭКЗ.pdf
Скачиваний:
0
Добавлен:
03.08.2025
Размер:
1.8 Mб
Скачать

5. Основные модели ЖЦ и рекомендации по их использованию

Существует несколько основных моделей ЖЦ ПО, каждая из которых подходит для определенных типов проектов:

Модели ЖЦ:

1.​ каскадная (водопадная); 2.​ эволюционная;

3.​ основанная на формальных преобразованиях; 4.​ итерационные (пошаговая и спиральная).

Каскадная модель (Waterfall):

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

Основной принцип каскадной модели: работа над проектом ведётся как над единым целым, фиксируются требования к системе в начале проекта;

переход со стадии на стадию осуществляется только после полного завершения работ на текущей стадии, процессы ЖЦ жестко привязываются к стадиям;

в конце каждой стадии должен быть готов исчерпывающий комплект документации.

Одним из главных недостатков является то, что она не учитывает динамику изменения требований на протяжении жизненного цикла.

Эволюционная модель:

Рекомендации: Используется в проектах с нечеткими требованиями, где нужна обратная связь от заказчика (например, стартапы или инновационные продукты).

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

Достоинства в сравнении с каскадной моделью:

1.​ Более полный учет требований к заказчику 2.​ Раннее обнаружение проблем и их разрешение по мере

возникновения; 3.​ Параллельное ведение работ внутри рабочего цикла

Недостатки:

1.​ Плохая документированность; 2.​ Запутанность создаваемого ПО и сложность внесения изменений;

3.​ Сложность планирования; годится лишь для небольших проектов.

Модель жизненного цикла, основанная на формальных преобразованиях.

Рекомендации: для проектов с высокими требованиями к надежности (авиация, медицина, ядерная энергетика).

Особенности:

1.​ Работа над проектом ведется как над единым целым.

2.​ Специальная нотация формального описания требований, а также эскизной и проектной архитектуры.

3.​ Кодирование и тестирование заменяется процессом преобразования формальных спецификаций в исходные тексты программ или в исполняемый код.

Достоинства: 1. формальные методы гарантируют соответствие ПО спецификациям требований, таким образом => вопросы надежности и безопасности решаются автоматически.

Недостатки: 1. Большие системы сложно описать формальными спецификациями; 2. Требуются специально подготовленные и высококвалифицированные разработчики; 3. Есть зависимость от средств разработки и нотации спецификаций.

Итерационная модель (делится на пошаговую и спиральную):

Рекомендации: Подходит для сложных проектов, где требования могут уточняться.

Особенности итерационных моделей:

1.​ Разработка делится на несколько итераций, в рамках каждой из которых выполняются действия по созданию части системы (на разных итерациях части разные).

2.​ Количество итераций в итерационных пошаговых моделях определяется заранее (в этом заключается важное отличие итерационных моделей от эволюционной).

3.​ Процессы не привязаны к определенным стадиям ЖЦ, что позволяет по мере необходимости, повторять некоторые работы, до тех пор, пока не будет получен нужный результат.

4.​ С каждой пройденной итерацией ПО наращивается, в него интегрируются новые разработанные компоненты.

Достоинства итерационных моделей (в сравнении с каскадной):

1.​ Полный учет требований заказчика, более полное его участие в проекте;

2.​ Равномерная нагрузка на группу разработчиков; 3.​ Раннее обнаружение проблем и их разрешение по мере

возникновения; 4.​ Уменьшение рисков на каждой итерации.

Недостатки итерационных моделей:

1.​ Сложность планирования; 2.​ Плохая документированность создаваемого ПО.

Особенности итерационной спиральной модели:

Сочетание итераций с анализом рисков на каждом этапе.

Рекомендации: Используется в крупных проектах с высокими рисками (например, военные или медицинские системы).

1.Общая структура действий на каждой итерации: планирование, определение задач, ограничений и вариантов решений, оценка предложенных решений и рисков, выполнение основных работ итерации и оценка их результатов;

2.Решение о начале новой итерации принимается на основе результатов предыдущей;

3.Возможно досрочное прекращение проекта в случае обнаружения его нецелесообразности;