Endbenutzerentwicklung

Endbenutzerentwicklung (Eud) oder Endbenutzerprogrammierung (EUP) bezieht sich auf Aktivitäten und Tools, die es zulassen Endverbraucher - Menschen, die keine professionellen Softwareentwickler sind - zu Programmcomputer. Personen, die keine professionellen Entwickler sind, können EUD -Tools verwenden, um zu erstellen oder zu ändern Software -Artefakte (Beschreibungen des automatisierten Verhaltens) und komplexe Datenobjekte ohne wesentliche Kenntnis von a Programmiersprache. Im Jahr 2005 wurde es geschätzt (unter Verwendung von Statistiken aus den USA. Bureau of Labour Statistics) dass bis 2012 mehr als 55 Millionen Endbenutzerentwickler in den USA im Vergleich zu weniger als 3 Millionen professionellen Programmierern geben würden.[1] Es gibt verschiedene EUD -Ansätze, und es ist aktiv Forschungsthema innerhalb des Gebiets von Informatik und Menschliche interaktion mit dem Computer. Beispiele beinhalten Programmierung natürlicher Sprache,[2][3] Tabellenkalkulationen,[4] Skriptsprachen (insbesondere in einer Office -Suite oder einer Kunstanwendung), visuelle Programmierung, Trigger-Action-Programmierung und Programmierung mit gutem Beispielsweise.

Das beliebteste EUD -Tool ist das Kalkulationstabelle.[4][5] Aufgrund ihrer uneingeschränkten Natur ermöglichen Tabellenkalkulationen relativ unerlehnte Computerbenutzer, Programme zu schreiben, die komplexe Datenmodelle darstellen, während sie vor der Notwendigkeit geschützt werden, Programmiersprachen auf niedrigerer Ebene zu lernen.[6] Aufgrund ihres gemeinsamen Gebrauchs im Geschäft gehören Tabellenkalkulationsfähigkeiten zu den vorteilhaftesten Fähigkeiten,[7] Allein in den Vereinigten Staaten von Amerika gibt es schätzungsweise 13 Millionen Programme für Endbenutzerentwickler mit Tabellenkalkulationen[8]

Das Programmierung mit gutem Beispielsweise (PBE) Der Ansatz reduziert die Notwendigkeit, dass der Benutzer die Abstraktionen einer klassischen Programmiersprache lernt. Der Benutzer führt stattdessen einige Beispiele für die gewünschten Ergebnisse oder Operationen ein, die an den Daten ausgeführt werden sollten, und das PBE -System färbt einige Abstraktionen, die einem Programm entsprechen, das diese Ausgabe erzeugt, die der Benutzer verfeinern kann. Anschließend können neue Daten in das automatisch erstellte Programm eingeführt werden, und der Benutzer kann alle Fehler des Programms korrigieren, um seine Definition zu verbessern. Low-Code-Entwicklungsplattformen sind auch ein Ansatz für EUD.

Eine Entwicklung in diesem Bereich hat die Verwendung von mobilen Geräten zur Unterstützung der Endbenutzerentwicklungsaktivitäten berücksichtigt. In diesem Fall können frühere Ansätze für Desktop -Anwendungen angesichts der spezifischen Merkmale mobiler Geräte nicht einfach neu proponiert werden. Desktop -EUD -Umgebungen fehlen die Vorteile, dass Endbenutzer Anwendungen opportunistisch erstellen können, während sie in Bewegung sind.[9]

In jüngerer Zeit hat das Interesse daran, wie EUD zur Unterstützung der Entwicklung von Internet of Things Applications ausnutzen kann. In diesem Bereich scheint Trigger-Action-Programmierung ein vielversprechender Ansatz zu sein.[10]

Lehren aus EUD -Lösungen können die erheblich beeinflussen Software -Lebenszyklen zum kommerzielle Softwareprodukteim eigenen Haus Intranet/Extranet Entwicklungen und Unternehmensanwendung Bereitstellungen.

Anwendungsspezifische Plattformen mit niedriger Codeentwicklung

Rund 40 Anbieter bieten jetzt Lösungen an, die sich an Endbenutzer richten sollen, um die Programmierbemühungen zu reduzieren. Diese Lösungen erfordern keine traditionelle Programmierung und basieren möglicherweise auf relativ enge Funktionalität, z. Vertragsmanagement, Kundenbeziehungsmanagement, Problem und Fehlerverfolgung. Webbasierte Interaktionen, die häufig als Low -Code -Entwicklungsplattformen bezeichnet werden, führen einen Benutzer dazu, eine Anwendung in nur 40 bis 80 Stunden zu entwickeln.[11]

Definition

Lieberman et al. Schlagen Sie die folgende Definition vor:[12]

Die Endbenutzerentwicklung kann als eine Reihe von Methoden, Techniken und Tools definiert werden, mit denen Benutzer von Softwaresystemen, die als nicht professionelle Softwareentwickler fungieren, irgendwann ein Software-Artefakt erstellen, modifizieren oder erweitern.

Ko et al. Schlagen Sie die folgende Definition vor:[13]

Die Endbenutzerprogrammierung ist die Programmierung, um das Ergebnis eines Programms hauptsächlich für persönliche, eher [als] öffentliche Verwendung zu erzielen.

Von Endbenutzern definierte Artefakte können Objekte sein, die ein automatisiertes Verhalten oder eine Steuersequenz beschreiben, z. B. Datenbankanfragen oder Grammatikregeln,[14] die mit Programmierparadigmen beschrieben werden können, wie z. Programmierung durch Demonstration, Programmierung mit Beispielen, visuelle Programmierung, oder Makro Generation.[15] Sie können auch Parameter sein, die zwischen alternativen vordefinierten Verhaltensweisen einer Anwendung wählen.[16] Andere Artefakte der Endbenutzerentwicklung können sich auch auf die Erstellung von benutzergenerierten Inhalten wie Anmerkungen beziehen, die möglicherweise rechnerisch interpretierbar sein oder nicht (d. H. Durch die damit verbundenen automatisierten Funktionen verarbeitet werden können).[17]

Beispiele

Beispiele für die Endbenutzerentwicklung sind die Erstellung und Änderung von:

Kosten-Nutzen-Modellierung

Entsprechend Sutcliffe,[23] EUD lagert die Entwicklungsanstrengungen im Wesentlichen an den Endbenutzer aus. Da es immer einige Anstrengungen gibt, um ein EUD -Tool zu lernen, hängt die Motivation der Benutzer von ihrem Vertrauen ab, dass es ihre Arbeit befähigt, Zeit bei der Arbeit sparen oder die Produktivität steigern wird. In diesem Modell basieren die Vorteile für Benutzer zunächst auf Marketing, Demonstrationen und Mundpropaganda. Sobald die Technologie eingesetzt wird, wird die Erfahrung mit tatsächlichen Vorteilen zum Schlüsselmotivator.

Diese Studie definiert die Kosten als die Summe von:

  • Technische Kosten: Der Preis der Technologie und die Bemühungen, sie zu installieren
  • Lernkosten: Die Zeit, die zum Verständnis der Technologie benötigt wird
  • Entwicklungskosten: Die Bemühungen, Anwendungen mithilfe der Technologie zu entwickeln
  • Testen- und Debugging -Kosten: Die Zeit, die zur Überprüfung des Systems benötigt wird

Die ersten und zweiten Kosten werden beim Akquisition einmal anfallen, während die dritte und vierte jedes Mal anfallen, wenn eine Anwendung entwickelt wird. Vorteile (die wahrgenommen oder tatsächlich wahrgenommen werden können) werden als:

  • Funktionalität, die durch die Technologie geliefert wird
  • Flexibilität, auf neue Anforderungen zu reagieren
  • Verwendbarkeit der produzierten Anwendungen
  • Gesamtqualität der erzeugten Anwendungen

Zusammenarbeit in der Endbenutzerentwicklung

Viele Endbenutzerentwicklungsaktivitäten sind kollaborative Natur, einschließlich der Zusammenarbeit zwischen professionellen Entwicklern und Endbenutzerentwicklern und Zusammenarbeit zwischen Endbenutzerentwicklern.

Gegenseitige Entwicklung[24] ist eine Technik, bei der professionelle Entwickler und Endbenutzerentwickler zusammenarbeiten, um Softwarelösungen zu erstellen. In der gegenseitigen Entwicklung „unter entwirft“ das System häufig die professionellen Entwickler und stellen die Tools zur Verfügung, um den „Eigentümern von Problemen“ zu ermöglichen[25]"Um die geeignete Lösung zum Gebrauchszeit für ihre Bedürfnisse, Ziele und Situationskontexte zu erstellen.[26] Anschließend kann die Kommunikation zwischen professionellen Entwicklern und Endbenutzerentwicklern häufig die formalisierenden Ad-hoc-Modifikationen durch die Endbenutzer in Software-Artefakte formalisieren und die entwickelten Endbenutzer-entwickelten Lösungen in kommerzielle Produktmerkmale mit Auswirkungen über die lokalen Lösungen umwandeln.

In dieser Zusammenarbeit verschiedene Ansätze wie den Workshop zur Software -Forming[27] werden vorgeschlagen, um die Kommunikationslücke zwischen professionellen Entwicklern und Endbenutzerentwicklern zu überbrücken. Diese Ansätze liefern häufig Transluzenz nach dem Modell der sozialen Transluzieren.[28] Ermöglichen, dass alle in der Zusammenarbeit von Änderungen anderer bewusst sein und aufgrund des Bewusstseins für ihre Handlungen zur Rechenschaft gezogen werden.

Neben der Programmierung von Kollaborationsplattformen wie Github, die aufgrund ihrer steilen Lernkurve hauptsächlich von Expertenentwicklern genutzt werden, finden die Zusammenarbeit zwischen Endbenutzerentwicklern häufig auf Wiki-Plattformen statt, auf denen die erstellten Software-Artefakte geteilt werden. Die Endbenutzerentwicklung wird auch häufig zum Erstellen von Automatisierungsskripten oder interaktiven Tutorials zum Teilen von „Anleitungen“ verwendet. Beispiele für eine solche Anwendung sind CoScripter[29] und Hilc.[30] In solchen Anwendungen kann Benutzer Skripte für Aufgaben mithilfe der pseudo-natürlichen Sprache oder durch Programmierung durch Demonstration erstellen. Die Benutzer können das Skript in ein Repository von Skripten im Wiki -Stil hochladen. Auf diesem Wiki können Benutzer verfügbare Skripte durchsuchen und vorhandene Skripte erweitern, um zusätzliche Parameter zu unterstützen, zusätzliche Bedingungen zu verarbeiten oder zusätzliche Objekte zu betreiben.

Online- und Offline-Communities von Endbenutzerentwicklern wurden ebenfalls gebildet, in denen Endbenutzerentwickler EUD-Probleme von gemeinsamem Interesse oder gegenseitigen Nutzen gemeinsam lösen können. In solchen Gemeinden verbreiten lokale Experten Fachwissen und Beratung. Community -Mitglieder unterstützen sich auch sozialer Unterstützung, um die kollaborative Konstruktion von Software zu unterstützen.[31]

Kritik

Die Kommentatoren waren besorgt, dass Endbenutzer nicht verstehen, wie sie ihre Anwendungen testen und sichern sollen. Warren Harrison, Professor für Informatik an der Portland State University, schrieb:[32]

Es ist einfach unergründlich, dass wir Sicherheit erwarten können ... von der überwiegenden Mehrheit der Softwareanwendungen, wenn sie mit wenig, wenn überhaupt, Kenntnis von allgemein anerkannten guten Praktiken wie Angabe vor dem Codieren, systematischen Tests usw. ... Wie viele X für vollständige Idioten (wo "x" sind Bücher von "X" Ihre Lieblingsprogrammiersprache)? Ich war zunächst von diesem Trend amüsiert, aber in letzter Zeit habe ich mich unruhig darüber nachgedacht, wo diese Dabbler ihr neu entdecktes Wissen anwenden.

Dieser Standpunkt setzt davon aus, dass alle Endbenutzer beim Verständnis von Software gleichermaßen naiv sind, obwohl Pliskin und Shval argumentieren, dass dies nicht der Fall ist, dass ausgefeilte Endbenutzer in der Lage sind, die Endbenutzerentwicklung zu entwickeln.[33] Im Vergleich zu erfahrenen Programmierern haben Endbenutzerprogrammierer selten Zeit oder Interesse an systematischen und disziplinierten Software-Engineering-Aktivitäten.[34] Dies macht die Sicherstellung der Qualität des von der Endbenutzerentwicklung hergestellten Software-Artefakts besonders herausfordernd.

Als Reaktion darauf die Studie von Endbenutzer-Software-Engineering ist aufgetaucht. Es geht um Probleme, die über die Endbenutzerentwicklung hinausgehen, wobei Endbenutzer motiviert werden, Probleme wie Wiederverwendbarkeit, Sicherheit und Überprüfbarkeit bei der Entwicklung ihrer Lösungen zu berücksichtigen.[35]

Ein alternatives Szenario ist, dass Endverbraucher oder ihre Berater beschäftigen deklarativ Tools, die strenge Geschäfts- und Sicherheitsregeln auf Kosten der Leistung und Skalierbarkeit unterstützen; Mit EUD erstellte Tools haben in der Regel eine schlechtere Effizienz als diejenigen, die mit professionellen Programmierumgebungen erstellt wurden. Es ist zwar gültig, die Funktionalität von der Effizienz zu trennen Trennung von BedenkenDies kann zu einer Situation führen, in der Endbenutzer die vervollständigen und dokumentieren werden Anforderungsanalyse und Prototyp entwickeln des Werkzeugs ohne Beteiligung von Business Analysten. Daher definieren Benutzer die erforderlichen Funktionen, bevor diese Experten die Möglichkeit haben, die Einschränkungen einer bestimmten zu berücksichtigen Anwendung oder Software -Framework. Die Unterstützung der Geschäftsleitung für solche Endbenutzerinitiativen hängt von ihrer Einstellung zu bestehenden oder potenziellen Verkäufersperrung.

Siehe auch

Verweise

  1. ^ Gerüst, C.; Shaw, M.; Myers, B. (2005-09-01). Schätzung der Anzahl der Endbenutzer und Endbenutzerprogrammierer. 2005 IEEE-Symposium über visuelle Sprachen und menschlich-zentriertes Computing (VL/HCC'05). S. 207–214. doi:10.1109/vlhcc.2005.34. ISBN 978-0-7695-2443-6. S2CID 14608501.
  2. ^ Little, Greg und Robert C. Miller. "Keyword -Befehle in ausführbarem Code übersetzen.
  3. ^ Bruckman, Amy und Elizabeth Edwards. "Sollten wir natürliches Wissen nutzen? Eine Analyse von Benutzerfehlern in einer Programmiersprache im natürlichen Sprache im Stil. "Proceedings der Sigchi -Konferenz über menschliche Faktoren in Computersystemen. ACM, 1999. APA
  4. ^ a b Burnett, Margaret M.; Gerüst, Christopher. Endbenutzerentwicklung. Interaktionsdesign.org. bei "Encyclopedia of Human Computer Interaction".
  5. ^ Hornsby, Peter (2009-08-03). "Nutzern befähigen, ihre eigene Software zu erstellen". Uxmatters. Abgerufen 2014-01-31.
  6. ^ Abraham, R.; Burnett, M; Erwig, M (2009). "Tabellenkalkulationsprogrammierung". Wiley -Enzyklopädie von Informatik und Ingenieurwesen. S. 1–10.
  7. ^ Kruck, S. & Sheetz, S., 2001. Tabelle Genauigkeitstheorie. Journal of Information Systems Education.
  8. ^ Rangidi, C., Shaw, M. & Myers, B., 2005. Schätzung der Anzahl der Endbenutzer und Endbenutzerprogrammierer. 2005 IEEE-Symposium über visuelle Sprachen und menschlich-zentrierte Computing (VL/HCC'05), S. 207–214.
  9. ^ Paternò F., 2013, ISRN -Software -Engineering, Endbenutzerentwicklung: Umfrage über ein aufstrebendes Gebiet zur Stärkung von Menschen
  10. ^ G. Ghiani, M. Manca, F. Paternò, Santoro, C.: Personalisierung von kontextabhängigen Anwendungen durch Trigger-Handlungsregeln. ACM-Transaktionen zur Computer-Human-Interaktion, Band 24, Ausgabe 2, Artikel N.14, April 2017.
  11. ^ Low-Code-Entwicklungsplattformen
  12. ^ Lieberman, H., Paternò, F., Klann, M. und Wulf, V. (2006). Endbenutzerentwicklung: Ein aufstrebendes Paradigma. In: Endbenutzerentwicklung, Lieberman, H., Paternò, F. und Wulf, V. (Hrsg.), Springer Niederlande, 2006, Ser. Human-Computer-Interaktionsreihe, Vol. 9, Kapitel 1, S. 1-7, doi:10.1007/1-4020-5386-X_1
  13. ^ Ko, Andrew J.; Abraham, Robin; Beckwith, Laura; Blackwell, Alan; Burnett, Margaret; Erwig, Martin; Gerüst, Chris; Lawrance, Joseph; Lieberman, Henry (2011-04-01). "Der Stand der Technik im Endbenutzer-Software-Engineering". ACM Comput. Überleben. 43 (3): 21: 1–21: 44. Citeseerx 10.1.1.159.8597. doi:10.1145/1922649.1922658. ISSN 0360-0300. S2CID 9435548.
  14. ^ H. Lieberman, B. A. Nardi und D. Wright. Grammex: Grammatiken mit gutem Beispielsweise definieren. In der ACM -Konferenz über menschliche Faktoren in Computersystemen (Zusammenfassung, Demonstrationen) (CHI ’98), Los Angeles, Kalifornien, USA, Seiten 11–12. ACM Press, Apr. 1998.
  15. ^ Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno. Endbenutzerentwicklung: Der Software-Workshop-Ansatz für die Software-Gestaltung. In Lieberman, H., Paternò, F., Wulf, V. (Hrsg.) (2004) Endbenutzerentwicklung - Ermächtigung von Menschen, fortschrittliche Informations- und Kommunikationstechnologie flexibel zu verwenden, © 2004 Kluwer Academic Publishers, Dordrecht, Niederlande.
  16. ^ Costabile, M. F., Fogli, D., Letondal, C., Musssio, P., Piccinno, A., Domain -Expert -Benutzer und deren Anforderungen der Softwareentwicklung", UAHCI-Konferenz, Kreta, 22. bis 27. Juni 2003, 232-236.
  17. ^ Gerhard Fischer Endbenutzerentwicklung und Meta-Design: Grundlagen für Kulturen der Teilnahme. Endbenutzer-Entwicklungsvorlesungen in Informatik, 2009, Band 5435/2009, 3-14,
  18. ^ Gerüst, Christopher; Brandt, Joel; Burnett, Margaret; Taube, Andrew; Myers, Brad (2012). Sig: Endbenutzerprogrammierung. Chi '12 erweiterte Abstracts zu menschlichen Faktoren in Computersystemen. Chi Ea '12. S. 1193–1996. doi:10.1145/2212776.2212421. ISBN 9781450310161. S2CID 17748945.
  19. ^ Leonardi, Nicola; Manca, Marco; Paternò, Fabio; Santoro, Carmen (2019). Trigger-Action-Programmierung zur Personalisierung des humanoiden Roboterverhaltens. CHI '19 ACM -Konferenz über menschliche Faktoren in Computersystemen. doi:10.1145/3290605.3300675. ISBN 978-145035970-2. S2CID 140220651.
  20. ^ Sarkar, Advait; Blackwell, Alan; Jamnik, Mateja; Spott, Martin (Juli 2014). Lehren und Versuchen: Eine einfache Interaktionstechnik für die Erkundungsdatenmodellierung durch Endbenutzer. 2014 IEEE-Symposium über visuelle Sprachen und menschlich-zentriertes Computing (VL/HCC 2014). S. 53–56. Citeseerx 10.1.1.695.2025. doi:10.1109/VLHCC.2014.6883022. ISBN 978-1-4799-4035-6. S2CID 14845341.
  21. ^ Haynes, John L. (Herbst 1985). "Schaltungsdesign mit Lotus 1-2-3". BYTE. S. 143–156. Abgerufen 19. März 2016.
  22. ^ Roy Chowdhury, Soudip; Rodriguez, Carlos; Daniel, Florian; Casati, Fabio (2010). Weisheitsbewusstes Computer: Auf die interaktive Empfehlung des Kompositionswissens. ICSOC'10. pp.144–155. ISBN 9783642193934.
  23. ^ Sutcliffe, Alistair (Juli 2005). "Bewertung der Kosten und Vorteile der Endbenutzerentwicklung". ACM Sigsoft Software Engineering Notizen. 30 (4): 1–4. doi:10.1145/1082983.1083241.
  24. ^ Andersen, Renate; Mørch, Anders I. (2009-03-02). Gegenseitige Entwicklung: Eine Fallstudie in der von Kunden initiierten Softwareproduktentwicklung. Endbenutzerentwicklung. Vorlesungsnotizen in Informatik. Vol. 5435. S. 31–49. Citeseerx 10.1.1.598.9066. doi:10.1007/978-3-642-00427-8_3. ISBN 978-3-642-00425-4.
  25. ^ Fischer, Gerhard (1994-01-01). "Die Eigentümer von Problemen mit domänenorientierten Designumgebungen verantwortlich machen". Benutzerorientierte Anforderungen für Software-Engineering-Umgebungen. Springer, Berlin, Heidelberg. S. 297–306. Citeseerx 10.1.1.310.8814. doi:10.1007/978-3-662-03035-6_23. ISBN 978-3-642-08189-7.
  26. ^ Fischer, Gerhard; Giaccardi, Elisa (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (Hrsg.). Endbenutzerentwicklung. Mensch-Computer-Interaktionsreihe. Springer Niederlande. pp.427–457. doi:10.1007/1-4020-5386-X_19. ISBN 9781402042201.
  27. ^ Lieberman, Henry; Paternò, Fabio; Klann, Markus; Wulf, Volker (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (Hrsg.). Endbenutzerentwicklung. Mensch-Computer-Interaktionsreihe. Springer Niederlande. pp.1–8. doi:10.1007/1-4020-5386-X_1. ISBN 9781402042201.
  28. ^ Erickson, Thomas; Kellogg, Wendy A. (2000-03-01). "Soziale Transluzien: Ein Ansatz zum Entwerfen von Systemen, die soziale Prozesse unterstützen". ACM trans. Comput.-Hum. Interagieren. 7 (1): 59–83. doi:10.1145/344949.345004. ISSN 1073-0516. S2CID 5943805.
  29. ^ Angehandelt, Gilly; Haber, Eben m.; Matthews, Tara; Lau, Tessa (2008-01-01). COSCRIPTER: Automatisieren und Teilen von Anleitungen im Enterprise. Verfahren der Sigchi -Konferenz über menschliche Faktoren in Computersystemen. Chi '08. New York, NY, USA: ACM. S. 1719–1728. doi:10.1145/1357054.1357323. ISBN 9781605580111. S2CID 5989563.
  30. ^ Intharah, Thanapong; Turmukhambetov, Daniyar; Brostow, Gabriel J. (2017-01-01). Hilfe, es sieht verwirrend aus: GUI-Aufgabenautomatisierung durch Demonstrations- und Folgefragen. Verfahren der 22. Internationalen Konferenz über intelligente Benutzeroberflächen. Iui '17. New York, NY, USA: ACM. S. 233–243. doi:10.1145/3025171.3025176. ISBN 9781450343480. S2CID 16596496.
  31. ^ Fischer, G.; Giaccardi, E.; Ye, y.; Sutcliffe, A. G.; Mehandjiev, N. (2004-09-01). "Meta-Design: Ein Manifest für die Endbenutzerentwicklung". Kommunieren. ACM. 47 (9): 33–37. doi:10.1145/1015864.1015884. ISSN 0001-0782. S2CID 11675776.
  32. ^ Harrison, Warren (Juli -August 2004). "Die Gefahren der Endbenutzerprogrammierung". IEEE -Software. 21 (4): 5. doi:10.1109/ms.2004.13.
  33. ^ Pliskin, Nava; Shoval, Peretz (1987). "Endbenutzerprototyping: Anspruchsvolle Benutzer unterstützen die Systementwicklung". ACM Sigmis -Datenbank. 18 (4): 7–17. doi:10.1145/1017816.1017817. S2CID 18183262.
  34. ^ Brandt, Joel; Guo, Philip J.; Lewenstein, Joel; Klemmer, Scott R. (2008-01-01). Opportunistische Programmierung: Wie schnell Ideen und Prototypen in der Praxis auftreten. Verfahren des 4. Internationalen Workshops zum Endbenutzer-Software-Engineering. We Use '08. New York, NY, USA: ACM. S. 1–5. doi:10.1145/1370847.1370848. ISBN 9781605580340. S2CID 17479074.
  35. ^ "Endbenutzer-Software-Engineering: Empirische Erkenntnisse". Endbenutzer, die effektives Softwarekonsortium prägen. Abgerufen 2008-05-28.

Weitere Lektüre

Externe Links