Разработка для конечных пользователей

редактировать

Разработка для конечных пользователей (EUD ) или Программирование для конечных пользователей (EUP ) относится к действиям и инструментам, которые позволяют конечным пользователям - людям, не являющимся профессиональными разработчиками программного обеспечения - программировать компьютеры. Люди, не являющиеся профессиональными разработчиками, могут использовать инструменты EUD для создания или изменения программных артефактов (описаний автоматизированного поведения) и сложных объектов данных без значительных знаний языка программирования. В 2005 году было подсчитано (с использованием статистики из Бюро статистики труда США), что к 2012 году в Соединенных Штатах будет более 55 миллионов разработчиков-конечных пользователей по сравнению с менее чем 3 миллионами профессиональных программистов. Существуют различные подходы EUD, и это активная тема исследования в области информатики и взаимодействия человека с компьютером. Примеры включают программирование на естественном языке, электронные таблицы, языки сценариев (особенно в офисном пакете или художественном приложении), визуальное программирование, программирование с помощью триггера и программирование на примере.

Самым популярным инструментом EUD является таблица. Из-за своего неограниченного характера электронные таблицы позволяют относительно неискушенным пользователям компьютеров писать программы, представляющие сложные модели данных, при этом защищая их от необходимости изучать языки программирования более низкого уровня. Поскольку они широко используются в бизнесе, навыки работы с электронными таблицами являются одними из самых полезных навыков для выпускников, и поэтому они наиболее востребованы. Только в Соединенных Штатах Америки насчитывается около 13 миллионов разработчиков, занимающихся программированием. с электронными таблицами

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

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

В последнее время возрос интерес к тому, как использовать EUD для поддержки разработки приложений Интернета вещей. В этой области программирование триггерного действия кажется многообещающим.

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

Содержание
  • 1 Платформы разработки с низким уровнем кода для конкретных приложений
  • 2 Определение
  • 3 Примеры
  • 4 Моделирование рентабельности
  • 5 Сотрудничество в разработке для конечных пользователей
  • 6 Критика
  • 7 См. Также
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки
Платформы разработки с низким уровнем кода для конкретных приложений

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

Определение

Lieberman et al. предлагают следующее определение:

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

Ko et al. предложите следующее определение:

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

Артефакты, определенные конечными пользователями, могут быть объектами, описывающими некоторое автоматизированное поведение или последовательность управления, такие как запросы к базе данных или правила грамматики, которые могут быть описаны с помощью парадигм программирования, таких как программирование путем демонстрации, программирование с примерами, визуальное программирование или макрос генерация. Они также могут быть параметрами, которые выбирают одно из альтернативных предопределенных вариантов поведения приложения. Другие артефакты разработки конечных пользователей могут также относиться к созданию пользовательского контента, такого как аннотации, которые могут быть или не интерпретироваться с помощью вычислений (т.е. могут обрабатываться соответствующими автоматическими функциями).

Примеры

Примеры разработки для конечных пользователей включают создание и изменение:

.

Моделирование рентабельности

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

В данном исследовании затраты определяются как сумма:

  • Технические затраты: цена технологии и усилия по ее установке
  • Стоимость обучения: время, необходимое для понимания технологии
  • Стоимость разработки: усилия по разработке приложений с использованием технологии
  • Стоимость тестирования и отладки: время, необходимое для проверки системы

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

  • Функциональность, предоставляемая технологией
  • Гибкость, позволяющая реагировать на новые требования
  • Удобство использования создаваемых приложений
  • В целом качество создаваемых приложений
Сотрудничество при разработке конечных пользователей

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

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

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

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

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

Критика

Комментаторы обеспокоены тем, что конечные пользователи не понимают, как тестировать и защищать свои приложения. Уоррен Харрисон, профессор информатики в Портлендском государственном университете, писал:

Просто непостижимо, что мы могли ожидать безопасности... от подавляющего большинства программных приложений, когда они написаны с небольшими знаниями или вообще с ними. общепринятых передовых практик, таких как определение перед написанием кода, систематическое тестирование и т. д.… Сколько существует книг X for Complete Idiots (где «X» - ваш любимый язык программирования)? Поначалу меня забавляла эта тенденция, но в последнее время мне стало неловко думать о том, где эти дилетанты применяют свои новые знания.

Эта точка зрения предполагает, что все конечные пользователи одинаково наивны, когда дело доходит до понимания программного обеспечения, хотя Плискин и Шовал утверждают, что дело обстоит не так, что опытные конечные пользователи способны разрабатывать конечные пользователи. Однако, по сравнению с опытными программистами, программисты-конечные пользователи редко имеют время или интерес к систематической и дисциплинированной деятельности по разработке программного обеспечения, что делает обеспечение качества артефакта программного обеспечения, созданного конечным пользователем, особенно сложным.

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

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

См. Также
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-19 10:11:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте