Разработка прототипа программного обеспечения — это один из этапов проектирования программного обеспечения, представляющий собой процесс формирования макетного или пробного варианта программы.
Введение
Разработка прототипа программного обеспечения является одним из этапов проектирования программного обеспечения. Прототип выступает как макет или пробная (черновая) версия программного продукта. Прототипы, как правило, выполняют имитацию только отдельных моментов программы, и они могут кардинально отличаться от заключительной версии продукта.
Целью создания прототипа является общая проверка пригодности найденных аспектов работы программы, архитектурной организации и решений в плане технологии. Прототипы обладают целым набором достоинств, а именно, разработчик программного обеспечения получает необходимую обратную связь от пользователей ещё при запуске проектных работ. Заказчик и проектировщик имеют возможность оценить соответствие программного обеспечения требованиям, предъявляемым к программе. То есть обратная связь от грядущих программных пользователей появляется как раз тогда, когда это наиболее важно. На начальной стадии проектных работ всегда имеется возможность внести коррективы в проект без ощутимых потерь.
Разработка прототипа программного обеспечения
Разработка прототипа программного обеспечения включает в себя следующие этапы:
- Формирование в чёткой и ясной форме исходных требований.
- Реализация начальной версии прототипа, содержащей лишь интерфейс пользователя системы.
- Просмотр прототипа заказчиками и конечными пользователями, которые высказывают все свои замечания и пожелания (возможно дополнения).
- На основе полученных пожеланий и замечаний выполняется доработка и коррекция прототипа, то есть может меняться и спецификация (начальные условия), и сам прототип. Этапы три и четыре могут быть повторены неоднократно.
Создание прототипа может иметь разные варианты, но главными, на которых базируются все методики, являются два типа:
- Быстрое создание прототипа (прототипирование).
- Создание прототипа эволюционным путём.
Быстрое создание прототипа предполагает создание макета, который в дальнейшем не будет применяться и будет составным компонентом конечного продукта. Главным достоинством этого метода является скорость работы. Заказчик высказывает свои пожелания и практически очень скоро может увидеть интерфейсный прототип, что позволяет приступить к уточнению пожеланий и требований ещё до начала реализации рабочих кодов программы. Цена коррекции выдвигаемых требований на данном шаге чрезвычайно низка, потому что ещё нет самой программы в виде кодов, которую надо корректировать. Чрезвычайно важным будет условие формирования прототипа в самые сжатые сроки, так как в таком варианте расходуются временные и ресурсные возможности на коды, не подлежащие дальнейшему использованию. Реализация быстрого прототипа может выполняться в рамках другой платформы и технологий, по сравнению с разрабатываемой системой. Если прототипом является графический пользовательский интерфейс, то возможно применение типовых HTML-страниц, или прототип может быть изготовлен в программном приложении, которое специально предназначено для реализации макетных версий прототипа. К примеру, это Axure RP, Microsoft Expression Blend и другие.
Создание прототипа эволюционным путём содержит в своей основе идею последовательного создания системных макетов, которые должны с каждым разом становиться ближе к требуемому результату. Главным преимуществом такого метода является наличие на каждом этапе работающей системы. Правда она пока не обладает всеми необходимыми согласно заданию параметрами, но приближается к идеалу при каждом шаге. И нет затрат ресурсных возможностей на коды, подлежащие удалению. Эволюционный метод создания прототипа можно использовать, если предполагается, что исходные требования к программе на момент старта проекта доподлинно неясны, и они станут формироваться в процессе реализации программы. То есть, на каждом шаге реализуются только те пожелания и требования, которые на данный момент очевидны и являются известными. Часто, в таком случае, проектировщики направляют все свои усилия на реализацию только тех программных модулей, задания на которые уже сформированы. А иногда, когда создаётся программный продукт для некоторой свободной ниши, потребители стремятся применять систему ещё до её полного завершения, оправдывая это тем, что незаконченная система всё-таки является лучшим вариантом, чем вообще ничего.
Преимущества и недостатки прототипа
Главным достоинством методики разработки прототипов, считается уменьшение временных и финансовых затрат на проектирование программного обеспечения за счёт того, что прототип позволяет выявить ещё на первых этапах ошибки или несоответствия в требованиях. Чем позже выполняются коррекции в исходных данных, тем они больше стоят. Поэтому процесс уточнения пожеланий и требований заказчиков на начальных этапах проектирования делает ниже суммарную себестоимость. Важным психологическим фактором также является привлечение заказчиков к процессу проектирования. Опробования прототипа дают возможность пользователю увидеть контуры будущей программы, а также влиять на её работу и использование, что снижает разногласия в видении программного продукта между проектировщиками и заказчиками.
Однако при этом применение прототипов имеет и некоторые риски:
- Возможна недостаточность анализа. Направленность действий проектировщиков на прототип, имеющий много ограничений, способна отвлечь их от полноформатного анализа исходных требований ко всей системе.
- Возможно смешивание в пользовательском понимании прототипа и конечного продукта. Пользователь может воспринять прототип как основание будущей программы, а не как элемент, подлежащий «выбросу».