Name, Kurzform | Prinzip der minimalen Verwunderung |
Synonyme |
Prinzip
der geringsten Überraschung,
Principle/Rule/Law
of Least Astonishment (PLA, POLA),
Principle/Rule/Law
of Least Surprise (POLS) |
Beschreibung | Software sollte so konstruiert sein, dass sie von allen mit ihr befassten Akteuren mit minimaler Verwunderung wahrgenommen werden kann. |
Erläuterung |
Das
Prinzip der minimalen Verwunderung kommt in zahlreichen
unterschiedlichen Formulierungen vor, die jeweils einen bestimmten
Aspekt der Interaktion mit einer Software hervorheben. Die
folgende Abbildung stellt einige wesentliche auf Software bezogene
menschliche Handlungen dar, die wir bereits bei der Kategorisierung der Prinzipien zusammengetragen hatten:
Einige
dieser Perspektiven forcieren den Begriff der Schnittstellle:
|
Beispiel(e) |
Für
jeden der oben abgebildeten Akteure beziehen sich die folgenden
Beispiele auf unterschiedliche Element-Typen. Z. B. sind für den
Benutzer
die Elemente der Benutzungsoberfläche wie Buttons, Menüeinträge,
Links (usw.) relevant, für den Entwickler
sind es Quellcode-Elemente wie Klassen, Interfaces, Methoden
(usw.), für den Betreiber
hingegen Dateien, Adressen, Tabellen (usw.). Für all diese Elemente sollte erreicht werden:
|
Historie |
Im
Jahr 1987 taucht das Prinzip erstmals in zwei Publikationen auf:
In einem wissenschaftlichen Artikel über Constraint-Hierarchien
erwähnen Alan Borning und Kollegen das Prinzip beiläufig
[Borning1987]. Am Xerox PARC, wo Borning zu dieser Zeit tätig
war, wurden Konzepte und Technologien grafischer
Benutzerschnittstellen damals intensiv untersucht, so dass nicht
auszuschließen ist, dass das Prinzip dort so geläufig war, dass
Borning es nicht für nötig hielt, es eigens zu erläutern. Die
zweite Publikation, in der das Prinzip erwähnt und auch erläutert
wurde, ist das „Tao of Programming“ von Geoffrey James. Dort
heißt es:
Als
relativ gesichert darf gelten, dass das Prinzip zunächst
ausschließlich auf die Benutzung von Software bezogen war und
erst später auch auf Programmierschnittstellen übertragen wurde.
Im
Lauf der Zeit fanden sich auch prominentere Zeitgenossen, die dass
Prinzip anführten:
|
Art des Prinzips |
|
Grad der formalen Spezifikation | Keine formale Spezifikation. |
Vorteile |
|
Nachteile |
|
Übergeordnete Prinzipien | - |
Abgleitete Prinzipien | - |
Qualitätsmerkmale | (+) Verständlichkeit, (+) Wartbarkeit, (+) Änderbarkeit, (+) Wiederverwendbarkeit |
Quellen
[Bloch2005]
- How
to Design a Good API and Why it Matters,
siehe Foliensatz unter http://lcsd05.cs.tamu.edu/,
Joshua Bloch (2005)
[Booch2003]
- The
illusion of simplicity,
Grady Booch (2003)
[Borning1987] - Constraint Hierarchies, Borning A., Duisberg R., Freeman-Benson, B., Kramer A., Woolf, M. (1987)
[Raymond2004]
- The Art of Unix Programming, Applying the Principle of Least
Surprise, Eric Raymond (2004)