Модель прототипирования

Рис. Модель прототипирования

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

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

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

Модель протипирования обладает целым рядом преимуществ:

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

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

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

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

5. Прототип представляет собой формальную спецификацию, воплощенную в программный продукт;

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

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

8. Возможность возникновения противоречий между разработчиками и заказчиками сведена к минимуму;

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

Кроме указанных достоинств модели прототипирования присущ и целый ряд недостатков:

1. Решение сложных задач может отодвигаться на будущее;

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

3. Прототипирование может неоправданно затянуться;

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

Модель прототипирования рекомендуется применять в следующих случаях:

1. Требования к программному продукту заранее неизвестны;

2. Требования не постоянны или неудачно сформулированы;

3. Требования необходимо уточнить;

4.

5. Нужна проверка концепции;

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

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

8. Разработчики не уверены в том, какое решение следует выбрать.