최종 사용자 개발
End-user development프로그래밍 패러다임 |
---|
최종 사용자 개발(EUD) 또는 최종 사용자 프로그래밍(EUP)은 최종 사용자(전문 소프트웨어 개발자가 아닌 사용자)가 컴퓨터를 프로그래밍할 수 있도록 하는 액티비티와 툴을 말합니다.전문 개발자가 아닌 사용자는 EUD 도구를 사용하여 소프트웨어 아티팩트(자동 동작 설명) 및 복잡한 데이터 개체를 생성 또는 수정할 수 있습니다. 프로그래밍 언어에 대한 지식이 많지 않습니다.2005년에는 (미국 노동통계국의 통계를 사용하여) 2012년까지 미국 내 최종 사용자 개발자는 5500만 명 이상이 될 것으로 예상되었으며, 이에 비해 전문 프로그래머는 [1]300만 명 미만입니다.다양한 EUD 접근법이 존재하며 컴퓨터 과학 및 인간-컴퓨터 상호작용 분야에서 활발한 연구 주제이다.예를 들어 자연어 프로그래밍,[2][3] 스프레드시트,[4] 스크립트 언어(특히 오피스 스위트 또는 아트 애플리케이션), 비주얼 프로그래밍, 트리거 액션 프로그래밍 및 프로그래밍 등이 있습니다.
가장 일반적인 EUD 도구는 스프레드시트입니다.[4][5]스프레드시트는 제한이 없기 때문에 비교적 비숙련 컴퓨터 사용자가 복잡한 데이터 모델을 나타내는 프로그램을 작성할 수 있도록 하면서 하위 수준의 프로그래밍 [6]언어를 배울 필요가 없도록 합니다.스프레드시트 스킬은 비즈니스에서 일반적으로 사용되기 때문에 대학원생에게 가장 유익한 스킬 중 하나이며, 따라서 가장 일반적으로 요구되는[7] 스킬입니다.미국에만 1,300만 명의 최종 사용자 개발자가 스프레드시트를[8] 사용하여 프로그래밍하고 있습니다.
예를 들어 프로그래밍(PbE) 접근방식은 사용자가 고전 프로그래밍 언어의 추상화를 학습할 필요성을 줄여줍니다.사용자는 원하는 결과 또는 데이터에 대해 수행해야 하는 작업의 예를 소개하고, PbE 시스템은 이 출력을 생성하는 프로그램에 대응하는 추상화를 추론합니다.이러한 추상화는 사용자가 세분화할 수 있습니다.그러면 자동으로 생성된 프로그램에 새로운 데이터가 도입될 수 있으며 사용자는 프로그램의 정의를 개선하기 위해 프로그램에 의해 발생한 실수를 수정할 수 있습니다.저코드 개발 플랫폼도 EUD에 대한 접근법입니다.
이 분야의 한 가지 진화는 최종 사용자 개발 활동을 지원하기 위해 모바일 기기를 사용하는 것을 고려했습니다.이 경우 모바일 디바이스의 특정 특성을 고려할 때 데스크톱 애플리케이션에 대한 이전 접근 방식을 단순하게 재지정할 수 없습니다.데스크톱 EUD 환경에서는 최종 사용자가 [9]이동 중에도 애플리케이션을 쉽게 만들 수 있는 이점이 없습니다.
최근에는 사물인터넷 애플리케이션 개발을 지원하기 위해 EUD를 활용하는 방법에 대한 관심이 높아지고 있습니다.이 영역에서는 트리거-액션 프로그래밍이 유망한 접근 [10]방식인 것 같습니다.
EUD 솔루션에서 얻은 교훈은 상용 소프트웨어 제품, 사내 인트라넷/엑스트라넷 개발 및 엔터프라이즈 애플리케이션 도입의 소프트웨어 라이프 사이클에 큰 영향을 미칠 수 있습니다.
응용 프로그램 고유의 저코드 개발 플랫폼
현재 약 40개의 벤더가 최종 사용자를 대상으로 프로그래밍 작업을 줄이도록 설계된 솔루션을 제공하고 있습니다.이러한 솔루션은 기존의 프로그래밍을 필요로 하지 않으며 계약 관리, 고객 관계 관리, 문제 및 버그 추적 등 비교적 좁은 기능을 기반으로 할 수 있습니다.저코드 개발 플랫폼이라고 불리는 웹 기반 상호 작용은 사용자가 40~[11][circular reference]80시간 이내에 애플리케이션을 개발할 수 있도록 안내합니다.
정의.
Lieberman 등은 다음과 같은 [12]정의를 제안한다.
최종 사용자 개발은 비전문 소프트웨어 개발자 역할을 하는 소프트웨어 시스템 사용자가 소프트웨어 아티팩트를 작성, 수정 또는 확장할 수 있도록 하는 방법, 기술 및 도구 집합으로 정의할 수 있습니다.
Ko 등은 다음과 같은 [13]정의를 제안한다.
최종 사용자 프로그래밍은 주로 공용이 아닌 개인용으로 프로그램의 결과를 얻도록 프로그래밍하는 것입니다.
최종 사용자에 의해 정의된 아티팩트는 데이터베이스 요구나 [14]문법 규칙과 같은 자동화된 동작 또는 제어 시퀀스를 기술하는 오브젝트일 수 있습니다.이러한 오브젝트는 데모에 의한 프로그래밍, 예제에 의한 프로그래밍, 비주얼 프로그래밍,[15] 매크로 생성 등의 프로그래밍 패러다임으로 기술할 수 있습니다.또한 응용 프로그램의 대체 [16]사전 정의된 동작 중에서 선택하는 매개 변수가 될 수도 있습니다.최종 사용자 개발의 다른 아티팩트는 주석과 같은 사용자 생성 콘텐츠의 작성도 언급할 수 있습니다.주석은 계산적으로 해석할 수도 있고 그렇지 않을 수도 있습니다(즉, 관련 자동 [17]기능에 의해 처리될 수도 있습니다.
예
최종 사용자 개발의 예로는 다음이 있습니다.
- 그래픽 아티스트가 캐릭터, 환경 및 캐릭터가 원하는 애니메이션을 제작하기 위해 이동하는 방법을 설명하는 데 사용하는 애니메이션 스크립트
- 프로그램과 데이터 간의 경계를 모호하게 하는 구성 파일(예를 들어 이메일 필터는 일련의 기준 및 액션 목록)
- 예 - 중심 프로그래밍[18] 도구
- 사용자 자신의 캐릭터나 환경 등을 소개하는 게임 수정 - 최근 많은 게임들이 수정을 염두에 두고 배포되고 있습니다.
- CRM 콜센터에서 사용되는 인터랙션스크립트
- 앱 Inventor와 같은 모바일 앱 개발 도구
- 워크플로 응용 프로그램에 사용되는 프로세스 모델
- 특정 이론을 시연하거나 테스트하기 위해 비즈니스맨, 엔지니어 및 과학자가 작성한 프로토타입 및 도메인별 프로그램
- 로봇[19] 동작
- 컴퓨터 시뮬레이션에 사용되는 과학 모델
- 오피스 생산성 스위트 및 그래픽 애플리케이션을 확장 또는 자동화하기 위한 스크립트 및 매크로 추가.
- 애플리케이션 정의 소프트웨어를 사용하여 작성된 시뮬레이션
- 최종 사용자가 지정한 배치 프로세스 또는 Lapis 텍스트에디터 및 멀티 편집에서 사용할 수 있는 것과 같은 직접 조작을 통해 많은 관련 항목을 동시에 편집합니다.
- 예산 책정, 리스크 분석, 인터랙티브 머신 [20]러닝 또는 전자회로[21] 설계에 사용되는 스프레드시트 모델
- AgentSheets, LabVIEW, Scratch(프로그래밍 언어) 또는 LEGO Mindstorms와 같은 비주얼 언어 형식의 비주얼 프로그래밍.
- 웹 페이지 - 일반 HTML 또는 HTML 및 스크립트
- Wiki - 공동 최종 사용자 개발[citation needed] 프로세스
- 비주얼 [22]언어 형식의 웹 매시업.
- Sketchup과 같은 최종 사용자 지향 도구 및 앱으로 만든 3D 모델
비용 대비 효과 모델링
Sutcliffe에 [23]따르면 EUD는 기본적으로 개발 작업을 최종 사용자에게 아웃소싱합니다.EUD 툴을 학습하기 위해서는 항상 어느 정도의 노력이 필요하기 때문에, 유저의 의욕은, 업무의 강화, 업무 시간의 절약, 생산성 향상에 도움이 된다고 하는 확신에 달려 있습니다.이 모델에서 사용자에게 제공되는 이점은 처음에는 마케팅, 데모 및 입소문을 기반으로 합니다.테크놀로지가 사용되면, 실제의 메리트에 대한 경험이 주된 동기부여가 됩니다.
본 연구에서는 비용을 다음과 같은 합계로 정의합니다.
- 기술 비용: 테크놀로지의 가격과 설치 작업
- 학습 비용: 테크놀로지를 이해하는 데 걸리는 시간
- 개발 비용: 이 기술을 사용하여 애플리케이션을 개발하기 위한 노력
- 테스트 및 디버깅 비용: 시스템 검증에 소요되는 시간
첫 번째와 두 번째 원가는 취득 중에 한 번 발생하는 반면, 세 번째와 네 번째 원가는 애플리케이션을 개발할 때마다 발생한다.이점(인식 또는 실제)은 다음과 같이 나타납니다.
- 테크놀로지가 제공하는 기능
- 새로운 요건에 대응하는 유연성
- 생성된 어플리케이션의 조작성
- 생성된 어플리케이션의 전반적인 품질
최종 사용자 개발 협업
전문 개발자와 최종 사용자 개발자 간의 협업, 최종 사용자 개발자 간의 협업 등 많은 최종 사용자 개발 활동은 본질적으로 협업적입니다.
상호 개발은[24] 전문 개발자와 최종 사용자 개발자가 협력하여 소프트웨어 솔루션을 만드는 기술입니다.상호 개발에서 전문 개발자는 종종 시스템을 "설계 중"으로 만들고, "문제[25] 소유자"가 자신의 요구, 목표 및 [26]상황 상황에 맞는 적절한 해결책을 사용 시간에 만들 수 있는 도구를 제공합니다.그 후 전문 개발자와 최종 사용자 개발자 간의 커뮤니케이션을 통해 최종 사용자가 소프트웨어 아티팩트로 공식화한 애드혹 수정을 촉진하고 최종 사용자가 개발한 솔루션을 로컬 솔루션 이상의 영향을 미치는 상용 제품 기능으로 전환할 수 있습니다.
이 콜라보레이션에서는, 전문 개발자와 최종 유저 개발자의 커뮤니케이션 갭을 메우기 위해서, 소프트웨어 쉐이핑[27] 워크샵등의 다양한 어프로치가 제안되고 있습니다.이러한 접근방식은 종종 사회적 투명성 [28]모델에 따라 투명성을 제공하므로 공동작업에 참여하는 모든 사람이 다른 사람의 변화를 인지하고 인식으로 인해 자신의 행동에 대한 책임을 질 수 있습니다.
GitHub 등의 프로그래밍 콜라보레이션 플랫폼은 학습 곡선이 가파르기 때문에 전문 개발자가 주로 사용하고 있으며, 최종 사용자 개발자 간의 콜라보레이션은 작성된 소프트웨어 아티팩트가 공유되는 Wiki 플랫폼에서 이루어지는 경우가 많습니다.최종 사용자 개발은 자동화 스크립트 작성이나 대화형 튜토리얼 작성에도 자주 사용됩니다.이러한 응용 프로그램의 예로는 CoScripter[29] 및 [30]HILC가 있습니다.이러한 어플리케이션에서는 사용자는 의사 자연어를 사용하거나 데모를 통한 프로그래밍을 통해 태스크용 스크립트를 작성할 수 있습니다.사용자는 스크립트를 Wiki 스타일의 스크립트 저장소에 업로드하도록 선택할 수 있습니다.이 Wiki에서는 사용자는 사용 가능한 스크립트를 참조하고 기존 스크립트를 확장하여 추가 파라미터를 지원하거나 추가 조건을 처리하거나 추가 객체를 조작할 수 있습니다.
최종 사용자 개발자의 온라인 및 오프라인 커뮤니티도 형성되어 최종 사용자 개발자가 공동 관심사인 EUD 문제를 공동으로 해결하거나 상호 이익을 얻을 수 있습니다.이러한 커뮤니티에서는, 현지 전문가가 전문 지식과 조언을 전달합니다.커뮤니티 구성원들은 [31]또한 소프트웨어의 공동 구축을 지원하기 위해 서로에 대한 사회적 지원을 제공합니다.
비판
코멘테이터는 최종 사용자가 애플리케이션을 테스트하고 보호하는 방법을 이해하지 못하는 것을 우려하고 있습니다.포틀랜드 주립 대학의 컴퓨터 공학 교수인 워렌 해리슨은 다음과 같이 썼다.[32]
우리가 보안을 기대할 수 있다는 것은 도저히 믿을 수 없다.코드화 전 지정, 시스템 테스트 등 일반적으로 인정되고 있는 베스트 프랙티스에 대한 지식이 거의 없는 상태에서 작성되어 있는 경우, 대부분의 소프트웨어 애플리케이션으로부터 얻을 수 있습니다.'완전한 바보들'('X'가 가장 좋아하는 프로그래밍 언어) 책이 몇 권이나 있습니까?처음에는 이 트렌드가 즐거웠지만, 최근에는 이 잡동사니들이 새롭게 알게 된 지식을 어디에 적용하고 있는지 생각하면 불안해진다.
이 견해는 소프트웨어를 이해하는 데 있어서는 모든 최종 사용자가 동등하게 순진하다고 가정하고 있지만, Pliskin과 Shoval은 그렇지 않다고 주장하지만, 숙련된 최종 사용자는 최종 사용자를 [33]개발할 수 있습니다.그러나 전문 프로그래머에 비해 최종 사용자 프로그래머는 체계적이고 규율적인 소프트웨어 엔지니어링 [34]활동에 시간과 관심을 거의 갖지 않기 때문에 최종 사용자 개발에 의해 생성되는 소프트웨어 아티팩트의 품질 보장이 특히 어렵습니다.
이에 대응하여 최종 사용자 소프트웨어 엔지니어링 연구가 대두되었습니다.최종 사용자 개발 이외의 문제에 관심을 가지고 있으며, 최종 사용자는 솔루션을 개발할 [35]때 재사용 가능성, 보안 및 검증 가능성 등의 문제를 고려하게 됩니다.
또 다른 시나리오는 최종 사용자 또는 컨설턴트가 엄격한 비즈니스 규칙과 보안 규칙을 지원하는 선언적 도구를 사용하는 것입니다.단, EUD를 사용하여 작성된 툴은 일반적으로 프로페셔널 프로그래밍 환경에서 작성된 툴보다 효율성이 떨어집니다.기능과 효율성을 분리하는 것은 타당한 문제이지만 최종 사용자가 비즈니스 분석가의 개입 없이 툴의 요구사항 분석 및 프로토타이핑을 완료하고 문서화하는 상황을 초래할 수 있습니다.따라서 사용자는 이러한 전문가들이 특정 애플리케이션 또는 소프트웨어 프레임워크의 한계를 고려할 기회를 갖기 전에 필요한 기능을 정의합니다.이러한 최종 사용자의 이니셔티브에 대한 상급 관리 지원은 기존 또는 잠재적인 벤더에 대한 고객의 태도에 따라 달라집니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Scaffidi, C.; Shaw, M.; Myers, B. (2005-09-01). 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. doi:10.1109/VLHCC.2005.34. ISBN 978-0-7695-2443-6. S2CID 14608501.
- ^ 리틀, 그렉, 그리고 로버트 C.밀러.키워드 명령어를 실행 가능한 코드로 변환합니다.사용자 인터페이스 소프트웨어와 테크놀로지에 관한 제19회 연례 ACM 심포지엄의 속행.ACM, 2006.
- ^ 브룩맨, 에이미, 엘리자베스 에드워즈입니다"자연어 지식을 활용해야 할까요? 자연어 스타일의 프로그래밍 언어로 사용자 오류를 분석합니다.컴퓨터 시스템의 인적 요인에 관한 SIGCHI 회의의 진행.ACM, 1999.APA
- ^ a b Burnett, Margaret M.; Scaffidi, Christopher. End-User Development. Interaction-Design.org. "인간-컴퓨터 상호작용 백과사전"에 수록되어 있습니다.
- ^ Hornsby, Peter (2009-08-03). "Empowering Users to Create Their Own Software". UXmatters. Retrieved 2014-01-31.
- ^ Abraham, R.; Burnett, M; Erwig, M (2009). "Spreadsheet programming". Wiley Encyclopedia of Computer Science and Engineering. pp. 1–10.
- ^ Kruck, S. & Sheetz, S., 2001.스프레드시트 정확도 이론.정보 시스템 교육 저널.
- ^ Scampidi, C., Shaw, M. & Myers, B., 2005.최종 사용자 및 최종 사용자 프로그래머의 수를 추정합니다.2005년 시각언어 및 인간중심컴퓨팅에 관한 IEEE 심포지엄 (VL/HCC'05) 페이지 207~214.
- ^ Pattern™ F., 2013, ISRN 소프트웨어 엔지니어링, 최종 사용자 개발:사람들에게 힘을 실어주기 위한 새로운 분야 조사
- ^ Ghiani, G., Manca, M., Patern†, F., Santoro, C.: 트리거 액션규칙에 의한 컨텍스트 의존 어플리케이션의 퍼스낼라이제이션.ACM Transactions on Computer-Human Interaction, Vol.24, 제2호, 제N.14조, 2017년 4월
- ^ 저코드 개발 플랫폼
- ^ Lieberman, H., Patternò, F., Klann, M. 및 Wulf, V. (2006)최종 사용자 개발:새로운 패러다임인: 최종 사용자 개발, Lieberman, H., Patern†, F. 및 Wulf, V. (ed.) (스프링거 네덜란드, 2006, ser.)인간-컴퓨터 상호작용 시리즈, 9권, 1장, 1-7페이지, doi:10.1007/1-4020-5386-X_1
- ^ Ko, Andrew J.; Abraham, Robin; Beckwith, Laura; Blackwell, Alan; Burnett, Margaret; Erwig, Martin; Scaffidi, Chris; Lawrance, Joseph; Lieberman, Henry (2011-04-01). "The State of the Art in End-user Software Engineering". ACM Comput. Surv. 43 (3): 21:1–21:44. CiteSeerX 10.1.1.159.8597. doi:10.1145/1922649.1922658. ISSN 0360-0300. S2CID 9435548.
- ^ H. Lieberman, B. A. Nardi, D.장인.Grammex: 예를 들어 문법을 정의한다.컴퓨터 시스템의 인적 요인에 관한 ACM 컨퍼런스(요약, 데모)(CHI'98), 미국 캘리포니아 로스앤젤레스, 11~12페이지.ACM Press, 1998년 4월
- ^ 마리아 프란체스카 코스타빌레, 다니엘라 포글리, 피에로 무시오, 안토니오 피치노최종 사용자 개발: 소프트웨어 쉐이핑 워크숍 접근법.Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) 최종 사용자 개발 - 고급 정보통신 기술을 유연하게 고용할 수 있는 사람들, © 2004 Kluwer 학술 출판사, 네덜란드 도르트레히트.
- ^ Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A., Domain - Expert Users and 그들의 소프트웨어 개발 요구", UAHCI Conference, Creta, 2003년 6월 22~27일, 232-623.
- ^ Gerhard Fischer 최종 사용자 개발 및 메타 설계: 참여 문화를 위한 재단.최종 사용자 개발 강의 노트, 컴퓨터 사이언스, 2009, Volume 5435/2009, 3-14,
- ^ Scaffidi, Christopher; Brandt, Joel; Burnett, Margaret; Dove, Andrew; Myers, Brad (2012). SIG: end-user programming. CHI '12 Extended Abstracts on Human Factors in Computing Systems. Chi Ea '12. pp. 1193–1996. doi:10.1145/2212776.2212421. ISBN 9781450310161. S2CID 17748945.
- ^ Leonardi, Nicola; Manca, Marco; Paternò, Fabio; Santoro, Carmen (2019). Trigger-Action Programming for Personalising Humanoid Robot Behaviour. CHI '19 ACM Conference on Human Factors in Computing Systems. doi:10.1145/3290605.3300675. ISBN 978-145035970-2. S2CID 140220651.
- ^ Sarkar, Advait; Blackwell, Alan; Jamnik, Mateja; Spott, Martin (July 2014). Teach and Try: A simple interaction technique for exploratory data modelling by end users. 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2014). pp. 53–56. CiteSeerX 10.1.1.695.2025. doi:10.1109/VLHCC.2014.6883022. ISBN 978-1-4799-4035-6. S2CID 14845341.
- ^ Haynes, John L. (Fall 1985). "Circuit Design with Lotus 1-2-3". BYTE. pp. 143–156. Retrieved 19 March 2016.
- ^ Roy Chowdhury, Soudip; Rodriguez, Carlos; Daniel, Florian; Casati, Fabio (2010). Wisdom-aware computing: on the interactive recommendation of composition knowledge. Icsoc'10. pp. 144–155. ISBN 9783642193934.
- ^ Sutcliffe, Alistair (July 2005). "Evaluating the costs and benefits of end-user development". ACM SIGSOFT Software Engineering Notes. 30 (4): 1–4. doi:10.1145/1082983.1083241.
- ^ Andersen, Renate; Mørch, Anders I. (2009-03-02). Mutual Development: A Case Study in Customer-Initiated Software Product Development. End-User Development. Lecture Notes in Computer Science. Vol. 5435. pp. 31–49. CiteSeerX 10.1.1.598.9066. doi:10.1007/978-3-642-00427-8_3. ISBN 978-3-642-00425-4.
- ^ Fischer, Gerhard (1994-01-01). "Putting the Owners of Problems in Charge with Domain-oriented Design Environments". User-Centred Requirements for Software Engineering Environments. Springer, Berlin, Heidelberg. pp. 297–306. CiteSeerX 10.1.1.310.8814. doi:10.1007/978-3-662-03035-6_23. ISBN 978-3-642-08189-7.
- ^ Fischer, Gerhard; Giaccardi, Elisa (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.). End User Development. Human-Computer Interaction Series. Springer Netherlands. pp. 427–457. doi:10.1007/1-4020-5386-x_19. ISBN 9781402042201.
- ^ Lieberman, Henry; Paternò, Fabio; Klann, Markus; Wulf, Volker (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.). End User Development. Human-Computer Interaction Series. Springer Netherlands. pp. 1–8. doi:10.1007/1-4020-5386-x_1. ISBN 9781402042201.
- ^ Erickson, Thomas; Kellogg, Wendy A. (2000-03-01). "Social Translucence: An Approach to Designing Systems That Support Social Processes". ACM Trans. Comput.-Hum. Interact. 7 (1): 59–83. doi:10.1145/344949.345004. ISSN 1073-0516. S2CID 5943805.
- ^ Leshed, Gilly; Haber, Eben M.; Matthews, Tara; Lau, Tessa (2008-01-01). CoScripter: Automating & Sharing How-to Knowledge in the Enterprise. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '08. New York, NY, USA: ACM. pp. 1719–1728. doi:10.1145/1357054.1357323. ISBN 9781605580111. S2CID 5989563.
- ^ Intharah, Thanapong; Turmukhambetov, Daniyar; Brostow, Gabriel J. (2017-01-01). Help, It Looks Confusing: GUI Task Automation Through Demonstration and Follow-up Questions. Proceedings of the 22Nd International Conference on Intelligent User Interfaces. IUI '17. New York, NY, USA: ACM. pp. 233–243. doi:10.1145/3025171.3025176. ISBN 9781450343480. S2CID 16596496.
- ^ Fischer, G.; Giaccardi, E.; Ye, Y.; Sutcliffe, A. G.; Mehandjiev, N. (2004-09-01). "Meta-design: A Manifesto for End-user Development". Commun. ACM. 47 (9): 33–37. doi:10.1145/1015864.1015884. ISSN 0001-0782. S2CID 11675776.
- ^ Harrison, Warren (July–August 2004). "The Dangers of End-User Programming". IEEE Software. 21 (4): 5. doi:10.1109/MS.2004.13.
- ^ Pliskin, Nava; Shoval, Peretz (1987). "End-user prototyping: sophisticated users supporting system development". ACM SIGMIS Database. 18 (4): 7–17. doi:10.1145/1017816.1017817. S2CID 18183262.
- ^ Brandt, Joel; Guo, Philip J.; Lewenstein, Joel; Klemmer, Scott R. (2008-01-01). Opportunistic Programming: How Rapid Ideation and Prototyping Occur in Practice. Proceedings of the 4th International Workshop on End-user Software Engineering. WEUSE '08. New York, NY, USA: ACM. pp. 1–5. doi:10.1145/1370847.1370848. ISBN 9781605580340. S2CID 17479074.
- ^ "End-User Software Engineering: Empirical Findings". End Users Shaping Effective Software Consortium. Retrieved 2008-05-28.
추가 정보
- Cypher, Allen (1993). Watch What I Do: Programming by Demonstration. Contributor Daniel C. Halbert. Publisher: MIT Press. ISBN 978-0-262-03213-1.
- Lieberman, Henry (2001). Your Wish is My Command: Programming By Example. Contributor Ben Shneiderman. Publisher: Morgan Kaufmann. ISBN 978-1-55860-688-3.
- F. Pattern© (2013) 최종 사용자 개발: 인력 강화를 위한 신흥 분야 조사, ISRN 소프트웨어 엔지니어링, vol. 2013, 문서 번호 532659, 11페이지, 2013.doi:10.1155/2013/532659, 2013
- B. 궈, D. 장, M. 이마이유비쿼터스 컴퓨팅을 위한 사용자 지향 관리 실현:메타 설계 접근법, 컴퓨터 네트워크, 엘세비어, Vol. 54, No. 16, 2010.
- 버넷, 마가렛 M. 및 Scampidi, Christopher(2011):최종 사용자 개발입력: Soegaard, Mads and Dam, Rikke Friis (ed.)"인간-컴퓨터 상호작용 백과사전"
- 키에르케고르, 패트릭 (2011)