Jump to content

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

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

Самым популярным инструментом EUD является электронная таблица . [4] [5] Благодаря своей неограниченной природе электронные таблицы позволяют относительно неискушенным пользователям компьютеров писать программы, представляющие сложные модели данных, одновременно защищая их от необходимости изучать языки программирования более низкого уровня. [6] Из-за их широкого использования в бизнесе навыки работы с электронными таблицами являются одними из наиболее полезных навыков для выпускников и, следовательно, наиболее востребованы. [7] Только в Соединенных Штатах Америки насчитывается около 13 миллионов разработчиков конечных пользователей, программирующих с помощью электронных таблиц. [8]

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

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

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

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

Платформы разработки с низким уровнем кода для конкретных приложений

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

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

Определение

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

Либерман и др. предложить следующее определение: [12]

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

Ко и др. предложить следующее определение: [13]

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

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

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

Моделирование затрат и выгод

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

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

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

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

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

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

Сотрудничество в разработке для конечных пользователей

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

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

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

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

Помимо платформ для совместной работы над программированием, таких как GitHub, которые в основном используются опытными разработчиками из-за их крутой кривой обучения, сотрудничество между разработчиками конечных пользователей часто происходит на вики-платформах, где делятся созданными программными артефактами. Разработка для конечных пользователей также часто используется для создания сценариев автоматизации или интерактивных руководств для обмена практическими знаниями. Примеры такого приложения включают CoScripter. [29] и ХИЛК. [30] В таких приложениях пользователь может создавать сценарии для задач, используя псевдоестественный язык или программируя путем демонстрации. Пользователи могут загрузить сценарий в хранилище сценариев в стиле вики. В этой вики-странице пользователи могут просматривать доступные сценарии и расширять существующие сценарии для поддержки дополнительных параметров, обработки дополнительных условий или работы с дополнительными объектами.

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

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

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

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

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

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

См. также

[ редактировать ]
  1. ^ Скаффиди, К.; Шоу, М.; Майерс, Б. (1 сентября 2005 г.). «Оценка количества конечных пользователей и программистов-конечных пользователей». Симпозиум IEEE 2005 г. по визуальным языкам и человеко-ориентированным вычислениям (VL/HCC'05) . стр. 207–214. дои : 10.1109/VLHCC.2005.34 . ISBN  978-0-7695-2443-6 . S2CID   14608501 .
  2. ^ Литтл, Грег и Роберт С. Миллер. « Перевод ключевых слов в исполняемый код ». Материалы 19-го ежегодного симпозиума ACM по программному обеспечению и технологиям пользовательского интерфейса. АКМ, 2006.
  3. ^ Брукман, Эми и Элизабет Эдвардс. « Должны ли мы использовать знания естественного языка? Анализ ошибок пользователей на языке программирования, работающем на естественном языке ». Материалы конференции SIGCHI «Человеческий фактор в вычислительных системах». АКМ, 1999.АПА
  4. ^ Перейти обратно: а б Бернетт, Маргарет М .; Скаффиди, Кристофер (январь 2024 г.). Разработка для конечных пользователей . Interaction-Design.org. в «Энциклопедии взаимодействия человека и компьютера».
  5. ^ Хорнсби, Питер (3 августа 2009 г.). «Предоставление пользователям возможности создавать собственное программное обеспечение» . UX имеет значение . Проверено 31 января 2014 г.
  6. ^ Авраам, Р.; Бернетт, М; Эрвиг, М. (2009). «Программирование электронных таблиц». Энциклопедия компьютерных наук и техники Wiley . стр. 1–10.
  7. ^ Крук, С. и Шитц, С., 2001. Теория точности электронных таблиц. Архивировано 18 августа 2018 г. в Wayback Machine . Журнал образования информационных систем.
  8. ^ Скаффиди, К., Шоу, М. и Майерс, Б., 2005. Оценка количества конечных пользователей и программистов-конечных пользователей. Архивировано 12 сентября 2011 г. в Wayback Machine . Симпозиум IEEE 2005 г. по визуальным языкам и человеко-ориентированным вычислениям (VL/HCC'05), стр. 207–214.
  9. ^ Патерно Ф., 2013, Разработка программного обеспечения ISRN, Разработка конечных пользователей: обзор новой области расширения прав и возможностей людей
  10. ^ Гиани, Г., Манка, М., Патерно, Ф., Санторо, К.: Персонализация контекстно-зависимых приложений с помощью правил триггерных действий. Транзакции ACM по взаимодействию компьютера и человека, том 24, выпуск 2, статья N.14, апрель 2017 г.
  11. ^ Платформы разработки с низким кодом
  12. ^ Либерман Х., Патерно Ф., Кланн М. и Вульф В. (2006). Развитие конечных пользователей: новая парадигма. В: Развитие конечных пользователей, Либерман Х., Патерно Ф. и Вульф В. (ред.), Springer Нидерланды, 2006, сер. Серия «Взаимодействие человека и компьютера», том. 9, глава 1, стр. 1-7, два : 10.1007/1-4020-5386-X_1
  13. ^ Ко, Эндрю Дж.; Авраам, Робин; Беквит, Лора; Блэквелл, Алан; Бернетт, Маргарет; Эрвиг, Мартин; Скаффиди, Крис; Лоуренс, Джозеф; Либерман, Генри (01 апреля 2011 г.). «Состояние разработки программного обеспечения для конечных пользователей». АКМ Компьютер. Сурв . 43 (3): 21:1–21:44. CiteSeerX   10.1.1.159.8597 . дои : 10.1145/1922649.1922658 . ISSN   0360-0300 . S2CID   9435548 .
  14. ^ Х. Либерман, Б. А. Нарди и Д. Райт. Grammex: Определение грамматик на примере. На конференции ACM по человеческому фактору в вычислительных системах (резюме, демонстрации) (CHI '98), Лос-Анджелес, Калифорния, США, страницы 11–12. АКМПресс, апрель 1998 г.
  15. ^ Мария Франческа Костабиле, Даниэла Фольи, Пьеро Муссио, Антонио Пиччинно. Разработка для конечных пользователей: подход семинара по формированию программного обеспечения . Либерман, Х., Патерно, Ф., Вульф, В. (редакторы) (2004) Развитие конечных пользователей – расширение возможностей людей для гибкого использования передовых информационных и коммуникационных технологий, © 2004 Kluwer Academic Publishers, Дордрехт, Нидерланды.
  16. ^ Костабиле, М.Ф., Фогли, Д., Летондал, К., Муссио, П., Пикчинно, А., Пользователи-эксперты в предметной области и их потребности в разработке программного обеспечения ", Конференция UAHCI, Крит, 22–27 июня 2003 г., 232 -236.
  17. ^ Герхард Фишер Развитие конечных пользователей и метадизайн: основы культуры участия . Конспекты лекций по разработке конечных пользователей по информатике, 2009 г., том 5435/2009, 3–14,
  18. ^ Скаффиди, Кристофер; Брандт, Джоэл; Бернетт, Маргарет; Голубь, Эндрю; Майерс, Брэд (2012). «SIG: Программирование конечного пользователя». CHI '12 Расширенные тезисы по человеческому фактору в вычислительных системах . Чи Эа '12. стр. 1193–1996. дои : 10.1145/2212776.2212421 . ISBN  9781450310161 . S2CID   17748945 .
  19. ^ Леонарди, Никола; Манка, Марко; Патерно, Фабио; Санторо, Кармен (2019). «Программирование триггерного действия для персонализации поведения робота-гуманоида». Материалы конференции CHI 2019 года по человеческому фактору в вычислительных системах . стр. 1–13. дои : 10.1145/3290605.3300675 . ISBN  978-145035970-2 . S2CID   140220651 .
  20. ^ Саркар, Адвайт; Блэквелл, Алан; Ямник, Матея; Спотт, Мартин (июль 2014 г.). «Обучайтесь и пробуйте: простой метод взаимодействия для исследовательского моделирования данных конечными пользователями». Симпозиум IEEE 2014 по визуальным языкам и человеко-ориентированным вычислениям (VL/HCC) . стр. 53–56. CiteSeerX   10.1.1.695.2025 . дои : 10.1109/VLHCC.2014.6883022 . ISBN  978-1-4799-4035-6 . S2CID   14845341 .
  21. ^ Хейнс, Джон Л. (осень 1985 г.). «Схемотехника с Lotus 1-2-3» . БАЙТ . стр. 143–156 . Проверено 19 марта 2016 г.
  22. ^ Рой Чоудхури, Soudip; Родригес, Карлос; Дэниел, Флориан; Казати, Фабио (2010). Мудрость вычислений: интерактивная рекомендация по знаниям композиции . Icsoc'10. стр. 144–155 . ISBN  9783642193934 .
  23. ^ Сатклифф, Алистер (июль 2005 г.). «Оценка затрат и выгод разработки для конечных пользователей». Заметки по разработке программного обеспечения ACM SIGSOFT . 30 (4): 1–4. дои : 10.1145/1082983.1083241 .
  24. ^ Андерсен, Рената; Мёрх, Андерс И. (2 марта 2009 г.). «Взаимное развитие: пример разработки программного обеспечения по инициативе клиента». Разработка для конечных пользователей . Конспекты лекций по информатике. Том. 5435. стр. 31–49. CiteSeerX   10.1.1.598.9066 . дои : 10.1007/978-3-642-00427-8_3 . ISBN  978-3-642-00425-4 .
  25. ^ Фишер, Герхард (1 января 1994 г.). «Возложение ответственности за проблемы в средах предметно-ориентированного проектирования». Ориентированные на пользователя требования к средам разработки программного обеспечения . Шпрингер, Берлин, Гейдельберг. стр. 297–306. CiteSeerX   10.1.1.310.8814 . дои : 10.1007/978-3-662-03035-6_23 . ISBN  978-3-642-08189-7 .
  26. ^ Фишер, Герхард; Джаккарди, Элиза (1 января 2006 г.). Либерман, Генри; Патерно, Фабио; Вульф, Волкер (ред.). Развитие конечных пользователей . Серия «Взаимодействие человека и компьютера». Спрингер Нидерланды. стр. 427–457 . дои : 10.1007/1-4020-5386-x_19 . ISBN  9781402042201 .
  27. ^ Либерман, Генри; Патерно, Фабио; Кланн, Маркус; Вульф, Волкер (1 января 2006 г.). Либерман, Генри; Патерно, Фабио; Вульф, Волкер (ред.). Развитие конечных пользователей . Серия «Взаимодействие человека и компьютера». Спрингер Нидерланды. стр. 1–8 . дои : 10.1007/1-4020-5386-x_1 . ISBN  9781402042201 . S2CID   15559793 .
  28. ^ Эриксон, Томас; Келлог, Венди А. (1 марта 2000 г.). «Социальная прозрачность: подход к проектированию систем, поддерживающих социальные процессы». АКМ Транс. Компьютер.-Хм. Взаимодействуйте . 7 (1): 59–83. дои : 10.1145/344949.345004 . ISSN   1073-0516 . S2CID   5943805 .
  29. ^ Лешед, Гилли; Хабер, Эбен М.; Мэтьюз, Тара; Лау, Тесса (1 января 2008 г.). «КоСкриптер». Материалы конференции SIGCHI по человеческому фактору в вычислительных системах . ЧИ '08. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 1719–1728. дои : 10.1145/1357054.1357323 . ISBN  9781605580111 . S2CID   5989563 .
  30. ^ Интара, Танапонг; Турмухамбетов, Данияр; Бростоу, Габриэль Дж. (1 января 2017 г.). «Помогите, это выглядит запутанно». Материалы 22-й Международной конференции по интеллектуальным пользовательским интерфейсам . ИИУ '17. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 233–243. дои : 10.1145/3025171.3025176 . ISBN  9781450343480 . S2CID   16596496 .
  31. ^ Фишер, Г.; Джаккарди, Э.; Йе, Й.; Сатклифф, AG; Механджиев, Н. (1 сентября 2004 г.). «Метадизайн: Манифест развития конечных пользователей». Коммун. АКМ . 47 (9): 33–37. дои : 10.1145/1015864.1015884 . ISSN   0001-0782 . S2CID   11675776 .
  32. ^ Харрисон, Уоррен (июль – август 2004 г.). «Опасности программирования конечных пользователей». Программное обеспечение IEEE . 21 (4): 5. doi : 10.1109/MS.2004.13 .
  33. ^ Плискин, Нава; Шовал, Перец (1987). «Прототипирование для конечных пользователей: опытные пользователи поддерживают разработку системы» . База данных ACM SIGMIS . 18 (4): 7–17. дои : 10.1145/1017816.1017817 . S2CID   18183262 .
  34. ^ Брандт, Джоэл; Го, Филип Дж.; Левенштейн, Джоэл; Клеммер, Скотт Р. (1 января 2008 г.). «Оппортунистическое программирование». Материалы 4-го международного семинара по разработке программного обеспечения для конечных пользователей . ВЕУЗЕ '08. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 1–5. дои : 10.1145/1370847.1370848 . ISBN  9781605580340 . S2CID   17479074 .
  35. ^ «Разработка программного обеспечения для конечных пользователей: эмпирические результаты» . Конечные пользователи формируют консорциум эффективного программного обеспечения . Проверено 28 мая 2008 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2229b2f7d32dfef9d2321dd9e4f20881__1710119460
URL1:https://arc.ask3.ru/arc/aa/22/81/2229b2f7d32dfef9d2321dd9e4f20881.html
Заголовок, (Title) документа по адресу, URL1:
End-user development - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)