Преимущества каскадной модели жизненного цикла

Преимущества каскадной модели жизненного цикла thumbnail

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

Нетрудно заметить, что каскадная модель имеет множество преимуществ, если ее использовать в проекте, для которого она достаточно приемлема. Ниже перечислены эти преимущества:

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

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

  • в основе модели лежит последовательная линейная структура, в результате чего каждая попытка вернуться на одну или две фазы назад, чтобы исправить какую-либо проблему или недостаток, приведет к
    значительному увеличению затрат и сбою в графике;
  • пользователи не могут убедиться в качестве разработанного продукта до оконча­ния всего процесса разработки. Они не имеют возможности оценить качество, ес­ли нельзя увидеть готовый продукт
    разработки;
  • у пользователя нет возможности постепенно привыкнуть к системе. Процесс обуче­ния происходит в конце жизненного цикла, когда ПО уже запущено в эксплуатацию;
  • каждая фаза является предпосылкой для выполнения последующих действий, что превращает такой
    метод в рискованный выбор для систем, не имеющих аналогов, так как он не поддается гибкому моделированию;
  • для каждой фазы создаются результативные данные, которые по его завершению считаются
    замороженными. Это означает, что они не должны изменяться на сле­дующих этапах жизненного цикла продукта. Если элемент результативных данных какого-либо этапа изменяется (что встречается весьма
    часто), на проект окажет негативное влияние изменение графика, поскольку ни модель, ни план не были рассчитаны на внесение и разрешение изменения на более поздних этапах жиз­ненного цикла;
  • все требования должны быть известны в начале жизненного цикла. Модель не рассчитана на
    динамические изменения в требованиях на про­тяжении всего жизненного цикла, так как получаемые данные “замораживаются”.
  • возникает необходимость в жестком управлении и контроле, поскольку в модели не предусмотрена
    возможность модификации требований;
  • модель основана на документации, а значит, количество документов может быть избыточным;
  • весь программный продукт разрабатывается за один раз. Нет возможности раз­бить
    систему на части.

____________________________________________________

Преимущества V-образной модели

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

  • в модели предусмотрены аттестация и верификация всех внешних и внутренних полученных данных, а не только самого программного продукта;
  • в V-образной модели определение требований выполняется перед разработкой проекта системы, а проектирование ПО — перед разработкой компонентов;
  • модель определяет продукты, которые должны быть получены в результате про­цесса разработки, причем каждые полученные данные должны подвергаться тестированию;
  • благодаря модели менеджеры проекта может отслеживать ход процесса разработ­ки, так как в данном случае вполне возможно воспользоваться временной шкалой, а завершение каждой фазы является
    контрольной точкой;
  • модель проста в применении.

Недостатки V-образной модели

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

_____________________________________

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

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

  • спиральная модель разрешает пользователям “увидеть” систему на ранних этапах;
  • эта модель разрешает пользователям активно принимать участие при планирова­нии, анализе рисков, разработке, а также при выполнении оценочных действий;
  • в модели предусмотрена возможность гибкого проектирования
  • реализованы преимущества инкрементной модели, а именно выпуск инкрементов,
  • здесь не ставится цель выполнить невозможное — довести конструкцию до совершенства;
  • обратная связь по направлению от пользователей к разработчикам выполняется с высокой частотой и на ранних этапах модели, что обеспечивает создание нужного продукта высокого
    качества;
  • повышается продуктивность благодаря использованию пригодных для повторного использования свойств;
  • повышается вероятность предсказуемого поведения системы с помощью уточнения поставленных целей;
  • при использовании спиральной модели не нужно распределять заранее все необходимые для выполнения проекта финансовые ресурсы;

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

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

Читайте также:  Стадии жизненного цикла ис управление требованиями

–          модель имеет усложненную структуру, поэтому
может быть затруднено ее применение разработчиками, менеджерами и заказчиками;

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

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

–          большое количество промежуточных стадий может
привести к необходимости в обработке внутренней дополнительной и внешней документации;

–          использование модели может оказаться
дорогостоящим и даже недопустимым по средствам, так как время, затраченное на планирование, повторное определение целей, выполнение анализа рисков и прототипирование, может быть чрезмерным;

–          при выполнении действий на этапе вне процесса
разработки возникает необходи­мость в переназначении разработчиков;

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

Источник

    К основным преимуществам каскадной
    модели относятся:

    1. стабильность требований в течение
      всего жизненного цикла разработки;

    2. возможность последовательного устранения
      возникающих сложностей;

    3. определенность и понятность шагов
      модели и простота ее применения;

    4. упрощение возможности осуществления
      планирования, контроля и управления
      проектом;

    5. доступность для понимания заказчиками;

    6. эффективность для проектов с четкими
      и понятными, но трудно реализуемыми
      требованиями;

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

        1. Недостатки каскадной модели жизненного цикла

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

    1. сложность четкого формулирования
      требований в начале жизненного цикла
      и невозможность их динамического
      изменения на его протяжении;

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

    3. непригодность промежуточного продукта
      для использования;

    4. невозможность гибкого моделирования
      систем, не имеющих аналогов;

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

    6. недостаточное участие пользователя в
      создании системы – только в самом
      начале (при разработке требований) и в
      конце (во время приемочных испытаний);

    7. невозможность предварительной оценки
      качества системы пользователем;

    8. проблемность финансирования проекта,
      связанная со сложностью единовременного
      распределения больших денежных средств.

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

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

    1. при разработке проектов с четкими,
      неизменяемыми в течение ЖЦ требованиями,
      понятными реализацией и техническими
      методиками;

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

    3. при разработке проекта, связанного с
      созданием и выпуском новой версии уже
      существующего продукта или системы;

    4. при разработке проекта, связанного с
      переносом уже существующего продукта
      на новую платформу;

    5. при выполнении больших проектов, в
      которых задействовано несколько больших
      команд разработчиков.

      1. V-образная модель жизненного цикла разработки программных средств и систем

    Основное назначение V-образной модели
    – обеспечение планирования тестирования
    системы на ранних стадиях проекта.

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

    V-образная модель представляет собой
    разновидность каскадной модели. Она
    так же имеет последовательную структуру
    цикла разработки. Каждый шаг начинается
    после завершения предыдущего шага (в
    классической V-образной
    модели).

    Однако в V-образной модели выделены
    связи между шагами, предшествующими
    программированию, и соответствующими
    видами тестирования и испытаний.

    Рисунок 2 .5 изображает вариант V-образной
    модели, адаптированный к работам и
    задачам процесса разработки, определенного
    в СТБ ИСО/МЭК 12207-2003.

    На этапе анализа требований к системе
    разрабатывается план ввода в действие
    и обеспечения приемки.

    На этапе проектирования системы
    выполняется проектирование системной
    архитектуры и анализ требований к
    программным средствам. На данном этапе
    разрабатывается план квалификационных
    испытаний системы.

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

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

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

    Читайте также:  Понятие и задачи жизненного цикла семьи

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

    Процессы разработки планов испытаний
    и тестирования и подтверждения результатов
    соответствующих этапов (Рисунок 2 .5)
    обозначены пунктирными линиями.

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

    Преимущества каскадной модели жизненного цикла

    Рисунок
    2.5
    – V-образная модель жизненного цикла

    В V-образной модели
    предполагается, что все вспомогательные
    процессы включены.

    Существует ряд модификаций V-образной
    модели, обусловленных разновидностью
    обратных связей (рис. Рисунок 2 .6, Рисунок 2 .7).

    Рисунок
    2.6
    – Структура V-образной
    модели с организацией обратной связи
    между соседними этапами жизненного
    цикла

    Рисунок
    2.7
    – Структура V-образной
    модели с возможностью возвращаться от
    к любого этапа к любому.

    Источник

    Разработка программного обеспечения не похожа на традиционные инженерные науки. Методология — это то, что используется разработчиками, чтобы разбить работу на управляемые прогрессивные этапы, где каждый из них может быть проверен для обеспечения качества. Команды работают вместе с заказчиком над созданием готового программного продукта при помощи одной из методологий разработки программного обеспечения. Наиболее популярными из них считают спиральную, водопадную, или каскадную модель (Waterfall); RAD, или быструю разработку приложений; Agile Model, или гибкую и итеративную, или итерационную модель. Существуют и другие варианты, но в этой статье рассмотрим только водопадную, или каскадную, модель жизненного цикла проекта, а также исследуем ее преимущества и недостатки. Сразу же поясним, что она представляет собой последовательность определенных шагов, и ее особенность в том, что новый этап невозможен, пока предыдущий не был завершен.

    История возникновения водопадной модели

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

    Люди спорят

    Водопадная модель разработки существует уже более сорока лет. Она была впервые описана в 1970 году в статье У. Ройса как одна из самых первых официальных моделей для процесса разработки. Она описывалась как неэффективная для крупных проектов по разработке программного обеспечения, но никто не запрещал использовать ее для небольших. Почти полвека спустя после того, как она была открыта, эта методика все еще имеет значение в современном деловом мире. Ее называют устаревшей моделью и относятся с некоторым пренебрежением из-за устаревания традиционного проектного подхода к управлению. Но Waterfall является полезным и предсказуемым подходом, если требования фиксированы, хорошо документированы и ясны, если технология понятна и когда реализация проекта не занимает много времени. В этом случае каскадная модель жизненного цикла программного обеспечения может обеспечить более предсказуемый конечный результат для определенного бюджета, сроков и объема работы.

    Что такое водопадная модель разработки?

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

    преимущества каскадной модели жизненного цикла

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

    Описание каскадной модели

    По сравнению с другими методологиями, Waterfall больше других фокусируется на четком, определенном наборе шагов. Оригинальная модель состояла из пяти этапов. Часто она описывается как линейно-последовательная модель жизненного цикла. Это означает, что он следует простой структуре фаз, где результаты каждой фазы переходят на следующий уровень развития. Основные этапы – это:

    1. Сбор требований и создание документации.
    2. Дизайн и проектирование системы.
    3. Реализация.
    4. Тестирование и развертывание.
    5. Поддержка.

    преимущества каскадной модели жизненного цикла

    Команды должны выполнить весь шаг, прежде чем перейти к следующему, поэтому, если что-то не готово к определенному сроку, это сразу становится заметным. А также, в отличие от Six Sigma или Scrum, Waterfall не требует сертификации или специального обучения для менеджеров проектов или сотрудников.

    Критика каскадной модели

    Каскадная модель жизненного цикла информационной системы была подвергнута критике из-за ее негибкости после завершения каждого этапа, а также из-за задержки возможности клиента обеспечить обратную связь. Тем не менее эта методология может хорошо работать в небольших проектах с ограниченным бюджетом. Ее часто сравнивают с одной известной методологией жизненного цикла проекта – PRINCE2, которая была создана правительством Великобритании. Эта методология до сих пор используется в государственном секторе. Одно из ключевых различий между PRINCE2 и каскадной моделью жизненного цикла заключается в том, что в последней необходимо описание в письменной форме всех требований с самого начала, ведь впоследствии их будет трудно пересмотреть. До того момента, как начнется создания любого кода, они должны быть точно определены и зафиксированы. Это важное преимущество каскадной модели жизненного цикла.

    Читайте также:  Доу жизненный цикл документов

    Плюсы и минусы водопадной модели

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

    недостатки каскадной модели жизненного цикла

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

    Этап обсуждения требований

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

    каскадная модель жизненного цикла ис

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

    Недостатки каскадной модели жизненного цикла

    Потенциальные проблемы развития могут быть исследованы и решены на этапе проектирования. Альтернативные решения также прорабатываются и выбираются оптимальные. Все это происходит до начала реализации проекта. Многие организации ценят внимание к документации в самом начале, так как это также означает, что не должно быть сюрпризов с конечным продуктом. Но на практике редко получается обойтись без внесения правок. Клиентам часто бывает трудно осмыслить собственные потребности, оперируя лишь понятиями функциональной спецификации на этапе формирования требований. Это означает, что они могут изменить свое мнение, как только увидят конечный продукт. Такую проблему сложно решить. Иногда приложение приходится перерабатывать практически полностью.

    Отсутствие гибкости в каскадной модели

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

    каскадная модель жизненного цикла используется

    Корректировки, вызванные бизнес-планами или влиянием рынка, возможно, не были приняты во внимание при планировании. Также реализация проектов может занять больше времени по сравнению с использованием итерационной методологии, такой как Agile.

    Важные моменты при использовании водопадной методологии

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

    каскадная модель жизненного цикла информационной системы

    Для сравнения, в Agile development клиент может увидеть фрагменты рабочего кода, которые были созданы в процессе работы над проектом. В отличие от Scrum, который делит проекты на отдельные спринты, Waterfall всегда фокусируется на конечной цели. Если у вашей команды есть конкретная цель с четкой конечной датой, Waterfall устранит риск не уложиться в срок, когда вы будете работать над ней. Исходя из этих плюсов и минусов, разработка Waterfall обычно рекомендуется для проектов, которые, скорее всего, не изменятся либо нуждаются в новых разработках в течение жизненного цикла проекта.

    Источник