End User Development

End User Development

End user development (EUD) (dt. etwa Endbenutzer-Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen. Typische Beispiele für EUD sind Makroprogrammierung in Bürosoftware, wie Textverarbeitung und Tabellenkalkulation.

Inhaltsverzeichnis

Teilgebiete

Je nach Problemstellung und Zielgruppe werden verschiedene Ansätze angewendet, um Endbenutzern die Programmierung zu ermöglichen.

Bei den Grafischen Programmiersprachen entwickelt der Benutzer Programme nicht wie bei den üblichen Programmiersprachen durch die Eingabe eines Textes, sondern er setzt visuelle Elemente zusammen, etwa Blöcke und diese verbindende Linien. Durch diese Darstellung soll der „Quelltext“ leichter zu verstehen sein und somit auch durch Endbenutzer verändert werden können.

Domänenspezifische Sprachen werden nicht wie universell einsetzbare Programmiersprachen auf alle Probleme angewendet, sondern nur auf bestimmte Anwendungsdomänen, zum Beispiel SQL für Datenbankabfragen. Kenner der Domäne müssen daher keine universelle und somit auch komplexe Programmiersprache lernen, sondern können sich auf die für ihre Anwendungsdomäne relevanten Teile beschränken. Die beiden beschriebenen Ansätze können kombiniert werden, so dass es auch Grafische Domänenspezifische Sprachen gibt.

Auch universelle Programmiersprachen sind unterschiedlich schnell zu erlernen, so dass sich bestimmte universelle Programmiersprachen besser für Endbenutzer eignen. Die Entwicklung leicht zu erlernender Sprachen wie Python erlauben auch Endbenutzern einen einfachen Zugang zum Programmieren. Deutlich weiter geht der Ansatz, natürliche Sprache im Sinne einer Programmiersprache zu verwenden. So gibt es Ansätze, bei denen durch Eingabe englischer Sätze interaktiv ein Python-Programm erzeugt wird[1]. Umgekehrt kann das Python-Programm auch in englischer Sprache ausgegeben werden.

Endbenutzer können auch klassische universelle Programmiersprachen wie C verwenden. Ein Endbenutzer braucht hierfür allerdings gute Lehrbücher oder Beispielprogramme, da diese Programmiersprachen mehr Lernaufwand erfordern. Entwicklungsumgebungen für Anfänger unterstützen den Endbenutzer beim Lernen und Programmieren mit erklärenden Hinweisen.

Beim Programming By Example demonstriert der Benutzer eine häufig auszuführende Handlung einige Male. Die Software abstrahiert mit Techniken der Künstlichen Intelligenz auf ein generelles Muster und kann die gezeigte Handlung danach wiederholen und gegebenenfalls sogar auf andere Anwendungsgebiete übertragen. Ein einfaches Beispiel wäre die Aufzeichnung einer Tastenfolge, die später wieder abgerufen werden kann. Es ist allerdings umstritten, ob Programming By Example überhaupt als Programmieren gewertet werden kann, da kein Quelltext analysiert und nicht debuggt werden kann[2]. Durch die Kombination mit Grafischen Programmiersprachen wird versucht, diesen Mangel zu beheben.

Literatur

  • H. Lieberman, F. Paterno, V. Wulf (Hrsg.): End-User Development. In: Human-Computer Interaction Series Vol. 9, Springer, Dordrecht 2006, ISBN 1-4020-4220-5.
  • Bonnie A. Nardi: A Small Matter of Programming: Perspectives on End User Computing, MIT-Press, Cambridge, 2. print 1995, ISBN 0-262-14053-5.

Weblinks

Einzelnachweise

  1. Hugo Liu, Henry Lieberman: Metafor: visualizing stories as code, IUI '05: Proceedings of the 10th international conference on intelligent user interfaces, ACM, New York 2005, S. 305-307
  2. Caitlin Kelleher, Randy Pausch: Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers, ACM Computing Surveys Vol. 37, 2005, S. 84

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • End-user development — (EUD) is a research topic within the field of computer science, describing activities or techniques that allow people who are not professional developers to create or modify a software artifact. A typical example of EUD is programming to extend… …   Wikipedia

  • End-User Development — (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen.… …   Deutsch Wikipedia

  • End-user computing — (EUC) is a group of approaches to computing that aim at better integrating end users into the computing environment or that attempt to realize the potential for high end computing to perform in a trustworthy manner in problem solving of the… …   Wikipedia

  • End-User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-user (computer science) — The end user is a p concept in software engineering, referring to an abstraction of the group of persons who will ultimately operate a piece of software (i.e. the expected user or target user).This abstraction is meant to be useful in information …   Wikipedia

  • End-User — Der Begriff Endbenutzer (auch End , Privat oder Heimanwender) bezeichnet im IT Bereich und in der Unterhaltungselektronik die Person, welche von Dritten zur Verfügung gestellte Informatikprodukte, beispielsweise Software, verwendet. Entgegen der… …   Deutsch Wikipedia

  • End user — Der Begriff Endbenutzer (auch End , Privat oder Heimanwender) bezeichnet im IT Bereich und in der Unterhaltungselektronik die Person, welche von Dritten zur Verfügung gestellte Informatikprodukte, beispielsweise Software, verwendet. Entgegen der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”