SDLC - спиральная модель
Спиральная модель сочетает в себе идею итеративного развития с систематическими, управляемыми аспектами модели водопада. Эта спиральная модель представляет собой комбинацию модели итеративного процесса разработки и модели последовательной линейной разработки, то есть каскадной модели с очень большим упором на анализ рисков. Это позволяет производить инкрементные выпуски продукта или инкрементное усовершенствование на каждой итерации по спирали.
Модель спирали - Дизайн
Спиральная модель состоит из четырех фаз. Программный проект многократно проходит эти фазы в итерациях, называемых спиралями.
Идентификация
Этот этап начинается со сбора бизнес-требований по базовой спирали. В последующих спиралях по мере созревания продукта на этом этапе выполняется идентификация системных требований, требований подсистем и требований к устройствам.
Этот этап также включает в себя понимание требований к системе путем непрерывного взаимодействия между заказчиком и системным аналитиком. В конце спирали продукт развертывается на определенном рынке.
дизайн
Этап проектирования начинается с концептуального проектирования в базовой спирали и включает архитектурный дизайн, логический дизайн модулей, физический дизайн продукта и окончательный дизайн в последующих спиралях.
Построить или построить
Фаза построения относится к производству фактического программного продукта на каждой спирали. В базовой спирали, когда продукт только продумывается, а дизайн разрабатывается, на этом этапе разрабатывается POC (Proof of Concept), чтобы получить отзывы клиентов.
Затем в последующих спиралях с большей ясностью требований и деталей дизайна создается рабочая модель программного обеспечения, называемая сборкой, с номером версии. Эти сборки отправляются заказчику для обратной связи.
Оценка и анализ рисков
Анализ рисков включает выявление, оценку и мониторинг технической осуществимости и рисков управления, таких как отставание от графика и перерасход средств. После тестирования сборки в конце первой итерации заказчик оценивает программное обеспечение и предоставляет отзывы.
На следующем рисунке представлена спиральная модель, в которой перечислены действия на каждой фазе.
На основе оценки клиента процесс разработки программного обеспечения переходит на следующую итерацию и впоследствии следует линейному подходу для реализации обратной связи, предложенной клиентом. Процесс итераций по спирали продолжается на протяжении всего срока службы программного обеспечения.
Применение спиральной модели
Спиральная модель широко используется в индустрии программного обеспечения, поскольку она синхронизируется с естественным процессом разработки любого продукта, то есть с обучением со зрелостью, которое предполагает минимальный риск как для заказчика, так и для фирм-разработчиков.
Следующие указатели объясняют типичное использование спиральной модели.
Когда есть бюджетные ограничения и оценка рисков важна.
Для проектов со средним и высоким уровнем риска.
Долгосрочное обязательство по проекту из-за возможных изменений экономических приоритетов по мере изменения требований со временем.
Заказчик не уверен в своих требованиях, что обычно бывает.
Требования сложны и требуют оценки для ясности.
Новая линейка продуктов, которая должна выпускаться поэтапно, чтобы получить достаточно отзывов клиентов.
В процессе разработки продукта ожидаются существенные изменения.
Модель спирали - плюсы и минусы
Преимущество спиральной модели жизненного цикла состоит в том, что она позволяет добавлять элементы продукта, когда они становятся доступными или известными. Это гарантирует отсутствие конфликта с предыдущими требованиями и дизайном.
Этот метод совместим с подходами, предусматривающими несколько сборок и выпусков программного обеспечения, что позволяет упорядоченно переходить к работе по обслуживанию. Еще один положительный аспект этого метода заключается в том, что спиральная модель вынуждает пользователей на раннем этапе участвовать в разработке системы.
С другой стороны, для завершения таких продуктов требуется очень строгое руководство, и есть риск запустить спираль в неопределенный цикл. Таким образом, дисциплина изменений и степень принятия запросов на изменение очень важны для успешной разработки и развертывания продукта.
Преимущества модели Spiral SDLC следующие:
Изменяющиеся требования могут быть выполнены.
Позволяет широко использовать прототипы.
Требования можно фиксировать более точно.
Пользователи рано видят систему.
Разработка может быть разделена на более мелкие части, а рискованные части могут быть разработаны раньше, что помогает лучше управлять рисками.
Недостатки модели Spiral SDLC следующие:
Управление более сложное.
О завершении проекта может быть не известно рано.
Не подходит для небольших проектов или проектов с низким уровнем риска и может быть дорогостоящим для небольших проектов.
Процесс сложный
Спираль может продолжаться бесконечно.
Большое количество промежуточных этапов требует чрезмерной документации.