Программная инженерия | Спиральная модель
Спиральная модель - одна из наиболее важных моделей жизненного цикла разработки программного обеспечения, которая обеспечивает поддержку управления рисками . В схематическом представлении он выглядит как спираль с множеством петель. Точное количество витков спирали неизвестно и может варьироваться от проекта к проекту. Каждый цикл спирали называется фазой процесса разработки программного обеспечения. Точное количество этапов, необходимых для разработки продукта, может варьироваться менеджером проекта в зависимости от рисков проекта. Поскольку менеджер проекта динамически определяет количество этапов, он играет важную роль в разработке продукта с использованием спиральной модели.
Радиус спирали в любой точке представляет собой затраты (стоимость) проекта на данный момент, а угловой размер представляет прогресс, достигнутый на текущем этапе.
На приведенной ниже диаграмме показаны различные фазы спиральной модели:
Каждая фаза спиральной модели разделена на четыре квадранта, как показано на рисунке выше. Функции этих четырех квадрантов обсуждаются ниже:
- Определение целей и определение альтернативных решений: требования собираются от клиентов, а цели определяются, разрабатываются и анализируются в начале каждого этапа. Затем в этом квадранте предлагаются альтернативные решения, возможные для фазы.
- Выявление и устранение рисков: во втором квадранте оцениваются все возможные решения, чтобы выбрать наилучшее из возможных. Затем выявляются риски, связанные с этим решением, и риски устраняются с использованием наилучшей стратегии. В конце этого квадранта создается прототип для наилучшего возможного решения.
- Разработка следующей версии продукта: в третьем квадранте выявленные функции разрабатываются и проверяются посредством тестирования. В конце третьего квадранта доступна следующая версия программного обеспечения.
- Обзор и планирование следующего этапа. В четвертом квадранте заказчики оценивают уже разработанную версию программного обеспечения. В конце концов, начинается планирование следующего этапа.
Управление рисками в спиральной модели
Риск - это любая неблагоприятная ситуация, которая может повлиять на успешное завершение программного проекта. Самая важная особенность спиральной модели - управление этими неизвестными рисками после начала проекта. Такое решение рисков легче осуществить, разработав прототип. Спиральная модель помогает справляться с рисками, предоставляя возможности для создания прототипа на каждом этапе разработки программного обеспечения.
В Модель прототипирования также поддерживает обработку рисков, но риски необходимо полностью идентифицировать до начала разработки проекта. Но в реальной жизни риск проекта может возникнуть после начала разработки, в этом случае мы не можем использовать модель прототипирования. На каждом этапе спиральной модели характеристики продукта датируются и анализируются, а риски в этот момент времени идентифицируются и устраняются посредством прототипирования. Таким образом, эта модель намного более гибкая по сравнению с другими моделями SDLC.
Почему спиральная модель называется метамоделью?
Спиральная модель называется метамоделью, потому что она включает в себя все другие модели SDLC. Например, спираль с одной петлей на самом деле представляет модель итеративного водопада. Спиральная модель включает пошаговый подход классической модели водопада. Спиральная модель использует подход модели прототипирования , создавая прототип в начале каждой фазы в качестве метода управления рисками. Кроме того, спиральную модель можно рассматривать как поддержку эволюционной модели - итерации по спирали можно рассматривать как эволюционные уровни, через которые строится вся система.
Преимущества спиральной модели :
Ниже приведены некоторые преимущества спиральной модели.
- Обработка рисков: проекты с множеством неизвестных рисков, возникающих в процессе разработки, в этом случае спиральная модель является лучшей моделью разработки, которой следует следовать, благодаря анализу рисков и управлению рисками на каждой фазе.
- Подходит для больших проектов: рекомендуется использовать спиральную модель в больших и сложных проектах.
- Гибкость требований: запросы на изменение требований на более позднем этапе могут быть точно включены с помощью этой модели.
- Удовлетворенность клиентов: заказчик может наблюдать за развитием продукта на ранней стадии разработки программного обеспечения и, таким образом, привык к системе, используя ее до завершения работы над продуктом.
Недостатки спиральной модели :
Ниже приведены некоторые основные недостатки спиральной модели.
- Сложность: спиральная модель намного сложнее других моделей SDLC.
- Дорого: модель Spiral не подходит для небольших проектов, так как она дорогая.
- Слишком большая зависимость от анализа рисков: успешное завершение проекта во многом зависит от анализа рисков. Без очень опытных специалистов невозможно разработать проект по этой модели.
- Сложность в управлении временем: поскольку количество этапов неизвестно в начале проекта, поэтому оценка времени очень трудна.
Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.