LF10 Benutzerschnittstellen gestalten und entwickeln

Du kannst gerne unter meinem GitHub mithelfen.

I. User Interface - Die Verbindung zwischen Mensch und Maschine


Stell dir vor, du willst mit einem Computer sprechen - aber ihr habt keine gemeinsame Sprache. Das User Interface ist der Übersetzer zwischen dir und der Maschine.

Was ist ein User Interface?

Eine Benutzerschnittstelle (User Interface, UI) verbindet Menschen mit Computern. Sie ist überall: in Software, Apps, Maschinen und Haushaltsgeräten. Ohne UI könntest du deinen Computer nicht bedienen.

Warum brauchen wir UIs?

Die Grundbausteine

UI arbeitet mit Eingabe- und Ausgabegeräten:

Eingabegeräte

Damit sagst du dem Computer, was er tun soll:

Ausgabegeräte

Damit antwortet der Computer:

Die Evolution der Benutzeroberflächen

Hardware User Interface

Die einfachste Form: Physische Knöpfe und Schalter

Batch Interface

Die Steinzeit der Computer: Lochkarten-Ära

Text-based User Interface (CLI)

Die Kommandozeile - nur Text, keine Bilder:

Vorteile:

Nachteile:

Menüs machen es einfacher:

Problem: Bei vielen Funktionen wird es unübersichtlich

Graphical User Interface (GUI)

Windows, Mac, Smartphone - das kennst du:

Vorteile:

Nachteile:

Conversational User Interface (CUI)

Siri, Alexa, ChatGPT - Sprechen wie mit Menschen:

Vorteile:

Nachteile:

Virtual Reality User Interface (VRUI)

VR-Brille - Eintauchen in andere Welten:

Brain-Computer User Interface (BCI)

Gedankensteuerung - Science Fiction wird real:


II. Qualitätssicherung - Wie gut ist gut genug?


Stell dir vor, du kaufst ein Auto, aber die Bremsen funktionieren nur manchmal. Software ohne Qualitätssicherung ist genauso gefährlich - nur meist weniger offensichtlich.

Was bedeutet Qualität bei Software?

Qualität = Software erfüllt alle Anforderungen gut. Das heißt: Sie tut, was sie soll, und zwar zuverlässig, sicher und benutzerfreundlich.

Warum ist das wichtig?

Die 8 Qualitätskriterien (ISO/IEC 25010)

Funktionale Vollständigkeit

Sind alle geforderten Funktionen da?

Funktionale Korrektheit

Funktionieren die vorhandenen Funktionen richtig?

Gebrauchstauglichkeit

Können normale Menschen die Software bedienen?

Sicherheit

Sind Daten und Nutzer geschützt?

Zuverlässigkeit

Läuft die Software stabil ohne Abstürze?

Performanz

Ist die Software schnell genug?

Portierbarkeit

Läuft die Software überall?

Kompatibilität

Arbeitet sie mit anderen Programmen zusammen?

Wartbarkeit

Lässt sich der Code einfach ändern?

Wie testet man Software?

Der Testprozess - Schritt für Schritt:

  1. Testplanung - Wer testet was wann?
  2. Testentwurf - Wie genau wird getestet?
  3. Testvorbereitung - Testumgebung aufbauen
  4. Testdurchführung - Tests durchführen
  5. Testauswertung - Ergebnisse bewerten
  6. Testabschluss - Alles dokumentieren

Test-Philosophien:

Black-Box-Tests

Testen ohne in den Code zu schauen

White-Box-Tests

Testen mit Code-Kenntnis

Die Test-Pyramide:

Komponententest (Unit Test)

Testet einzelne Code-Teile

Integrationstest

Testet das Zusammenspiel

Systemtest

Testet die komplette Anwendung

Abnahmetest (Akzeptanztest)

Der Kunde testet vor Übergabe

Weitere Qualitätsmaßnahmen

Codeanalyse

Automatische Code-Prüfung

Debugging

Fehlersuche im Code

Code Review

Kollegen schauen über den Code

Pair Programming

Zwei Entwickler, ein Computer


III. User Experience - Wie fühlt sich Software an?


Stell dir vor, du gehst in ein Restaurant. Das Essen ist gut, aber der Service ist schlecht, es ist laut und das Klo ist dreckig. Kommst du wieder? User Experience ist das Gesamterlebnis mit einem Produkt.

Was ist User Experience?

UX ist mehr als nur schönes Design. Es ist das komplette Erlebnis: Wie fühlt sich die Nutzung an? Macht es Spaß? Ist es frustrierend? Erreiche ich meine Ziele?

Das UX-Honeycomb - 7 Zutaten für gute UX:

Nützliche Software - USEFUL

Löst echte Probleme

Gebrauchstaugliche Software - USABLE

Einfach zu bedienen

Attraktive Software - DESIRABLE

Sieht gut aus und spricht Gefühle an

Auffindbare Software - FINDABLE

Man findet, was man sucht

Barrierefreie Software - ACCESSIBLE

Funktioniert für alle Menschen

Glaubwürdige Software - CREDIBLE

Schafft Vertrauen

Hochwertige Software - VALUABLE

Bringt echten Wert

Die 10 UX-Gestaltungsprinzipien

Sichtbarkeit des Systemzustands

Zeige, was gerade passiert

Stell dir vor, du drückst einen Aufzugsknopf - ohne Feedback weißt du nicht, ob er reagiert hat.

Wirklichkeitsbezug

Nutze bekannte Konzepte aus der realen Welt

Beispiele:

Benutzerfreiheit

Lass Nutzer selbst entscheiden

Menschen machen Fehler und ändern ihre Meinung:

Konsistenz

Gleiches sieht gleich aus und funktioniert gleich

Fehlervermeidung

Verhindere Fehler, statt sie nur zu korrigieren

Strategien:

Merkhilfen

Wiedererkennen ist einfacher als sich erinnern

Flexibilität

Verschiedene Wege für verschiedene Nutzer

Minimalismus und Ästhetik

Weniger ist mehr

Der erste Eindruck entscheidet in Sekundenbruchteilen:

Fehlerbehandlung

Wenn doch Fehler passieren: Hilf beim Lösen

Hilfe

Hilfe genau dann, wenn sie gebraucht wird




Diese Zusammenfassung basiert auf den Materialien von Herrn Alfred Walter.

Die Informationen und Konzepte wurden aus den von ihm bereitgestellten Lehrunterlagen und Vorlesungen entnommen. Alle Bilder, die hier gepostet wurden, wurden in meiner eigenen Umgebung erstellt, stammen aus dem Buch Westermann oder aus den PDF-Präsentationen von Herrn Alfred Walter.
Mein Ziel war es, die wesentlichen Punkte zusammenzufassen und die Kerninhalte verständlich darzustellen.