Модель эволюционно - ускоренного прототипирования (преимущества, недостатки, область применения)



МОДЕЛЬПРОТОТИПИРОВАНИЯ SLC

Fred Brook " The Mythical Man-Month " (1975г.)

«В большинстве проектов первая построенная система едва ли пригодна к употреблению. Она может быть слишком медленной, слишком объемной, неудобной в использовании или обладать всеми тремя перечисленными недостатками. Нет другого выбора, кроме как начать с самого начала, приложив все усилия, и построить модернизированную версию, в которой решались бы все три проблемы… Следовательно, вопрос менеджмента заключается не в том, создавать или нет экспериментальную систему, которой затем не воспользуются. Вы в любом случае так и сделаете. Единственный вопрос в том, нужно ли планировать создание продукта одноразового использования заранее или обещать поставить его заказчикам... »

"No Silver Bullet, the Essence and Accidents of Programming"

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

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

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

Эволюционным ускоренным прототипом является "легко поддающаяся модификации и расширению рабочая модель предполагаемой системы, не обязательно представляющая собой все свойства системы, благодаря которой пользователи данного приложения получают физическое представление о ключевых частях системы до ее непосредственной реализации; это — легко создаваемая, без труда поддающаяся модификации, максимально расширяемая, частично заданная рабочая модель основных аспектов предполагаемой системы" Джон Коннэлл (Connell) и Линда Шафер (Shafer)

 

Этапы структурного эволюционного прототипирования

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

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

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

o Затем начинается итерационный цикл быстрого прототипирования.

· n Разработчик проекта демонстрирует прототип, а пользователь оценивает его функционирование.

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

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

· nСоздание базы данных представляет собой первую из этих двух фаз.

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

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

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

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

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

o При разработке производственной версии программы, может понадобиться :

· nболее высокий уровень функциональных возможностей,

· n различные системные ресурсы,

· nнеобходимых для обеспечения полной рабочей нагрузки,

· nограничения во времени.

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

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

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

· взаимодействие заказчика с системой начинается на раннем этапе разработки;

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

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

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

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

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

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

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

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

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

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

Недостатки структурного эволюционного прототипирования

·  модель может быть отклонена из-за создавшейся среди консерваторов репутации о ней как о "разработанном на скорую руку" методе;

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

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

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

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

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

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

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

· прототипирование вызывает зависимость и может продолжаться слишком долго. Нетренированные разработчики могут попасть в так называемый цикл "кодирование — устранение ошибок" (code-and-fixcycle)

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

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

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

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

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

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

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

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

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

· осуществляются временные демонстрации;

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

· требуется уменьшить неточности в определении требований;

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

· алгоритмы или системные интерфейсы усложнены;

· требуется продемонстрировать техническую осуществимость, когда технический риск высок;

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

· осуществляется применение в комбинации с каскадной моделью: на начальном этапе - прототипирование, а на последнем - фазы каскадной модели;

· прототипирование всегда следует использовать вместе с элементами анализа и проектирования, применяемыми при объектно-ориентированной разработке.

 


Дата добавления: 2018-02-15; просмотров: 1294; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!