Технология разработки программного обеспечения

6 МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА РАЗРАБОТКИ ПРОГРАММНОГО ПРОДУКТА
6.4 Модель прототипирования

Модель прототипирования (рис. 6.4) позволяет создать прототип ПП до или в течение этапа составления требований к ПП.

Рисунок 6.4 – Модель прототипирования

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

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

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

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

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

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

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

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

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