10789

Каскадная модель ЖЦ ПО

Лекция

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

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

Русский

2013-04-01

62.44 KB

29 чел.

Каскадная модель ЖЦ ПО

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

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

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

Выходы

Входы

Кодирование и тестирование

Делать, пока не будет сделано

Рис. 2.  Модель процесса "делать, пока, не будет сделано”

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

Рис. 3. Классическая каскадная модель с обратной связью

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

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

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

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

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

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

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

Приведенная ниже характеристика представляет собой краткое описание каждой фазы каскадной модели (включая фазы интеграции):

  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.  ход выполнения проекта легко проследить с помощью использования временной шкалы (или диаграммы Гантта), поскольку момент завершения каждой фазы используется в качестве стадии.

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

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

  1.  в основе модели лежит последовательная линейная структура, в результате чего каждая попытка вернуться на одну или две фазы назад, чтобы исправить какую-либо проблему или недостаток, приведет к значительному увеличению затрат и сбою в графике;
  2.  она не может предотвратить возникновение итераций между фазами, которые так часто встречаются при разработке ПО, поскольку сама модель создается согласно стандартному циклу аппаратного инжиниринга;
  3.  она не отображает основное свойство разработки ПО, направленное на разрешение задач. Отдельные фазы строго связаны с определенными действиями, что отличается от реальной работы персонала или коллективов;
  4.  она может создать ошибочное впечатление о работе над проектом. Выражение типа "35 процентов выполнено" — не несет никакого смысла и не является показателем для менеджера проекта;
  5.  интеграция всех полученных результатов происходит внезапно в завершающей стадии работы модели. В результате такого единичного прохода через весь процесс, связанные с интегрированием проблемы, как правило, дают о себе знать слишком поздно. Следовательно, проявятся не обнаруженные ранее ошибки или конструктивные недостатки, повысить степень риска при небольшом задаче времени на восстановление продукта;
  6.  у клиента едва ли есть возможность ознакомиться с системой заранее, это происходит лишь в самом конце жизненного цикла. Клиент не имеет возможности воспользоваться доступными промежуточными результатами, и отзывы пользователей нельзя передать обратно разработчикам. Поскольку готовый продукт не доступен вплоть до окончания процесса, пользователь принимает участие в процессе разработки только в самом начале — при сборе требований, и в конце — во время приемочных испытаний;
  7.  пользователи не могут убедиться в качестве разработанного продукта до окончания всего процесса разработки. Они не имеют возможности оценить качество, если нельзя увидеть готовый продукт разработки;
  8.  у пользователя нет возможности постепенно привыкнуть к системе. Процесс обучения происходит в конце жизненного цикла, когда ПО уже запущено в эксплуатацию;
  9.  проект можно выполнить, применив упорядоченную каскадную модель, и привести его в соответствие с письменными требованиями, что, однако, не гарантирует его запуска в эксплуатацию;
  10.  каждая фаза является предпосылкой для выполнения последующих действий, что превращает такой метод в рискованный выбор для систем, не имеющих аналогов, так как он не поддается гибкому моделированию;
  11.  для каждой фазы создаются результативные данные, которые по его завершению считаются замороженными. Это означает, что они не должны изменяться на следующих этапах жизненного цикла продукта. Если элемент результативных данных какого-либо этапа изменяется (что встречается весьма часто), на проект окажет негативное влияние изменение графика, поскольку ни модель, ни план не были рассчитаны на внесение и разрешение изменения на более поздних этапах жизненного цикла;
  12.  все требования должны быть известны в начале жизненного цикла, но клиенты редко могут сформулировать все четко заданные требования на этот момент разработки. Модель не рассчитана на динамические изменения в требованиях на протяжении всего жизненного цикла, так как получаемые данные "замораживаются". Использование модели может повлечь за собой значительные затраты, если требования в недостаточной мере известны или подвержены динамическим изменениям во время протекания жизненного цикла;
  13.  возникает необходимость в жестком управлении и контроле, поскольку в модели не предусмотрена возможность модификации требований;
  14.  модель основана на документации, а значит, количество документов может быть избыточным;
  15.  весь программный продукт разрабатывается за один раз. Нет возможности разбить систему на части. В результате взятых разработчиками обязательств разработать целую систему за один раз могут возникнуть проблемы с финансированием проекта. Происходит распределение больших денежных средств, а сама модель едва ли позволяет повторно распределить средства, не разрушив при этом проект в процессе его выполнения;
  16.  отсутствует возможность учесть переделку и итерации за рамками проекта.

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

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

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

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

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

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


 

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

26489. Бланки документов и их оформление 49 KB
  Бланк стандартный лист бумаги на котором заранее воспроизводится информация об организации авторе от имени которого издается документ. Для организации ее структурного подразделения должностного лица устанавливают следующие виды бланков документов: общий бланк; бланк письма; бланк конкретного вида документа кроме письма. Реквизиты общего бланка документа: герб для организаций имеющих на это право; эмблема организации при наличии герба не проставляется; наименование вышестоящей организации если она имеется; наименование...
26490. ОТВЕТЫ К ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ 10 КЛАССА ПРОФИЛЬНОГО КУРСА «ОФИСНЫЕ ТЕХНОЛОГИИ» 34.5 KB
  При адресовании документа должностному лицу инициалы указываются перед фамилией. При адресовании документа физическому лицу указывают фамилию получателя затем почтовый адрес. При подписании документа несколькими должностными лицами их подписи располагают одна под другой в последовательности соответствующей занимаемой должности. При подписании документа несколькими лицами равных должностей их подписи располагают на одном уровне.
26491. Многокритериальные задачи принятия решения 18.13 KB
  Смысл обоих подходов состоит в том что один из критериев оценки альтернатив переводится в ограничение. В ряде случаев можно использовать отношение двух указанных критериев. Третий подход к синтезу критериев стоимости и эффективности приводит к построению паретовского множества. Парето развивая исследования эджварда ввел в экономику понятия оптимальности для случая нескольких критериев.
26492. Принятие решений в задачах с детерминированными целочисленными параметрами 24.47 KB
  Первая категория задачи с неделимостями. Вторая категория комбинаторные задачи. задачи теории расписаний упорядочение планирование согласование. Третья категория задачи сводящиеся к задачам дискретного программирования.
26493. Основные понятия теории расписаний 29.8 KB
  Задачи теории расписаний делятся на детерминированные и стохастические. К детерминированным задачам теории расписаний относятся задачи упорядочения планирования и согласования. В этом случае задачи детерминированного календарного планирования сводятся к задачам упорядочения. В некоторых классификациях к задачам теории расписания могут быть отнесены например задачи распределения в которых множество работ с заданными временными характеристиками необходимо распределить по приборам у которых заранее установлены параметры производительности.
26494. Применение метода динамического программирования в задачах принятия решений 26.55 KB
  Концептуально динамическое программирование применяется для анализа систем которые характеризуются следующими признаками: процесс функционирования системы включает последовательные этапы текущие этапы i конечный этап m. предполагается что для системы выполняется принцип отсутствия последействия. Суть этого принципа заключается в том что состояние Si зависит только от состояния системы на предыдущем этапе то есть на Si1 а так же зависит от управляющего воздействия Ui. И не зависит от предыдущих состояний системы и предыдущих...
26495. Основные типы вероятностных задач и критериев оценки решения 30.14 KB
  Например допустим рассматривается детерминированная система на вход которой через равные промежутки времени Т1 поступают работы.ожидания времени простоя на стоимость 1ой единицы времени их работы зарплата отнесенная к суммарному фонду рабочего времени. 2 Математический аппарат используемый при разработке модели ПР Для конструирования вероятностных моделей ПР примем аппарат случайных процессов: Процесс называется случайным если для каждого момента времени его состояние представляет собой случайную величину. Если переходы между...
26496. Применение теории массового обслуживания в задачах принятия решений 22.61 KB
  Характеристика дисциплин обслуживания заявок. Основные задачи теории массового обслуживания состоят в следующем: вопервых в определении законов распределения количества заявок в очереди на обслуживание вовторых оптимизация пропускной способности обслуживающих приборов втретьих определение рациональных дисциплин выбора заявок из очереди. Таким образом СМО это концептуальная модель основными элементами которой являются источники заявок содержание заявки обслуживающие приборы очередь заявок дисциплина обслуживания заявок.
26497. Марковские модели принятия решений 2.13 MB
  Системному аналитику или управляющему алгоритму предоставлено право выбора одной из общих стратегий Z. И каждая из этих стратегий соответствует матрицам переходных вероятностей Rij где элементы матрицы задают вероятность перехода из состояния i в котором находилась система в момент времени tn1 в состояние j в следующий момент времени. Необходимо для каждого из моментов принятия решений выбрать такую последовательность общих стратегий Z которая будет обеспечивать максимальный суммарный выигрыш от функционирования системы за N этапов. Если...