10790

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

Реферат

Информатика, кибернетика и программирование

Спиральная модель ЖЦ ПО Спиральная модель воплощает в себе преимущества каскадной модели. При этом в нее также включены анализ рисков управление ими а также процессы поддержки и менеджмента. Здесь также предусмотрена разработка программного продукта при использовани...

Русский

2013-04-01

62.61 KB

31 чел.

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

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

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

Рис. 6.  Спиральная модель

Стадии разработки спиральной модели

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

  1.  определение целей, альтернативных вариантов и ограничений. 

Выполняется определение целей, таких как рабочая характеристика, выполняемые функции, возможность внесения изменений, решающих факторов достижения успехам и аппаратного/программного интерфейса. Определяются альтернативные способы реализации этой части продукта (конструирование, повторное использование, покупка, субдоговор, и т.п.). Определяются ограничения, налагаемые на применение альтернативных вариантов (затраты, график выполнения, интерфейс, ограничения, относящиеся к среде и др.). Создается документация, подтверждающая риски, связанные с недостатком опыта в данной сфере, применением новой технологии, жесткими графиками, плохо организованными процессами и т.д.;

  1.  оценка альтернативных вариантов, идентификация и разрешение рисков.

Выполняется оценка альтернативных вариантов, относящихся к целям и ограничениям. Выполняется определение и разрешение рисков (менеджмент рисков, методика экономически выгодного выбора источников разрешения, оценка остальных связанных с риском ситуаций, когда деньги могут быть потеряны из-за продолжения разработки системы (решения о прекращении/продолжении работ над проектом, и т.п.);

  1.  разработка продукта следующего уровня. 

Типичные действия, выполняемые на этой стадии, могут включать в себя создание проекта, критический анализ проекта, разработку кода, проверку кода, тестирование и компоновку продукта. Первая создаваемая версия продукта основывается на том, что попадает в поле зрения заказчика. Затем начинается фаза планирования: программа возвращается в исходное состояние с целью учета реакции клиента. Каждая последующая версия более точно воплощает требования заказчика. Степень вносимых изменений от одной версии программы к следующей уменьшается с каждой новой версией, что в конечном счете приводит к получению функциональной системы;

  1.  планирование следующей фазы. 

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

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

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

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

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

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

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

Преимущества спиральной модели

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

  1.  спиральная модель разрешает пользователям "увидеть" систему на ранних этапах, что обеспечивается посредством использования ускоренного прототипирования в жизненном цикле разработки ПО;
  2.  обеспечивается определение непреодолимых рисков без особых дополнительных затрат;
  3.  эта модель разрешает пользователям активно принимать участие при планировании, анализе рисков, разработке, а также при выполнении оценочных действий;
  4.  она обеспечивает разбиение большого потенциального объема работы по разработке продукта на небольшие части, в которых сначала реализуются решающие функции с высокой степенью риска, позволяющие устранить необходимость продолжения работы над проектом (таким образом, в случае необходимости становится возможным прекратить работу над проектом, и уменьшаются расходы);  
  5.  в модели предусмотрена возможность гибкого проектирования, поскольку в ней воплощены преимущества каскадной модели, и в тоже время, разрешены итерации по всем фазам этой же модели;
  6.  реализованы преимущества инкрементной модели, а именно выпуск инкрементов, сокращение графика посредством перекрывания инкрементов, рассортированных по версиям, и неизменяемость ресурсов при постепенном росте системы;
  7.  здесь не ставится цель выполнить невозможное — довести конструкцию до совершенства;
  8.  обратная связь по направлению от пользователей к разработчикам выполняется с высокой частотой и на ранних этапах модели, что обеспечивает создание нужного продукта высокого качества;
  9.  происходит усовершенствование административного управления над процессом обеспечения качества, правильностью выполнения процесса разработки, затратами, соблюдением графика и кадровым обеспечением, что достигается путем выполнения обзора в конце каждой итерации;
  10.  повышается продуктивность благодаря использованию пригодных для повторного использования свойств;
  11.  повышается вероятность предсказуемого поведения системы с помощью уточнения поставленных целей;
  12.  при использовании спиральной модели не нужно распределять заранее все необходимые для выполнения проекта финансовые ресурсы;
  13.  можно выполнять частую оценку совокупных затрат, а уменьшение рисков связано с затратами.

Недостатки спиральной модели

При использовании спиральной модели относительно проекта, для которого она не подходит в достаточной мере, проявляются следующие недостатки:

  1.  если проект имеет низкую степень риска или небольшие размеры, модель может оказаться дорогостоящей. Оценка рисков после прохождения каждой спирали связана с большими затратами;
  2.  модель имеет усложненную структуру, поэтому может быть затруднено ее применение разработчиками, менеджерами и заказчиками;
  3.  серьезная нужда в высокопрофессиональных знаниях для оценки рисков;
  4.  спираль может продолжаться до бесконечности, поскольку каждая ответная реакция заказчика на созданную версию может порождать новый цикл, что отдаляет окончание работы над проектом (принятие общего решения о прекращении процесса разработки);
  5.  большое количество промежуточных стадий может привести к необходимости в обработке внутренней дополнительной и внешней документации;
  6.  использование модели может оказаться дорогостоящим и даже недопустимым по средствам, так как время, затраченное на планирование, повторное определение целей, выполнение анализа рисков и прототипирование, может быть чрезмерным;
  7.  при выполнении действий на этапе вне процесса разработки возникает необходимость в переназначении разработчиков;
  8.  могут возникнуть затруднения при определении целей и стадий, указывающих на готовность продолжать процесс разработки на следующей итерации;
  9.  отсутствие хорошего средства или метода прототипирования может сделать использование модели неудобным;
  10.  в производстве использование спиральной модели еще не получило такого широкого масштаба, как применение других моделей.

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

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

  1.  когда создание прототипа представляет собой подходящий тип разработки продукта;
  2.  когда важно сообщить, каким образом будет происходит увеличение затрат, и подсчитать затраты, связанные с выполнением действий из квадранта риска;
  3.  когда организация обладает навыками, требуемыми для адаптации модели;
  4.  для проектов, выполнение которых сопряжено со средней и высокой степенью риска;
  5.  когда нет смыла браться за выполнение долгосрочного проекта из-за потенциальных изменений, которые могут произойти в экономических приоритетах, и когда такая неопределенность может вызвать ограничение во времени;
  6.  когда речь идет о применении новой технологии и когда необходимо протестировать базовые концепции;
  7.  когда пользователи не уверены в своих потребностях;
  8.  когда требования слишком сложные;
  9.  при разработке новой функции или новой серии продуктов;
  10.  когда ожидаются существенные изменения, например, при изучении или исследовательской работе;
  11.  когда важно сконцентрировать внимание на неизменяемых или известных частях, при чем сбор информации об изменяющихся частях еще не закончен;
  12.  в случае больших проектов;
  13.  для организаций, которые не могут себе позволить выделить заранее все необходимые для выполнения проекта денежные средства, и когда в процессе разработки отсутствует финансовая поддержка;
  14.  при выполнении затянувшихся проектов, которые могут вызывать раздражение у менеджеров и заказчиков;
  15.  когда преимущества разработки невозможно точно определить, а достижение успеха не гарантировано;
  16.  с целью демонстрации качества и достижения целей за короткий период времени;
  17.  когда в процесс вовлекаются новые технологии, такие как впервые применяемые объектно-ориентированные принципы;
  18.  при разработке систем, требующих большого объема вычислений, таких как систем, обеспечивающих принятие решений;
  19.  при выполнении бизнес-проектов, а также проектов в области аэрокосмической промышленности, обороны и инжиниринга, где использование спиральной модели уже получило популярность.


 

А также другие работы, которые могут Вас заинтересовать

51462. Понятие закрытой и открытой ринолалии, ее причины и проявления 15.32 KB
  Ринолалия - вид органической дислалии; расстройство звукопроизношения, образующееся в результате излишнего или недостаточного резонирования в носовой полости в процессе речи...
51463. Строение наружного уха, иннервация, его роль в слуховой функции. Особенности наружного уха у ребенка. Аномалии 15.7 KB
  Ввиду того что функциональное значение ушной раковины невелико, все ее заболевания, а также повреждения и аномалии развития, вплоть до полного отсутствия, не влекут за собой существенного нарушения слуха и имеют в основном лишь косметическое значение.
51464. Устройство и принцип работы трансформатора ТД-500 6.1 MB
  Сварочная дуга как потребитель энергии и источник питания образуют взаимосвязанную энергетическую систему. Дуга представляет собой мощный, длительно существующий электрический разряд, происходящий в атмосфере газов и паров металла между электродом и изделием или между двумя электродами, находящимися под напряжением.
51465. Барабанная полость. Формы, размеры и иннервация, ее содержимое и их роль в слуховой функции. Аномалии 15.4 KB
  Верхняя = передняя стенка пирамиды. Отделяет барабан.пер. от средней черепной ямки, где расположена височная доля мозга. У детей между пирамидой и чешуйчатой костью – щель (воспаление – осложнение отита – менингит).
51467. Средства разработки приложений в Visual Studio.NET 307.06 KB
  Необходимо отметить что процесс написания программ за последние 50 лет прошел путь от программирования в инструкциях процессора программирование в машинных кодах через программирование на низкоуровневых языках ассемблер до программирования на языках высокого уровня.
51468. Создание и выполнение Windowsпроектов с несколькими формами. Стандартные модули и модульная структура приложений в VB 843.34 KB
  Диалоговое окно Добавление нового элемента dd New Item предлагает несколько шаблонов доступных для использования в проектах. Окно Обозреватель решений Solution Explorer в списке компонент проекта содержит модуль который был добавлен в программу.
51469. Объектно-ориентированный подход в программировании. Теоретические основы объектно-ориентированного программирования 435.5 KB
  Теоретические основы объектно-ориентированного программирования Составные части объектного подхода Задачи для самостоятельного решения по теме Теоретические основы объектно-ориентированного программирования Тестовые задания по теме Теоретические основы объектно-ориентированного программирования...
51470. Средства объектно-ориентированного программирования в Visual Basic 187.42 KB
  С классами студенты сталкивались практически во всех предыдущих темах. Объектноориентированное программирование и проектирование построено на классах. Очень важно обратить внимание на то что у класса две различные роли: модуля и типа данных. Вторая роль класса не менее важна.