Модель с использованием прототипа
Довольно часто пользователь-заказчик формулирует только общие цели программного изделия и не определяет исчерпывающим образом все требования. В этом случае разработка прототипа программного изделия зачастую оказывается наилучшей моделью процесса разработки программного изделия. В прототипе стремятся реализовать решение основных проблемных вопросов, поставленных заказчиком, и продемонстрировать ему их реализацию.
Главная цель создания прототипа — уточнение требований пользователя и проверка основных идей проектируемого изделия. В ряде случаев прототип позволяет определить осуществимость проекта. При таком подходе разработчик может создать прототип, моделирующий программное изделие, в одной из трех форм:
1. Прототип на бумаге или модель, реализованная на ПЭВМ для отображения человеко-машинного взаимодействия в форме, понятной заказчику.
2. Функционирующий прототип, который реализует некоторое подмножество функций, требуемых от изделия.
3. Комплекс программ, выполняющих часть или все функции, указанные заказчиком, которые затем могут быть уточнены или улучшены, а возможно, и расширены в дальнейшей разработке.
Прототипы обычно игнорируют требования качества, надежности, удобства сопровождения и т.п. Процесс разработки прототипа начинается со сбора требований, а заказчик определяет только наиболее очевидные из требований. Затем осуществляется быстрое проектирование и конструирование прототипа, работа которого демонстрируется заказчику для уточнения требований. Процесс доводки прототипа — итерационный, поскольку на каждой итерации происходит уточнение требований. Обычно прототип используется в качестве основы для инженерного проектирования сложных программных продуктов большого размера, в которых предполагается реализовать новые функции.