Модели жизненного цикла ПО

Содержание

Слайд 2

ПОНЯТИЕ Модель жизненного цикла программного обеспечения – структура, содержащая процессы действия

ПОНЯТИЕ

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

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

МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА Основные модели жизненного цикла ПО: Каскадная модель V-образная

МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА

Основные модели жизненного цикла ПО:
Каскадная модель
V-образная модель
Макетирование
Инкрементная модель
Спиральная модель

Слайд 4

КАСКАДНАЯ МОДЕЛЬ

КАСКАДНАЯ МОДЕЛЬ

Слайд 5

ПРЕИМУЩЕСТВА КАСКАДНОЙ МОДЕЛИ широкая известность и простота модели; упорядоченность преодоления сложностей

ПРЕИМУЩЕСТВА КАСКАДНОЙ МОДЕЛИ

широкая известность и простота модели;
упорядоченность преодоления сложностей и хорошо

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

НЕДОСТАТКИ КАСКАДНОЙ МОДЕЛИ в основе модели лежит последовательная линейная структура; невозможность

НЕДОСТАТКИ КАСКАДНОЙ МОДЕЛИ

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

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

ОБЛАСТЬ ПРИМЕНЕНИЯ И ЕГО КРИТЕРИИ Критерии применения каскадной модели: требования к

ОБЛАСТЬ ПРИМЕНЕНИЯ И ЕГО КРИТЕРИИ

Критерии применения каскадной модели:
требования к ПО и

их реализация максимально четко определены и понятны;
неизменяемое определение про­дукта и вполне понятные технические методики;
если компания имеет опыт построения подобного рода систем.
Область применения:
сложные системы с большим количеством задач вычислительного характера,
системы управления производственными процессами повышенной опасности и др.
Слайд 8

V-ОБРАЗНАЯ МОДЕЛЬ

V-ОБРАЗНАЯ МОДЕЛЬ

Слайд 9

ПРЕИМУЩЕСТВА V-ОБРАЗНОЙ МОДЕЛИ в модели особое значение придается планированию, направленному на

ПРЕИМУЩЕСТВА V-ОБРАЗНОЙ МОДЕЛИ

в модели особое значение придается планированию, направленному на верификацию

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

НЕДОСТАТКИ V-ОБРАЗНОЙ МОДЕЛИ с ее помощью непросто справиться с параллельными событиями;

НЕДОСТАТКИ V-ОБРАЗНОЙ МОДЕЛИ

с ее помощью непросто справиться с параллельными событиями;
в ней

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

ОБЛАСТЬ ПРИМЕНЕНИЯ V-ОБРАЗНОЙ МОДЕЛИ V-образная модель лучше всего срабатывает тогда, когда

ОБЛАСТЬ ПРИМЕНЕНИЯ V-ОБРАЗНОЙ МОДЕЛИ

V-образная модель лучше всего срабатывает тогда, когда вся

информация о требованиях доступна заранее.
Использование модели эффективно в том случае, когда доступными являются ин­формация о методе реализации решения и технология, а персонал владеет необходи­мыми умениями и опытом в работе с данной технологией.
V-образная модель – это отличный выбор для систем, в которых требуется высокая надежность.
Слайд 12

МАКЕТИРОВАНИЕ Макетирование (прототипирование) – это процесс создания модели разрабатываемого программного продукта.

МАКЕТИРОВАНИЕ

Макетирование (прототипирование) – это процесс создания модели разрабатываемого программного продукта.
Модель может

принимать один из трех видов:
бумажный макет или «электронный» макет, который представляет человеко-машинный интерфейс;
работающий макет (выполняет только часть требуемых функций);
существующая программа (характеристики которой должны быть улучшены).
Слайд 13

ПРОЦЕСС МАКЕТИРОВАНИЯ

ПРОЦЕСС МАКЕТИРОВАНИЯ

Слайд 14

ПРЕИМУЩЕСТВА МАКЕТИРОВАНИЯ конечный пользователь может "увидеть" системные требования в процессе их

ПРЕИМУЩЕСТВА МАКЕТИРОВАНИЯ

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

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

принимая участие в процессе разработки на протяжении всего ЖЦ, пользователи в

принимая участие в процессе разработки на протяжении всего ЖЦ, пользователи в

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

ПРЕИМУЩЕСТВА МАКЕТИРОВАНИЯ

Слайд 16

НЕДОСТАТКИ МАКЕТИРОВАНИЯ требуется активное участие заказчика; на заказчиков может оказать негативное

НЕДОСТАТКИ МАКЕТИРОВАНИЯ

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

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

КРИТЕРИИ ПРИМЕНЕНИЯ МАКЕТИРОВАНИЯ требования не известны заранее, не постоянны или могут

КРИТЕРИИ ПРИМЕНЕНИЯ МАКЕТИРОВАНИЯ

требования не известны заранее, не постоянны или могут быть

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

ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА Инкрементная разработка представляет собой процесс частичной реализации

ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА

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

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

ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖЦ

ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖЦ

Слайд 20

ПРЕИМУЩЕСТВА ИНКРЕМЕНТНОЙ МОДЕЛИ в результате выполнения каждого инкремента получается функциональный продукт;

ПРЕИМУЩЕСТВА ИНКРЕМЕНТНОЙ МОДЕЛИ

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

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

НЕДОСТАТКИ ИНКРЕМЕНТНОЙ МОДЕЛИ определение полной функциональной системы должно осуществляться в начале

НЕДОСТАТКИ ИНКРЕМЕНТНОЙ МОДЕЛИ

определение полной функциональной системы должно осуществляться в начале ЖЦ,

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

КРИТЕРИИ ПРИМЕНЕНИЯ ИНКРЕМЕНТНОЙ МОДЕЛИ если большинство требований можно сформулировать заранее, но

КРИТЕРИИ ПРИМЕНЕНИЯ ИНКРЕМЕНТНОЙ МОДЕЛИ

если большинство требований можно сформулировать заранее, но их

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

СПИРАЛЬНАЯ МОДЕЛЬ Спиральная модель отображает базовую концепцию, которая заключается в том,

СПИРАЛЬНАЯ МОДЕЛЬ

Спиральная модель отображает базовую концепцию, которая заключается в том, что

каждый цикл представляет собой набор операций, которому соответствует такое же количество стадий, как и в модели каскадного процесса.
Слайд 24

ПРЕИМУЩЕСТВА СПИРАЛЬНОЙ МОДЕЛИ позволяет пользователям "увидеть" систему на ранних этапах; она

ПРЕИМУЩЕСТВА СПИРАЛЬНОЙ МОДЕЛИ

позволяет пользователям "увидеть" систему на ранних этапах;
она обеспечивает разбиение

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

НЕДОСТАТКИ СПИРАЛЬНОЙ МОДЕЛИ модель имеет усложненную структуру, поэтому может быть затруднено

НЕДОСТАТКИ СПИРАЛЬНОЙ МОДЕЛИ

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

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

КРИТЕРИИ ПРИМЕНЕНИЯ СПИРАЛЬНОЙ МОДЕЛИ когда создание прототипа представляет собой подходящий тип

КРИТЕРИИ ПРИМЕНЕНИЯ СПИРАЛЬНОЙ МОДЕЛИ

когда создание прототипа представляет собой подходящий тип разработки

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

RAD МОДЕЛЬ Пользовательское описание Планирование требований Конструирование Перевод на новую систему

RAD МОДЕЛЬ

Пользовательское описание

Планирование требований

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

Перевод на новую систему эксплуатации

Время

Трудозатраты по разработке

Пользователь

Слайд 28

ПРЕИМУЩЕСТВА RAD время цикла разработки сокращается благодаря использо­ванию мощных инструментальных средств;

ПРЕИМУЩЕСТВА RAD

время цикла разработки сокращается благодаря использо­ванию мощных инструментальных средств;
требуется меньшее

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

ПРЕИМУЩЕСТВА RAD основное внимание переносится с документации на код, причем при

ПРЕИМУЩЕСТВА RAD

основное внимание переносится с документации на код, причем при этом

справед­лив принцип "получаете то, что видите" (What you see is what you get, WYSIWYG);
в модели используются следующие принципы и инструментальные средства моделиро­вания:
деловое моделирование (методы передачи информации, место генерирования информационных потоков, кем и куда направляется, каким образом обрабатывается);
моделирование данных (происходит идентификация объектов данных и атрибутов, а также взаимосвязей);
моделирование процесса (выполняется преобразование объек­тов данных);
генерирование приложения (методы четвертого поколения);
повторное использование компонент уже существующих программ.
Слайд 30

НЕДОСТАТКИ RAD непостоянное участие пользователя может негативно сказаться на конечном продукте;

НЕДОСТАТКИ RAD

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

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