Klausurvorbereitung

Pas Aio

Pas Aio

Kartei Details

Karten 97
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 06.07.2013 / 13.06.2019
Weblink
https://card2brain.ch/box/visualcomputing_benutzerschnittstellen
Einbinden
<iframe src="https://card2brain.ch/box/visualcomputing_benutzerschnittstellen/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Warum sind gute Benutzerschnittstellen immer wichtiger?

Veränderung der Zielgruppe (insbesondere Arbeitswelt und private Nutzung): Wachsende Zahl an Menschen mit unterschiedlichsten Vorkenntnissen und geringerem Verständnis für Algorithmen, Software und Rechentechnik musste in die Lage versetzt werden, Computerprogramme zu bedienen.

Was ist der Unterschied zwischen dieser Veranstaltung und anderern Informatik-Lehrnveranstaltungen?

Konzentration auf das Front-End (Benutzersicht) der Software.

Unterschied in der Zielsetzung:
NICHT Performance, hohes Maß an Robustheit und Funktionalität
SONDERN Benutzbarkeit, Zufriedenheit und Attraktivität

Was sagt Ben Shneiderman über das neue Computerzeitalter?

"The old computing was about what computers can do, the new computing is about what humans can do."

Was sind die Herausforderungen der privaten Nutzung?

-keine Schulung, keine Handbücher ►intuitive Oberfläche

-besondere Beachtung von Alten, Kindern, Behinderten

-Barrierefreie Nutzung

-webbasierte Systeme → Heterogenität von Displays und Browsern beachten

Welche Probleme wollen wir bei unseren Benutzerschnittstellen vermeiden?

> hohen Zeit- und Arbeitsaufwand
> unnötige Kompliziertheit
> Veränderung der gewohnten/gewünschte Arbeitsweise (Individualisieren kostet oft viel Zeit, teilweise unbemerkt)
> Aufteilen von Vorgängen in sinnlose Teile
> Psychische Beeinträchtigungen (z. B. Stress)
> Abhängigkeit von Experten

Was heißt benutzerfreundlich?

Effektivität, Effizienz, Zufriedenheit und angenehme Erfahrung

Nennen sie drei Unterschiede ziwschen UI-Entwicklung und klassischer Softwareentwicklung.

 

 

-bei UI Entwicklung: iterative Entwicklung, schrittweise Verfeinerung (Gestaltung ist keine definierte Optimierungsaufgabe), Zyklen, ständig kompromisse nötig

-bei klassischer Softwareentwicklung: klar getrennte zeitliche Phasen, formale Methoden

Nennen Sie drei neue Arten von Benutzerschnittstellen.

> Spielekonsolen (Wii, Xbox Kinect)
> Webbasierte Systeme (XING, Facebook)
> Eingebettete interaktive Systeme (Verschmelzung von realen
Geräten und Software → Waschmaschine, Kopiergeräte,
Kaffeemaschine, !! Cockpit moderner Autos → Fahrzeugnavigation,
Mediensteuerung)
> Multitouch- und Sensorbasierte Systeme (ReacTable,
SmartPhone)
> Interaktive Systeme für kreative Systeme (Mind Manager,
Wikis)
> Benutzerschnittstellen mobiler Geräte (PDA, Handys)
> Sicherheitskritische Anwendungen (Master-Slave-Roboter)

Welche Ideen hatte Bush zur Bewältigung der Informationsflut?

 

„As we may think“
> Menschen denken assoziativ → inhaltsbasierte Suche nach Infos
> MEMEX
„soll in dieser personalisierten Bibliothek so suchen können
wie der Mensch in seinem Langzeitgedächtnis nach Informationen
sucht und damit den menschlichen Speicher erheblich erweitern“
> Aufbereitung von Informationen (Digitalisierung,
Schlüsselwörter, Querverweise)
> Integration von Lesezeichen, Notizen, Anmerkungen
==> Konsequenz für GUI: Orientierung an realen Modellen
(Analogien mit Bibliotheken, Büchern)

Was ist die "Man-Computer-Symbiosis"?

  • 1960 Licklider als Begründer
  • höhere Produktivität durch Benutzerschnittstelle
  • Erschließung neuer Anwendungsfelder mithilfe neuer Benutzerschnittstelle

Ziele:

  • Computer als kooperativer Partner
  • Interaktive Arbeit
  • Trial-and-Error Prozesse

Von ihm geforderte kurzfristige Anforderungen an die Interaktion (eher technologisch):

  • Time Sharing Systeme zur Feststellung der Rechnerzeit
  • große Speicher, schnelle Prozesse etc.

Von ihm geforderte langfristige Aufgaben bezüglich der Interaktion:

  • Verstehen natürlicher Sprache
  • Erkennung von Zeichnungen und Gesten

Welche vier Prozesse prägen des SketchPad?

-Begründer: Sutherland and Jonsen

-Erstes CAD Programm der interaktiven Computergrafik

-Benutzte erstmals folgende Konzepte:

  • Die Übertragung einer per Hand gezeichneten Skizze (Grafiktablett und Stift (Light Pen) in elektronischer Form
  • Speichern und Einordnen der Objekte/Skizzen in Objekthierarchien
  • Anzeige der Objekte als Vektorgrafiken
  • Erstmals konnten Objekte auf dem Screen direkt manupuliert werden

Worauf soll sich laut Engelbert und Nelson die Benutzerschnittstelle fokussieren?

-Analyse des Problemlöseverhaltens

-Unterstützung von Menschen bei der Lösung

-Engelbert erfand die "Maus"

-Nelson entwickelte die Hyper Text

-Entwickelte fensterbasiertes NLS (On Line System)

-Erste Verwendung von grafischen Bildschirmen

Beschreiben Sie die Zielstellung, Zielgruppe, Technologie und Interaktion des XEROX Star

-1979-81: Erstes kommerzielles System mit grafischer Benutzeroberfläche

-Zielstellung: Erstellung und Verwaltung von Dokumenten, Terminen, Nachrichten, Tanellenkalkulation und Geschäftgrafiken

Zielgruppe: Manager ► kaum Erfahrung mit Computern und hoher Zeitdruck

Technologien: Eigene Workstation mit anderen Rechnern vernetzt, grafischer Bildschirm mit Fenstern und Icons, Steuerung mit Maus

Ursachen des geringen Erfolgs: Späte Markteinführung, hoher Preis, einseitige Konzentration auf neue Interaktionstechniken, starke Verkettung der Anwendung (Monolithisch), kaum Drittanbieter, keine Freigabe der Entwicklungswerkzeuge, keine Gestaltungsrichtlinien

 

Welche drei neuen Interaktionstechniken wurden beim Apple Macintosch eingeführt?

1. Direkte Manipulation

2. Drag and Drop

3. Einführung der Zwischenablage

Nennen Sie die fünf Paradigmen des Apple Macintosh

-Strikte Trennung von Anwendung und GUI

-Nutzen von Ressource Dateien

-Entwicklung und Weiterentwicklung von Styleguides

-Quantitative Ziele bei der Evaluierung, konkrete und harte Termin- und Kostenvorgaben

-Konsequente Unterstützung von Drittanbietern

-Werkzeuge und Richtlinien für Drittanbieter

Nennen sie drei Konzepte der Sprache Smaltalk

-Vorgefertigte Klassen für Dialogelemente

-integrierte Tools zur Erstellung von Logos und Icons

-Schnelle Erstellung von interaktive Systemen

Warum führt die Miniaturisierung von Elektronik zu Herausforderungen bezüglich der Benutzerschnittstelle

-Eingabegeräte werden überflüssig da direkte Manipulation durch zB. Touch- und Spracheingaben Standard werden

►Neue Benutzerschnittstellen müssen daher darauf angepasst werden

Entwicklung des WWW?

-Ende der 80er Jahre diente es dem Daten- und Mailaustausch

-Ziel: Informationsaustausch

-Anfänge: Interne Nutzung

Wie können JAVA Ereignisse verarbeitet werden?

-Ereignis wird jeweils innerhalb einer bestimmten Komponente ausgelöst und an anderer Stelle darauf reagiert

-Untersuchung verschiedener Konzepte dahingehend:

  • wie eine Ereignisbehandlungsroutine über das Auftreten eines bestimmten Ereignisses informiert wird
  • wie die Unterscheidung verschiedener Ergebnisse vorgenommen wird

Wie hängen Listener und Komponenten zusammen?

-Listener melden sich bei Komponenten an

-Komponenten benachrichtigen Listener, wenn Events auftreten

 

Welche Ereignisse treten in Benutzerschnittstellen auf?

-onBlur, onChange, onClick, onDblClick, onFocus, onSubmit, onKeydown, onKeyup,onKeypress, onLoad, onUnload, onReset, onSelect, onMousedown, onMouseup, onMouseover, onMousemove, onMouseout

Event-Listener: FocusListener, ActionListener, AdjustmentListener, ItemListener, TextListener, KeyListener, MouseListener, MouseMotionListener, WindowListener, ContainerListener, ComponentListener

Was ist beim KeyboardListener zu beachten?

Die Komponente mit registriertem Listener muss zum Zeitpunkt des Events im Fokus sein.

Welche vier Konzepte für die Ereignisverarbeitung gibt es?

-Zentralisierte Verarbeitung

-Eigene (externe) Klasse

-Innere Klasse

-anonyme innere Klasse

Wozu verwenden wir anonyme innere Klassen?

-Ereignisse können textuell sehr nahe an der Erzeugung der Komponente implementiert werden ⇒ Der Code wird übersichtlicher

-Es müssen keine neuen Klassen mit eigenen Namen erzeugt werden⇒Die gesamte Klassenhierarchie wird übersichtlicher und deutlich kleiner

Aus welchen drei Komponenten bestehen Menüs?

JMenuBar, JMenu, JMenuItem

Nennen Sie zehn GUI Komponenten

AWT & Swing+AWT: JButton, JMenu, JLabel, JTextfield, JPanel, JFrame, JSlider, JColorChooser, JFileChooser

Welche verschiedenen Layouts gibt es in Java?

Flow-, Border-, Box-, Grid-, Spring- und GroupLayout

Wozu brauchen wir Verschachtelung in Benutzerschnittstellen?

-ein optisch ansprechendes Layout entsteht durch die Verschachtelung verschiedener Layout-Manager

-ebense können nur hierdurch komplexe und flexible Benutzeroberflächen gestaltet werden

Nennen sie fünf Vorteile des Entwurfsmusters Model View Controller

  • Einem Model können mehrere Views zugeordnet werden
  • VIews können leicht ausgetauscht, hinzugefügt und erweitert werden
  • Verbesserte Wartbarkeit und Wiederverwendung
  • Mehrere Ansichten werden synchronisiert, weil sie auf die gleichen Daten lauschen

Aus welchen drei Entwurfsmustern besteht MVC? Erläutern Sie die Funktionsweise dieser Entwurfsmuster.

-Das Model implementiert das Observer Muster (kann durch Eventlistener oder Observer realisiert werden)

  • Auf das Model wird ein Listener gesetzt, der alle angemeldeten View Komponenten benachrichtigt, sobald sich etwas am Model geändert hat
  • Diese Änderungen verursachen Aktualisierungen der View
  • Das Model braucht auf diese Weise die View nicht zu kennen (lose Kopplung)
  • Model erweitert die Observable Klasse, über die sich verschiedene Komponenten als Beobachter/Listener anmelden lassen
  • Bei jeder Änderung lässt sich die notifyObservers() Methode aufrufen, die die Änderung an jeden Beobachter weiter gibt
  • Die Beobachter müssen die Klasse Observer mit deren einziger Methode update() erweitern
  • Die Methode wird immer aufgerufen, wenn sich das Model geändert hat

-View und Controller implementieren das Strategy Muster  

  • Die View ist mit einer bestimmten Strategie gekoppelt. Diese Strategie wird vom Controller implementiert
  • Die Strategie kann man in separate Klassen auslagern, damit man sie zur Laufzeit je nach Bedarf austauschen kann
  • Eine mögliche Strategie ist das Rendern des Aussehens eines Fensters. Das sieht unter Windows zB anders aus als unter Mac OS. Das liegt daran, dass die Algorithmen zum Rendern des Fensters beim Start des Programms je nach Bedarf(System) ausgetauscht werden
  • Ermittelt an den Daten, die die View bei einem Event weiter gibt die zugehörigen Models und nimmt ggf Änderungen an dem Model vor
  • Kennt View und Model
  • Meist sind die Listener die Controller. Eine Action auf einer View Komponente führt über einen Controller zu einer Statusänderung im Model
  • Die Views werden dann durch einen Update Mechanismus aktualisiert (siehe Observer Pattern)

-Die View implementiert das Composite Muster

  • Alle grafischen Komponenten sind von der Klasse Component abgeleitet
  • Das sorgt dafür, dass alle Ereignisse bei jedem Objekt gleich angenommen und behandelt werden können
  • http://en.wikipedia.org/wiki/Composite_pattern
  • Composite Muster ist nur zur Strukturierung und Kapselung von gemeinsamen Funktionen gedacht
  • Kennt Model und Controller

Nennen sie drei Bestandteile des MVC

Zustandslogik

  • Hier wird der Zustand der Views und der Software gespeichert und verarbeitet

Datenlogik

  • Hier werden Daten gespeichert, so wie in der Datenbank

Anwendungslogik

  • Hier sind die Funktionen die für die Verarbeitung der Informationen zustänid ist

Was sind die Aufgaben der View und des Controllers?

View

  • Darstellung der benötigten Daten und die Entgegennahme von Benutzerinteraktionen. Nicht für Weiterverarbeitung der vom Benutzer angebenen Daten

Controller

  • Nimmt die Benutzerinteraktion entgegen, wertet diese aus und agiert entsprechend. Zu jeder View existiert ein Controller, welcher die Daten manipuliert, entscheidet auf Grund der Benutzerinteraktion auf der View, welche Daten verändert werden müssen und schränkt die Benutzerinteraktion der View ein
  • Schaltzentrale

Wer weiss bei MVS "nichts über die anderen beiden"?

-Das Model weiß nichts über die beiden anderen Komponenten. Dabei wird das Model von der View auf Veränderungen beobachtet. Hier wird nach dem Entwurfsmuster des Beobachters vorgegangen.

Erläutern Sie den Ablauf einer Interaktion mit MVC

  1.  User interagiert mit View
  2. Controller fordert Modell auf seinen Zustand zu ändern
  3. Controller fordert View auf geänderten Zustand zu zeigen (Manchmal optional → Sorgt für Feedback zum Beispiel in Form eines ausgegrauten Buttons o. Ä. / Hier werden nochkeine Daten geändert, nur Anzeige in der View)
  4. Modell benachrichtigt View, dass es sich geändert hat
  5. View erfragt Details über Änderung bei Modell

Was ist die Rolle des Controllers? Warum ist er erforderlich?

- Der Controller ist sozusagen ein Übersetzer (Mensch-Maschine)

-Der Controller besitzt die Listenerfunktion und sorgt für die richtige Reaktion bei einer Aktion auf bestimmte Objekte.

-Man kann dank des Controllers die Listener auch aus dem Model und der View auslagern►dadurch können Views auch variabel gehalten werden

Warum zeigen sich an den beiden Beispielen mit "BeatModel" und "HerzModel" die Stärken des MVC?

> View muss nicht geändert werden!
> im Controller können relativ einfach Funktionalitäten aktiviert bzw. deaktiviert werden
> Model kann relativ leicht ausgetauscht werden
> View ist für andere Modelle verwendbar, somit in anderen
Anwendungen
> View ist mit anderen Controllern verwendbar, somit ist anderes Verhalten möglich

Wozu brauchen wir in unserem Beispiel den Herz-Adapter?

  • HerzModel an BeatModel anpassen
  • DJView die Möglichkeit geben, direkt mit HerzModel zusammenzuarbeiten
  • Wenn Methoden in Verbindung mit einem Herz keinen Sinn machen, keine Implementierungen erstellen
  • Man kann eine komplett andere Logik hinter der View haben, ohne sie zu ändern
  • Adpater übersetzt die Aufrufe aus der DJVIew in Aufrufe aus dem HerzModel

Was ist eine Metapher? Geben Sie eine präzise Definition

  • Benutzung vertrauter Begriffe, einer Analogie zur Erklärung von Systemen und Konzepten in einer unvertrauten Zieldomäne

Nenne Sie drei Metaphern in Benutzerschnittstellen

Dekstop-Metapher

  • Dem PC Interface wird eine Schreibtischfunktion zugeordnet. Es handel sich um eine räumliche Metapher, weil man sich die physischen Orte von Dateien/Ordnern auf dem Desktop merkt (Statt der genauen Namen und Verzeichnissen)

Interface-Metapher

  • Cursor-Icons-Greifen-Zeigen

Haus Metapher

 

  • EIne Datei oder Odernerstruktur wird auf den Aufbau eines Hauses oder einer Stadt gemappt. Dabei gibt es einen Home Button, der einen immer wieder nach Hause bringt (Startseite oder "Heimverzeichnis). Ein Tür Symbol wird oft für das Beenden oder Verlassen eines Systems genutzt

Menü Metapher

  • Menüs sind grundsätzlich Speisekarten nachempfunden. Dabei blätter man aber sichtenweise durch alle (Unter-) Menüs, statt sie wie am PC aufzuklappen

Nennen Sie fünf alltägliche begriffliche Metaphern

> Schreibmaschine (Textverarbeitung)
> Buch (Hypertext-Systeme)
> Raum (Spiele)
> Fernsehen (WWW-Browser)
> Desktop (Fenster, Slider, Menü, Mülleimer)