Полезная статья? Пожалуйста, поставьте "+"
Языки программирования и методы трансляции - Содержание
Каскадная модель (или как ее еще называют, водопадная) (рис.1) рассматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Эта модель происходит от структуры диаграммы Ганта для поэтапного процесса. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Результаты, полученные в ходе выполнения одного этапа, используются для выполнения следующего этапа. Марри Кантор [7] отмечает ряд важных аспектов, характерных для каскадной модели. Каскадная схема включает несколько важных операций, применимых ко всем проектам: - составление плана действий по разработке системы;
- планирование работ, связанных с каждым действием;
- применение операции отслеживания хода выполнения действий с контрольными
этапами.
При разработке относительно простых программных систем каждое приложение представляло собой единый, функционально и информационно независимый блок. Для разработки такого типа приложений эффективным оказался каскадный способ. Каждый этап завершался после полного выполнения и документального оформления всех предусмотренных работ. В результате, можно выделить следующие положительные стороны применения каскадного подхода: - результат каждого этапа – законченный документ, отвечающий критериям полноты и непротиворечивости;
- заранее заданная последовательность этапов упрощает задачу планирования и позволяет вести контроль сроков завершения каждого этапа.
Каскадный подход хорошо зарекомендовал себя при построении простых систем, когда в самом начале разработки можно достаточно точно и полно сформулировать все требования к системе. Основным недостатком этого подхода является то, что, как показывает практика, реальный процесс создания сложной системы никогда полностью не укладывается в такую жесткую схему, из-за большой динамики корректировок и уточнений, которые могут поступать как в результате дальнейшего развития проекта, так и извне, в качестве новых требований и уточнений [9]. Порой система настолько сложна, что невозможно четко и однозначно определить все требования на начальном этапе, поэтому постоянно возникает потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений, которые в каскадной модели должны согласовываться и утверждаться в конце каждого этапа и оставаться неизменными на все время разработки. Это в конечном итоге часто приводит к получению не той системы, которая реально необходима. В результате, реальный процесс создания программной системы оказывается соответствующим поэтапной модели с промежуточным контролем. "Основное заблуждение каскадной модели состоит в предположениях, что проект проходит через весь процесс один раз, архитектура хороша и проста в использовании, проект осуществления разумен, а ошибки в реализации устраняются по мере тестирования. Иными словами, каскадная модель исходит из того, что все ошибки будут сосредоточены в реализации, а потому их устранение происходит равномерно во время тестирования компонентов и системы» [10]. В результате реальный процесс создания программной системы оказывается соответствующим процессной модели.
|