В 1975 году Фред Брукс в своей работе под названием "Легендарный человек-месяц" писал:
"В большинстве проектов первая построенная система едва ли пригодна к употреблению. Она может быть слишком медленной, слишком объемной, неудобной в использовании....
В случае, когда в проекте используется новая системная концепция или новая технология, разработчик вынужден построить систему, которой впоследствии не воспользуется, поскольку даже при наилучшем планировании невозможно предвидеть достижение нужного результата".
Эта идея построения экспериментальной, или прототипной системы привела к возникновению "эволюционной" модели быстрого прототипирования, и спиральной модели.
Самым тяжелым в разработке ПО является принятие однозначного решения о том, что именно необходимо построить, т.е. определение детальных технических требований. Следовательно, чрезвычайно важно при разработке клиентских программ – это итеративное извлечение и уточнение требований к продукту. Ведь на самом деле клиент не имеет представления о том, что именно он хочет получить.
Модель эволюционного прототипирования представлена на рис.1. Начало жизненного цикла разработки помещено в центре эллипса. Пользователь и программист разрабатывают предварительный план проекта, на основе предварительных требований. Используя методы ускоренного анализа, пользователь и программист совместно работают над определением требований и спецификаций для важнейших частей воображаемой системы. Планирование проекта — это первое действие на этапе быстрого анализа, с помощью которого получают документ, описывающий в общих чертах примерные графики и результативные данные.
Рис. 1. Модель эволюционного прототипирования
Начало жизненного цикла разработки помещено в центре эллипса. Пользователь и программист разрабатывают предварительный план проекта, руководствуясь при этом предварительными требованиями. Используя методы ускоренного анализа, пользователь и программист совместно работают над определением требований и спецификаций для важнейших частей воображаемой системы. Планирование проекта — это первое действие на этапе быстрого анализа, с помощью которого получают документ, описывающий в общих чертах примерные графики и результативные данные.
Второе действие — это быстрый анализ, во время которого на основе опросов пользователей создаётся частичная спецификация требований, содержащая только те базовые свойства, которые необходимы для удовлетворения основных требований заказчика, и создаётся прототип.