Пользовательское программирование: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Строка 18: Строка 18:


==Определение==
==Определение==
Либерман и др. предлагают следующее определение:<ref>Lieberman, H., Paternò, F., Klann, M., and Wulf, V. (2006). Пользовательская разработка: новая парадигма. В: Пользовательская разработка ПО, Lieberman, H., Paternò, F., and Wulf, V. (eds.), Springer Нидерланды, 2006, сер. Взаимодействие человека и компьютера, том 9, Глава 1, стр. 1-7, {{doi|10.1007/1-4020-5386-X_1}}</ref>
{{заготовка раздела}}

<blockquote>Пользовательская разработка может быть определена как набор методов, техник и инструментов, позволяющих пользователям ПО, не являющимся профессиональными разработчиками ПО, в какой-то степени создавать, модифицировать или расширять программные артефакты.</blockquote>
Ко и др. предлагают следующее определение:<ref>{{Cite journal|last=Ko|first=Andrew J.|last2=Abraham|first2=Robin|last3=Beckwith|first3=Laura|last4=Blackwell|first4=Alan|last5=Burnett|first5=Margaret|last6=Erwig|first6=Martin|last7=Scaffidi|first7=Chris|last8=Lawrance|first8=Joseph|last9=Lieberman|first9=Henry|date=2011-04-01|title=Современный уровень развития в пользовательском программироваии ПО|journal=ACM Comput. Surv.|volume=43|issue=3|pages=21:1–21:44|doi=10.1145/1922649.1922658|issn=0360-0300|citeseerx=10.1.1.159.8597}}</ref>
<blockquote>Пользовательское программирование - это программирование для достижения результата программы в первую очередь для личного, а не для общественного использования.</blockquote>

Программные артефакты, создаваемые конечными пользователями, могут представлять собой описания автоматизированного поведения или управляющие последовательности, такие как запросы в базу данных или правила грамматики<ref>H. Lieberman, B. A. Nardi, and D. Wright. Grammex: Определение грамматик по примеру. Конференция ACM по человеческому фактору в компьютерных системах (Сводка и демонстрации) (CHI ’98), Лос-Анжелес, Калифорния, США, стр. 11–12. ACM Press, апрель 1998.</ref> которые могыт быть созданы с помощью таких парадигм программирования как {{нп5|программирование демонстрацией||en|Programming_by_demonstration}}, {{нп5|программирование примерами||en|Programming by example}}, [[визуальное программирование]] или создание [[макрокоманда|макрокоманд]].<ref>Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno. ''[https://www.researchgate.net/profile/Antonio_Piccinno/publication/226690375_End-User_Development_The_Software_Shaping_Workshop_Approach/links/0912f508eb00c77988000000.pdf Пользовательское программирование: подход к разработке при помощи инструментария формовки ПО]''. In Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) Пользовательское программирование - Предоставление людям возможности гибко использовать передовые информационные и коммуникационные технологии, © 2004 Kluwer Academic Publishers, Dordrecht, The Netherlands.</ref>
Они (артефакты) также могут представлять собой набор параметров, указывающих на один из предопределённых способов действия программы.<ref>Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A., [https://hal.archives-ouvertes.fr/hal-01299738/document Пользователи - эксперты в предметной области и их потребности в разработке ПО]", Конференция UAHCI, Крит, 22–27 июня, 2003, 232-236.</ref>
Иные артефакты, созданные конечным пользователем могут являться формами пользовательского контента, к примеру аннотации, которые могут быть или не быть вычислительно интерпретируемыми (т. е. могут быть обработаны соответствующими автоматизированными функциями).'''<ref>Gerhard Fischer ''[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.7930&rep=rep1&type=pdf Пользователская разработка и мета-дизайн: основы для культуры участия]''. Лекционные записи по пользовательскому программрованию в информатике, 2009, том 5435/2009, 3-14,</ref>'''

==Примеры==
==Примеры==
{{заготовка раздела}}
{{заготовка раздела}}

Версия от 13:21, 17 ноября 2020

Термины пользовательская разработка (End-User Developement - EUD) или пользовательское программирование (End-User Programming - EUP) обозначают набор методик и инструментов, которые позволяют программировать конечным пользователям - людям, не являющимся профессиональными разработчиками ПО. Люди, не являющиеся профессиональными разработчиками, могут использовать инструменты EUD для создания или модификации программных артефактов (описаний автоматических действий) и сложных объектов данных без знания языков программирования. Существуют различные подходы к проблеме пользовательского программирования - это тема активно исследуется в информатике и науке о взаимодействии человека и компьютера. Среди примеров можно отметить системы программирования на естественном языке[англ.][1][2], электронные таблицы [3], скриптовые языки (особенно в офисных пакетах или приложениях для художников), визуальное программирование, программирование триггерных действий и программирование по примеру[англ.].

Самый популярный инструмент пользовательского программирования - это электронные таблицы[3][4] В силу своей неограничивающей природы они позволяют довольно неискушенным пользователям писать программы, представляющие сложные модели данных, в то же время защищая их от необходимости изучать языки программирования более низкого уровня. [5] Навыки работы с электронными таблицами считаются одними из самых полезных для выпускников ВУЗов из-за широкой распространённости электронных таблиц для решения задач в бизнесе[6] По состоянию на 2005 год в США количество пользователей, использующих электронные таблицы оцениалось в 13 млн. чел.[7]

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

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

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

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

Платформы для разработки с минимумом кода

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

Определение

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

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

Ко и др. предлагают следующее определение:[11]

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

Программные артефакты, создаваемые конечными пользователями, могут представлять собой описания автоматизированного поведения или управляющие последовательности, такие как запросы в базу данных или правила грамматики[12] которые могыт быть созданы с помощью таких парадигм программирования как программирование демонстрацией[англ.], программирование примерами[англ.], визуальное программирование или создание макрокоманд.[13] Они (артефакты) также могут представлять собой набор параметров, указывающих на один из предопределённых способов действия программы.[14] Иные артефакты, созданные конечным пользователем могут являться формами пользовательского контента, к примеру аннотации, которые могут быть или не быть вычислительно интерпретируемыми (т. е. могут быть обработаны соответствующими автоматизированными функциями).[15]

Примеры

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

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

Критика

См. также

Ссылки

  1. Little, Greg, and Robert C. Miller. "Translating keyword commands into executable code." Proceedings of the 19th annual ACM symposium on User interface software and technology. ACM, 2006.
  2. Bruckman, Amy, and Elizabeth Edwards. "Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language." Proceedings of the SIGCHI conference on Human Factors in Computing Systems. ACM, 1999. APA
  3. 1 2 Burnett, Margaret M. End-User Development / Margaret M. Burnett, Christopher Scaffidi. — Interaction-Design.org. at "Encyclopedia of Human-Computer Interaction".
  4. Hornsby, Peter Empowering Users to Create Their Own Software. UXmatters (3 августа 2009). Дата обращения: 31 января 2014.
  5. Abraham, R. Spreadsheet programming // Wiley Encyclopedia of Computer Science and Engineering / R. Abraham, M Burnett, M Erwig. — 2009. — P. 1–10.
  6. Kruck, S. & Sheetz, S., 2001. Spreadsheet accuracy theory. Journal of Information Systems Education.
  7. Scaffidi, C., Shaw, M. & Myers, B., 2005. Estimating the Numbers of End Users and End User Programmers. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp.207–214.
  8. Paternò F., 2013, ISRN Software Engineering, End User Development: Survey of an Emerging Field for Empowering People
  9. Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of Context-dependent Applications through Trigger-Action Rules. ACM Transactions on Computer-Human Interaction, Vol.24, Issue 2, Article N.14, April 2017.
  10. Lieberman, H., Paternò, F., Klann, M., and Wulf, V. (2006). Пользовательская разработка: новая парадигма. В: Пользовательская разработка ПО, Lieberman, H., Paternò, F., and Wulf, V. (eds.), Springer Нидерланды, 2006, сер. Взаимодействие человека и компьютера, том 9, Глава 1, стр. 1-7, doi:10.1007/1-4020-5386-X_1
  11. Ko, Andrew J.; Abraham, Robin; Beckwith, Laura; Blackwell, Alan; Burnett, Margaret; Erwig, Martin; Scaffidi, Chris; Lawrance, Joseph; Lieberman, Henry (2011-04-01). "Современный уровень развития в пользовательском программироваии ПО". ACM Comput. Surv. 43 (3): 21:1–21:44. CiteSeerX 10.1.1.159.8597. doi:10.1145/1922649.1922658. ISSN 0360-0300.
  12. H. Lieberman, B. A. Nardi, and D. Wright. Grammex: Определение грамматик по примеру. Конференция ACM по человеческому фактору в компьютерных системах (Сводка и демонстрации) (CHI ’98), Лос-Анжелес, Калифорния, США, стр. 11–12. ACM Press, апрель 1998.
  13. Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno. Пользовательское программирование: подход к разработке при помощи инструментария формовки ПО. In Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) Пользовательское программирование - Предоставление людям возможности гибко использовать передовые информационные и коммуникационные технологии, © 2004 Kluwer Academic Publishers, Dordrecht, The Netherlands.
  14. Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A., Пользователи - эксперты в предметной области и их потребности в разработке ПО", Конференция UAHCI, Крит, 22–27 июня, 2003, 232-236.
  15. Gerhard Fischer Пользователская разработка и мета-дизайн: основы для культуры участия. Лекционные записи по пользовательскому программрованию в информатике, 2009, том 5435/2009, 3-14,

Дополнительная литература

Внешние ссылки