Модель прототипирования
Рис. Модель прототипирования
Модель прототипитования позволяет создать прототип программного продукта до или в течение этапа составления требований к программному продукту. Потенциальные пользователи работают с этим прототипом, определяя его сильные и слабые стороны, о результатах сообщают разработчикам программного продукта. Таким образом, обеспечивается обратная связь между пользователями и разработчиками, которая используется для изменения или корректировки спецификации требований к программному продукту. В результате такой работы продукт будет отражать реальные потребности пользователей.
Жизненный цикл разработки программного продукта начинается с разработки плана проекта, затем выполняется быстрый анализ, после чего создаются база данных, пользовательский интерфейс и выполняется разработка необходимых функций. В результате этой работы получается документ, содержащий частичную спецификацию требований к программному продукту. Данный документ в дальнейшем является основой для итерационного цикла быстрого прототипирования.
В результате прототипирования разработчик демонстрирует пользователям готовый прототип, а пользователи оценивают его функционирование. После этого определяются проблемы, над устранением которых совместно работают пользователи и разработчики. Этот процесс продолжается до тех пор, пока пользователи не будут удовлетворены степенью соответствия программного продукта, поставленным перед ним требованиям. Затем прототип демонстрируют пользователям с целью получения предложений по его усовершенствованию, которые включаются в последовательные итерации до тех пор, пока рабочая модель не окажется удовлетворительной. После этого получают от пользователей официальное одобрение (утверждение) функциональных возможностей прототипа и выполняют его окончательное преобразование в готовый программный продукт.
Модель протипирования обладает целым рядом преимуществ:
1. Взаимодействие заказчика с разрабатываемой системой начинается на раннем этапе;
2. Благодаря реакции заказчика на прототип сводится к минимуму число неточностей в требованиях;
3. Снижается вероятность возникновения путаницы, искажения информации или недоразумений при определении требований к программному прдукту, что приводит к созданию более качественного программного продукта;
4. В процессе разработки всегда можно учесть новые, даже неожиданные требования заказчика;
5. Прототип представляет собой формальную спецификацию, воплощенную в программный продукт;
6. Прототип позволяет очень гибко выполнять проектирование и разработку, включая несколько итераций на всех фазах жизненного цикла разработки;
7. Заказчик всегда видит прогресс в процессе разработки программного продукта;
8. Возможность возникновения противоречий между разработчиками и заказчиками сведена к минимуму;
9. Уменьшается число доработок, что снижает стоимость разработки: возникающие проблемы решаются на ранних стадиях, что резко сокращает расходы на их устранение; заказчики принимают участие в процессе разработки на протяжении всего жизненного цикла и в конечном итоге в большей степени довольны результатом работы.
Кроме указанных достоинств модели прототипирования присущ и целый ряд недостатков:
1. Решение сложных задач может отодвигаться на будущее;
2. Заказчик может предпочесть получить прототип, а не законченную полную версию программного продукта;
3. Прототипирование может неоправданно затянуться;
4. Перед началом работы неизвестно, сколько итераций придется выполнить.
Модель прототипирования рекомендуется применять в следующих случаях:
1. Требования к программному продукту заранее неизвестны;
2. Требования не постоянны или неудачно сформулированы;
3. Требования необходимо уточнить;
4.
5. Нужна проверка концепции;
6. Существует потребность в пользовательском интерфейсе;
7. Выполняется новая, не имеющая аналогов разработка;
8. Разработчики не уверены в том, какое решение следует выбрать.