Что такое прототипирование в программировании
Перейти к содержимому

Что такое прототипирование в программировании

  • автор:

Прототипирование программного обеспечения

Прототипи́рование программного обеспечения (от англ. prototyping) — этап разработки программного обеспечения (ПО), процесс создания прототи́па программы — макета (черновой, пробной версии) программы, обычно — с целью проверки пригодности предлагаемых для применения концепций, архитектурных и/или технологических решений, а также для представления программы заказчику на ранних стадиях процесса разработки.

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

Обзор

Процесс создания прототипа обычно состоит из шагов:

  1. Определение начальных требований
  2. Разработка первого варианта прототипа, который содержит только пользовательский интерфейс системы
  3. Изучение прототипа заказчиком и конечными пользователями, получение обратной связи о необходимых изменениях и дополнениях
  4. Переработка и улучшение прототипа: с учетом полученных замечаний и предложений изменяются как спецификации так и прототип, после этого шаги 3 и 4 могут повторяться.

Типы прототипирования

Прототипирование имеет множество различных вариантов. Тем не менее, все методы в какой-то степени основаны на двух основных типах.

Быстрое прототипирование

При быстром прототипировании (англ. rapid prototyping или throwaway prototyping) предполагается, что мы создаем макет, который на каком-то этапе будет оставлен («выброшен») и не станет частью готовой системы.

Основное преимущество такого подхода — в скорости: в ответ на свои требования заказчик почти сразу получает прототип интерфейса, и сразу может уточнить требования, до того как начато написание рабочего кода системы. Стоимость изменения требований на этом этапе очень низкая, поскольку нет кода, который нужно было бы переписывать.

Очень важно, чтобы такое прототипирование было выполнено в кратчайшие сроки, поскольку в данном случае тратятся время и ресурсы на код, который не будет в дальнейшем использован.

Быстрое прототипирование не обязательно выполняется в рамках той же платформы и тех же технологий, что и разрабатываемая система. Для прототипа графического интерфейса пользователя (GUI) могут использоваться как стандартные HTML-страницы, либо прототип может подготавливаться в программе, специально предназначенной для создания макетов (например: Axure RP, Microsoft Expression Blend и др.).

Эволюционное прототипирование

Эволюционное прототипирование (англ. evolutionary prototyping ) ставит своей целью последовательно создавать макеты системы, которые будут все ближе и ближе к реальному продукту.

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

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

В некоторых случаях, когда речь идет о продукте под определенную незанятую нишу, пользователи начинают использовать систему еще до того, как она полностью дописана, в ожидании готовой системы, поскольку «недописанная система — это лучше, чем её полное отсутствие».

Преимущества и недостатки

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 12 мая 2011.

Преимущества применения прототипирования:

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

Является спорным, применимо ли прототипирование, в той или иной форме, ко всем типам проектов. Однако, известно, что наибольшие преимущества прототипирование дает при разработке систем, имеющих развитый пользовательский интерфейс [источник не указан 1248 дней] . Системам, основная работа которых состоит в вычислениях, например, системам с интерфейсам командной строки, прототипирование почти не дает реальных преимуществ. Хорошие результаты дает прототипирование при проектировании интерфейсов человек-компьютер.

См. также

  • Быстрое прототипирование
  • Бумажное прототипирование

Ссылки

  • Статья «Прототипирование веб-сайтов. Собирая воедино»
  • HolyGrail. Инструмент прототипирования веб-сайтов
  • Статья «Инструменты быстрого прототипирования»
  • Статья «Интерактивное прототипирование с GUI Machine»
  • Разработка программного обеспечения
  • Прототипирование

Wikimedia Foundation . 2010 .

Прототипирование

Прототипи́рование (англ. prototyping ) — быстрая «черновая» реализация базовой функциональности для анализа работы системы в целом.

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

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

Прототипирование программных продуктов и компьютерных систем

Основная статья: Прототипирование программного обеспечения

Термин «прототипирование» активно используется в индустрии компьютерных систем. В английском языке используется термин «Software Prototyping».

Для прототипирования компьютерных (программных) систем чаще используют языки программирования высокого уровня абстракции (например: Java, Perl, Python, Haskell) и специализированные инструменты прототипирования (например: GUI Machine, Axure RP, Microsoft Expression Blend).

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

См. также

  • Быстрое прототипирование
  • Быстрая разработка программного обеспечения
  • Отладка программ (debugging)
  • Проектирование архитектуры
  • Жизненный цикл программного обеспечения
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 24 июня 2012.

  • Разработка программного обеспечения
  • Прототипирование

Wikimedia Foundation . 2010 .

Быстрое прототипирование алгоритма и оценка технических требований проекта

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

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

На большинство прототипов в МАТЛАБ у нас уходит примерно 2 недели работы специалиста — это гораздо меньше, чем решение договорных вопросов.

Запросить стоимость

Запросить пилотный проект

Задать вопрос

Поделиться

Отправить по email

Продукты
  • Купить MATLAB
  • Simulink
  • Сопровождение проектов
  • Строим стенд главного конструктора
Материалы
Контакты
  • info@exponenta.ru
  • 115088 г. Москва,
    2-й Южнопортовый проезд,
    д. 31, стр. 4
  • +7 (495) 009 65 85
Подписка
  • Подпишитесь на новости

Прототипно-ориентированное программирование

Прототипно-ориентированный стиль объектно-ориентированного программирования тот, в котором классы определены неявно, а производные классы получаются добавлением свойств и методов в экземпляр другого класса или, значительно реже, к пустому объекту.

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 12 нояб. 2023 г. by MDN contributors.

Your blueprint for a better internet.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *