定義:
最終用戶開發(End-user development ,EUD)是計算機科學和人機互動領域的一個研究課題,使最終用戶能夠描述計算機編程中的活動或技術。非計算機專業開發人員可以使用EUD工具來創建或修改軟體構件(描述的自動化的行為)和複雜的數據對象而無需具備某種程式語言的特定知識。最流行的EUD工具是電子表格。
圍繞最終用戶開發的早期嘗試表現在利用添加簡單的腳本程式語言以擴展和適應現有的應用程式,如辦公系統套件。
近期的研究嘗試使編程更接近最終用戶的需要。例如使用案例進行程式設計(Programmingby example,PbE)減少了用戶學習的經典程式語言中的抽象概念。另外,一些新的軟體工具(如RAPTOR)的引進,用戶可以創建問題求解所需的一些基本算法,並將其轉換成為可行的應用程式。
有兩個基本的原因使得EUD流行開來,其一是因為企業正面臨著拖延的項目和使用EUD能有效地完成項目的時間縮短。第二個原因是,軟體開發工具功能更強大,更易於使用。
Lieberman等人。提出了如下的定義:
最終用戶開發可以被定義為一組方法,技術和工具,使非專業的軟體開發人員用戶在軟體系統套用中,可以在某些點上來創建,修改或擴展軟體的組件。
這些組建可能是由最終用戶定義的對象,描述了一些自動化的行為或控制序列,如資料庫請求或語法規則,其編程範式,可以是通過演示編程(programming by demonstration)、案例編程(programming with examples),可視化編程(visual programming),或宏製作(macro generation);其它用戶也可以選擇備選的參數來預定應用程式的行為。
案例:
使用面向最終用戶的工具和方法創建的3D模型(如Sketchup);
圖形藝術家使用動畫腳本來描述角色、環境和如何使用移動角色的來產生動畫;
配置檔案使得程式和數據之間的界線變得模糊(例如的,電子郵件過濾器列表的標準和動作執行的順序)
參與開源項目的軟體包的開發,用戶貢獻的代碼包含在主程式包中- 在某些情況下,最終用戶參與全面的開發
最近的許多遊戲都發布著遊戲的修改,引入用戶自己定義的角色,環境等
在客戶關係關係系統中呼叫中心的互動腳本
工作流應用程式中使用的過程模型
由企業家、工程師和科學家編寫的原型系統和特定領域中的演示或測試具體的理論程式
在計算機模擬的科學模型
自動化辦公生產力套件和圖形應用程式的擴展腳本或/和宏(macros)。
使用應用程式定義的軟體創建的模擬
電子表格模型,例如,用於預算或風險分析
可視化編程,,如RAPTOR、AgentSheets,LabVIEW或LEGO MINDSTORMS的視覺語言的形式。
網頁- 純HTML或HTML和腳本
維基- 最終用戶協作開發過程