10789

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

Лекция

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

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

Русский

2013-04-01

62.44 KB

28 чел.

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

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

В первые годы практики программирования сначала записывался программный код, а затем происходила его отладка. Общепринятым считалось правило начинать работу не с разработки плана, а с общего ознакомления с продуктом. Без лишних формальностей можно было спроектировать, закодировать, отладить и протестировать ПО еще до того, как оно будет готово к выпуску. Это напоминало процесс, изображенный на рис. 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.  отсутствует возможность учесть переделку и итерации за рамками проекта.

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

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

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

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

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

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


 

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

42890. Дивідендна політика в банку та методи її реалізації 101.48 KB
  Дивідендна політика це сукупність заходів які здійснюються банком і спрямовані на прийняття рішень із нарахування та виплати дивідендів власникам акцій цього банку. Використання коштів на виплату дивідендів акціонерам перший із двох основних шляхів розподілу прибутку банку після оподаткування другим є спрямування коштів на інвестиції для подальшого розвитку банку що приводить до збільшення майбутніх грошових потоків. Перший підхід носить назву Теорія нарахування дивідендів за залишковим принципом . Іншими словами сума виплачених...
42891. Анализ финансового состояния ООО «Алексеевское» Горьковсвского района Омской области 170.8 KB
  Огромное значение в этом вопросе имеют такие понятия рыночной экономики как деловая активность платежеспособность и кредитоспособность предприятия порог рентабельности запас финансовой прочности запас безопасности степень риска эффект финансового рычага и др. В процессе снабженческой производственной сбытовой и финансовой деятельности происходит непрерывный процесс кругооборота капитала изменяется структура средств и источников их формирования потребность в финансовых ресурсах и как следствие финансовое состояние предприятия....
42892. Сестринский процесс при сахарном диабете 231.9 KB
  Сахарный диабет это группа метаболических обменных заболеваний характеризующихся гипергликемией которая является результатом дефектов секреции инсулина действия инсулина или обоих этих факторов. САХАРНЫЙ ДИАБЕТ Заболевание обусловленное абсолютной или относительной недостаточностью инсулина в организме и характеризующееся в связи с этим нарушением всех видов обмена веществ и в первую очередь обмена углеводов. Главной причиной развития...
42893. Дослідження цільових програм готельного обслуговування в Україна та світі 108.1 KB
  Ринок туристичних послуг€ провадиться описання характерних типів сегментованого ринку Любіцева О. Ринок туристичних послуг. Навчальний посібник “Уніфіковані технології готельних послуг†знадобився авторові при виділенні сукупності факторів що впливають на комплексність надання послуг у готельних підприємствах Лук‘янова Л.
42894. Моделирование динамических систем 652.61 KB
  Модель несёт системообразующую и смыслообразующую роль в научном познании. На модели изучают неизвестные свойства предметов. Модель стремится как можно более ярко выразить структуру явления, его главные аспекты; является концентрированным выражением сущности предмета или процесса, выделяя только его основные черты.
42895. Информационная система Проверка выполнения плана отгрузки продукции заказчикам 3.92 MB
  В процессе договорной компании составляется договор на поставку товаров. Договор состоит из двух частей: общей части, включающей в себя реквизиты заказчика и поставщика, предмет поставки и т. д. , и спецификации, в которой приводятся подробные сведения о товарах и сроках поставки. На основе договоров составляется финансовый план и разрабатываются цеховые помесячные планы выпуска товарной продукции.
42896. Методы и способы измерения толщины окисных пленок, диффузионных и эпитаксиальных слоев, их физические основы 851 KB
  Совершенствование технологии производства полупроводниковых материалов и приборов связано с необходимостью повышения точности и экспрессности лабораторного и промышленного контроля их электрофизических параметров. От качественных характеристик измерительной техники зависит уровень технологических потерь на различных этапах производства.
42897. Совершенствование учетной политики для целей налогообложения на примере ООО «Апекс» 144.45 KB
  Роль и значение налогового учета на предприятии 1.1 Понятие налогового учета цели задачи.2001 №110ФЗ 25 глава НК произошло законодательное закрепление ведения налогового учета. Налоговый учет доходов и расходов для целей исчисления налога на прибыль отделен от бухгалтерского учета и становится самостоятельным направлением учета фактов хозяйственной жизни организаций.
42898. The United States of America 52.88 KB
  The United States of America (also called the United States, the U.S., the USA, America, and the States) is a federal constitutional republic comprising fifty states and a federal district. The country is situated mostly in central North America, where its forty-eight contiguous states and Washington, D.C., the capital district, lie between the Pacific and Atlantic Oceans, bordered by Canada to the north and Mexico to the south. The state of Alaska is in the northwest of the continent, with Canada to the east and Russia to the west, across the Bering Strait.