Модель эволюционно - ускоренного прототипирования (преимущества, недостатки, область применения)
МОДЕЛЬПРОТОТИПИРОВАНИЯ 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!