logo

74. Модели жизненного цикла программного обеспечения.

Каскадная (водопадная) модель ЖЦ ПП

Свойством является завершение каждой фазы цикла верификацией и подтверждением, поэтому переход на следующий этап, осуществляется после полного завершения предыдущего этапа.

Отличительные особенности:

  1. Четкое разбиение всего процесса на этапы

  2. Разделение данных и процессов их обработки

  3. Возможность планирования срока завершения работ и соответствующих затрат

  4. Результаты каждого этапа- это технические решения, оформленные в виде полного комплекта документации.

  5. Использование процедурных языков прогр-я

Недостатки:

  1. Последовательное выполнение этапов

  2. Большие потери времени

  3. Требования ПО «заморожены» в виде ТЗ на все время его создания

  4. Модели, разрабатываемого ПО могут устаревать

  5. Выявление и устранение ошибок только на стадии тестирования, которое растягивается во времени или может не завершиться.

Итерационная - Модель с циклами обратной связи между этапами.

Преимущества:

  1. Межэтапные проектировки обеспечивают наименьшую трудоемкость и большую гибкость и надежность создания ПО

  2. Исправление ошибок не занимает много ресурсов

Недостатки:

  1. Время жизни каждого из этапов растягивается на весь период разработки

  2. Если в процессе разработки ПО меняются начальные требования, то модель не эффективна

Спиральная модель ЖЦ ПП

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

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

Плюсы:

  1. Быстро получаем работающий ПП

  2. Переход на следующий этап может быть завершен на незаконченном предыдущем этапе

  3. Возможность быстро вносить изменения

  4. Промежуточные итерации (проверка). Это снижает количество ошибок

  5. Возможность собирать метрические характеристики процесса, связанного с разработкой ПО

Минусы:

  1. Момент перехода на следующий этап

Решение: введение временных ограничений на каждый этап ЖЦ.

План составляется на основе статистических данных предыдущего проекта и опыта разработчика.

2) Большой объем документации по проекту, затрудняющий и документирование

3) Ограниченные возможности сборки системы из готовых компонент

4) Сложность переноса на другие платформы

Модели ЖЦ программного продукта: ROP (модель жизненного цикла UML)

Унифицированный процесс разработки ПО (USDP)

Эта модель впервые предложена в 1999 г тремя основателями ООП: Рамбо, Буч, Якобсон. Это итеративный процесс разработки, который классифицирует итерации по четырём группам:

  1. Начальные итерации – подготовительные итерации заинтересованными лицами

  2. Итерации проектирования – задают ключевые технические цели в выборе и утверждении архитектуры

  3. Итерации конструирования – представляют базовой продукт, но ещё требуется подготовить продукцию к выпуску

  4. Итерации перехода – подготовка к выпуску и отправка заказчику

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

USDP описывает 6 моделей проектирования:

  1. Аналитическая модель

  2. Модель проектирования

  3. Модель реализации

  4. Модель тестирования

  5. Модель развёртывания

  6. Модель использования

Достоинства:

  1. Сокращение времени выполнения проекта за счёт распланирования работ

  2. Простота внесения изменений

  3. Гибкая архитектура и переносимость

  4. Повторное использование программных компонентов

  5. Естественность описания

Недостатки:

  1. Излишняя многочисленность операций из вызовов

  2. Сложность при поиске операций в классе