SDLC - спиральная модель

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

Модель спирали - Дизайн

Спиральная модель состоит из четырех фаз. Программный проект многократно проходит эти фазы в итерациях, называемых спиралями.

Идентификация

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

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

дизайн

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

Построить или построить

Фаза построения относится к производству фактического программного продукта на каждой спирали. В базовой спирали, когда продукт только продумывается, а дизайн разрабатывается, на этом этапе разрабатывается POC (Proof of Concept), чтобы получить отзывы клиентов.

Затем в последующих спиралях с большей ясностью требований и деталей дизайна создается рабочая модель программного обеспечения, называемая сборкой, с номером версии. Эти сборки отправляются заказчику для обратной связи.

Оценка и анализ рисков

Анализ рисков включает выявление, оценку и мониторинг технической осуществимости и рисков управления, таких как отставание от графика и перерасход средств. После тестирования сборки в конце первой итерации заказчик оценивает программное обеспечение и предоставляет отзывы.

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

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

Применение спиральной модели

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

Следующие указатели объясняют типичное использование спиральной модели.

  • Когда есть бюджетные ограничения и оценка рисков важна.

  • Для проектов со средним и высоким уровнем риска.

  • Долгосрочное обязательство по проекту из-за возможных изменений экономических приоритетов по мере изменения требований со временем.

  • Заказчик не уверен в своих требованиях, что обычно бывает.

  • Требования сложны и требуют оценки для ясности.

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

  • В процессе разработки продукта ожидаются существенные изменения.

Модель спирали - плюсы и минусы

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

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

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

Преимущества модели Spiral SDLC следующие:

  • Изменяющиеся требования могут быть выполнены.

  • Позволяет широко использовать прототипы.

  • Требования можно фиксировать более точно.

  • Пользователи рано видят систему.

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

Недостатки модели Spiral SDLC следующие:

  • Управление более сложное.

  • О завершении проекта может быть не известно рано.

  • Не подходит для небольших проектов или проектов с низким уровнем риска и может быть дорогостоящим для небольших проектов.

  • Процесс сложный

  • Спираль может продолжаться бесконечно.

  • Большое количество промежуточных этапов требует чрезмерной документации.