Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управление программными проектами. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
860 Кб
Скачать

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

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

в ней не учтены итерации между фазами;

в модели не предусмотрено внесение требований динамических изменений на разных этапах жизненного цикла;

тестирований требований в жизненном цикле происходит слишком поздно:

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

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

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

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

3.3.3 Модель прототипирования жизненного цикла разработки ПО

Концепция построения экспериментальной системы привела к возникновению структурной, эволюционной модели быстрого прототипирования (RAD).

Прототипирование – это процесс построения рабочей модели системы. Прототип – это эквивалент экспериментальной модели в мире аппаратного обеспечения.

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

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

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

ускоренный прототип регулируется при использовании кода, в результате чего

61

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

проектирования, тестирования и т.д. Следовательно, она получила название

«структурной модели быстрого прототипирования», как показано на рисунке 3.5.

Производная разработка проекта

 

Итеративное прототипирование

 

 

 

Быстрый

 

 

 

 

анализ

 

 

Утвежде-

Функции

План

Создание

 

базы

Подгонка

ние

 

проекта

 

 

 

данных

 

 

 

 

 

 

 

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

 

 

 

 

интерфейс

 

 

Эксплуатация и сопровождение

Рисунок 3.5 – Структурная эволюционная модель быстрого прототипирования

Начало жизненного цикла разработки помещено в центре эллипса.

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

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

62

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

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

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

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

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

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

в процессе разработки можно внести новые требования пользователя;

модель позволяет выполнять гибкое проектирование и разработку;

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

благодаря меньшему объему доработок уменьшаются затраты на разработку;

обеспечивается управление рисками;

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

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

Среди недостатков структурной эволюционной модели быстрого прототипирования можно выделить следующие:

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

63

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

прототипирование вызывает зависимость и может продолжаться слишком

долго;

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

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

Менеджер проекта может быть уверен в необходимости применения

структурной эволюционной модели быстрого прототипирования, если:

требования не известны заранее;

существует потребность в разработки пользовательских интерфейсов;

нужна проверка концепции:

выполняется новая не имеющая аналогов разработка;

требования подвержены быстрым изменениям;

прототипирование всегда следует использовать вместе с элементами анализа

ипроектирования, применяемыми при объектно-ориентированной разработке.

3.3.4 Модель быстрой разработки приложений жизненного цикла разработки

ПО

В 1980-х в ответ на ограничивающий характер формальных методов, таких как каскадная модель, компания IBMначала использовать метод быстрой разработки приложений (RapidApplicationDevelopment, RAD). Благодаря методу

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

64

Модель RAD, показанная на рисунке 3.6, демонстрирует этапы процесса разработки жизненного цикла и отображает участие пользователя на всех этапах

(кривая линия) этого процесса:

этап планирования требований – сбор требований выполняется при использовании рабочего метода, называемого совместным планированием требований (Jointrequirementsplanning, JRP);

пользовательское описание – совместное проектирование приложений

(Jointapplicationdesign, JAD), используется с целью привлечения пользователей;

фаза конструирования – эта фаза объединяет в себе детализированное проектирование, кодирование и тестирование, а также поставку программного продукта заказчику;

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

 

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

 

по разработке

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

 

Трудозатраты

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

 

описание

 

 

Перевод на

 

Планирование

 

новую систему

 

требований

 

эксплуатации

 

 

 

В

 

 

Рисунок 3.6 – Модель быстрой разработки приложений

 

65

При использовании модели RAD относительно проекта, для которого она в

достаточной степени приемлема, проявляются следующие преимущества:

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

требуется меньшее количество специалистов;

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

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

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

в модели используются следующие принципы и инструментальные средства моделирования: деловое моделирование, моделирование данных, моделирование процесса, генерирование приложения;

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

Если эта модель применяется для проекта, для которого она не подходит в

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

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

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

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

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

существует риск, что работа над проектом никогда не будет завершена, в

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

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

Менеджер проекта может быть уверен в том, что модель RADподходит для применения в конкретной ситуации в случае, если имеются следующие условия:

66

в системах, которые поддаются моделированию;

в системах, требования для которых в достаточной мере известны;

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

при выполнении проектов, разработка которых должна быть выполнена в сокращенные сроки;

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

когда затраты и соблюдение графика не являются самым важным вопросом;

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

при невысокой степени технических рисков;

в информационных системах.

3.4 Адаптированные модели жизненного цикла разработки ПО

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

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

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

67

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

Параллельный инжиниринг. Процесс параллельного инжиниринга

(Concurrentengineering, CE) заключается в создании продуктов более высокого качества за меньший период времени. Основной принцип использования этого метода заключается в том, что все аспекты жизненного цикла проекта должны учитываться в процессе от проектирования до производства как можно раньше.

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

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

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

более быстрая разработка ПО, уменьшение стоимости проекта за счет уменьшения объема, более высокий уровень удовлетворения со стороны участников проекта,

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

Объектно-ориентированное быстрое прототипирование. Малейшие отличия между структурным быстрым прототипированием, быстрой разработкой

68

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

сбора требований, проектирования, разработки, тестирования и действий по внедрению.

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

3.5 Подгонка модели жизненного цикла разработки ПО

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

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

Стадии процесса выбора жизненного цикла разработки ПО и его последующей подгонки можно определить следующим образом:

– ознакомиться с различными моделями;

69

просмотреть и проанализировать возможные виды работ;

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

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

сформулировать набор фаз и действий;

определить внутренние и внешние производимые продукты;

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

определить действия по обзору, инспектированию, верификации и аттестации, а также стадии проекта;

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

Часто применяемый метод подгонки жизненных циклов заключается в

комбинировании моделей. Пример подобной подгонки представлен на рисунке 3.7.

Резервное копирование

Внешнее снабжение и

на случай вирусной

интеграция

Исправления

V-образная

Удаление места на

Каскадная

диске

 

Восстановление файлов

Прототипирование

Управление памятью

RAD

Рисунок 3.7 – Выпуск продукта в компании по разработке ПО с применением

комбинированных моделей

 

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]