Спиральная+модель.

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

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

 * ==== спиральная модель разрешает пользователям "увидеть" систему на ранних этапах, что обеспечивается посредством использования ускоренного прототипирования в жизненном цикле разработки ПО; ====
 * ==== обеспечивается определение непреодолимых рисков без особых дополнительных затрат; ====
 * ==== эта модель разрешает пользователям активно принимать участие при планирова­нии, анализе рисков, разработке, а также при выполнении оценочных действий; ====
 * ==== она обеспечивает разбиение большого потенциального объема работы по разра­ботке продукта на небольшие части, в которых сначала реализуются решающие функции с высокой степенью риска, позволяющие устранить необходимость продолжения работы над проектом (таким образом, в случае необходимости становится возможным прекратить работу над проектом, и уменьшаются расходы); ====
 * ==== в модели предусмотрена возможность гибкого проектирования, поскольку в ней воплощены преимущества каскадной модели, и в тоже время, разрешены итерации по всем фазам этой же модели; ====
 * ==== реализованы преимущества инкрементной модели, а именно выпуск инкрементов, сокращение графика посредством перекрывания инкрементов, рассортированных по версиям, и неизменяемость ресурсов при постепенном росте системы; ====
 * ==== здесь не ставится цель выполнить невозможное — довести конструкцию до совершенства; ====
 * ==== обратная связь по направлению от пользователей к разработчикам выполняется с высокой частотой и на ранних этапах модели, что обеспечивает создание нужного продукта высокого качества; ====
 * ==== происходит усовершенствование административного управления над процессом обеспечения качества, правильностью выполнения процесса разработки, затратами, соблюдением графика и кадровым обеспечением, что достигается путем выполнения обзора в конце каждой итерации; ====
 * ==== повышается продуктивность благодаря использованию пригодных для повторного использования свойств; ====
 * ==== повышается вероятность предсказуемого поведения системы с помощью уточнения поставленных целей; ====
 * ==== при использовании спиральной модели не нужно распределять заранее все необходимые для выполнения проекта финансовые ресурсы; ====
 * ==== можно выполнять частую оценку совокупных затрат, а уменьшение рисков связано с затратами. ====

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

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

серьезная нужда в высокопрофессиональных знаниях для оценки рисков;

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

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

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

 itlab.unn.ru › MiniProjects/LCM/Conspect.doc