Upload
diederick-welp
View
128
Download
1
Embed Size (px)
Citation preview
Entwicklung von Benutzerschnittstellen
Florian Fuchs, [email protected]
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
2
Übersicht
1. Einführung
2. Gestaltung der Benutzerschnittstelle
3. Softwareentwicklung und HCI-Design
4. Zusammenfassung
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
3
1. Einführung
Gestaltung der Benutzerschnittstelleaus Sicht der Softwareentwicklung
• zeitaufwändig• programmieraufwändig• anspruchsvoll:
neben Implementierung der eigentlichen FunktionGestaltung von...
... Kommunikation und Interaktion
... Grafik und Text
... Information und Aufgaben
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
4
2. Aspekte der Gestaltung der Benutzerschnittstelle
• Praktische Erfahrungen
• Theoretische Herangehensweise
1. Funktionaler Aspekt2. Ästhetischer Aspekt3. Struktureller Aspekt
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
5
2.1 Gestaltung - Funktionaler Aspekt
Ist Benutzerschnittstelle zur Aufgabenbewältigung geeignet?
• Wozu soll sie dienen?• Wozu soll sie nicht dienen?• Wie kann Erweiterbarkeit für neue Aufgaben
gewährleistet werden?
Aufgabenanalyse
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
6
2.1 Gestaltung - Funktionaler Aspekt
Beispiel: Anpassbarkeit von Benutzerschnittstellen
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
7
2.2 Gestaltung - Ästhetischer Aspekt
Hat Benutzerschnittstelle ansprechendes und aussagekräftiges Äußeres?
• Am Bildschirm:• Grafik und Text• Layout
• Eingabegeräte:• Form, Farbe, ...• Anordnung
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
8
2.2 Gestaltung - Ästhetischer Aspekt
Beispiel: Dialog zur Anpassung des Desktops
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
9
2.3 Gestaltung - Struktureller Aspekt
Ist Benutzerschnittstellestabil und effizient programmierbar sowieproblemlos aktualisierbar und erweiterbar?
• einfache Erzeugung• stabile und effiziente Ausführung • Wiederverwendbarkeit von Komponenten• Erschaffung neuer Komponenten auf Basis
vorhandener
Objekt-orientierte Programmiersprachen
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
10
2.3 Gestaltung - Struktureller Aspekt
Beispiel: Windows-Benutzeroberfläche
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
11
3. Softwareentwicklung und HCI-Design
Definition: Softwareentwicklung (1)
Die Aufstellung und Benutzung von vernünftigen Ingenieurprinzipien,um wirtschaftliche Software zu erhalten,die zuverlässig ist und auf real existierenden Maschinen effizient läuft. (Friedrich L. Bauer, 1969)
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
12
3.1 Softwareentwicklung und HCI-Design
Definition: Softwareentwicklung (2)
Die Entwicklung und Nutzung von Prinzipien, Methoden und Werkzeugenzur wirtschaftlichen und optimalen Gestaltung und Entwicklung von Softwaresystemen,die ästhetisch ansprechend, effizient, zuverlässig und geeignet sind für die Zwecke, für die sie gestaltet wurden.(Peter Johnson, 1992)
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
13
3.1.1 Prinzipien
Prinzipien für verschiedene Bereiche der Softwareentwicklung
• Benutzbarkeit (usability)
• Gestaltung (design)
• Konstruktion (construction)
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
14
3.1.2 Methoden
Methoden liefern die Vorgehensweise bei Softwareentwicklung
• Projektplanung• Kosten-, Zeit-, Aufwandsabschätzung• Anforderungs-, Aufgabenanalyse• Gestaltung der Datenstrukturen, Programmarchitektur• Entwicklung, Test, Bewertung, Wartung• ...
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
15
3.1.3 Werkzeuge (Tools)
Werkzeuge unterstützen die Softwarentwicklung
• unterstützende Programme für die einzelnen Methoden• Programmiersprachen, Compiler• Programmbibliotheken, Toolkits• Editoren• Browser• ...
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
16
3.2 Softwareentwicklung
Klassifizierung (Howden, 1982)
Typ I: mittelgroßes Projekt, 16 MJ Entwicklungszeitz.B. Diagramme, Quellcode-Manager, Testpläne
Typ IV: Großprojekt, 385 MJ Entwicklungszeitautomatische Unterstützung in allen Bereichenz.B. Maschinenlesbare Spezifikation, Archivierungstools, Testprogramme
Aber: HCI-Design wird nur teilweise unterstützt
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
17
3.3 Formale Methoden
Vorteil:Klare, präzise Beschreibung der Anforderungen und/oder des Entwurfs
Problem: Anwendbarkeit auf HCI• Was soll spezifiziert werden?• Wie soll es spezifiziert werden?
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
18
3.3 Formale Methoden
Beispiel: Zustandsübergangsdiagrammfür Passwortkontrolle
1. Versuch 2. Versuch 3. Versuch
Erfolg Abbruch
FehlerOKOKOK
FehlerFehler
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
19
3.4 Modelle für den Softwareentwicklungsprozess
1. Klassisches Lebenszyklus- oder Wasserfall-Modell (lifecycle or waterfall model)
2. Prototypenmodell (prototyping)
3. Lösungsansätze der vierten Generation(4th-generation approaches)
4. Modell von Pressman (Kombination von 1. - 3.)
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
20
3.4.1 Klassisches Lebenszyklus- oder Wasserfall-Modell
1. Systementwicklung(system engineering)
2. Analyse (analysis)3. Gestaltung (design)4. Programmierung (coding)5. Tests (testing)6. Wartung (maintenance)
Erfordert systematische, sequentielle Herangehensweise
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
21
3.4.1 Klassisches Lebenszyklus- oder Wasserfall-Modell
Nachteile• Projekte in der Realität nicht sequentiell• Schwierigkeit, alle Anforderungen am Anfang festzulegen• Fehler können zu spät entdeckt werden (Programmierung und Tests erst am Ende)
Vorteile• umfassender Vorgehensplan• grundlegende Schritte• weite Verbreitung• besser als unsystematische Herangehensweise
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
22
3.4.2 Prototypenmodell
1. Anforderungskatalog(requirements gathering)
2. Erster Entwurf (quick design)3. Prototypentwicklung
(build prototyp)4. Bewertung (evaluation)5. Wiederholung (iteration)6. Fertigstellung (engineering)
Bei allgemeinen oder ungenauen Anforderungen
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
23
3.4.2 Prototypenmodell
Nachteile• Gefahr, dass Prototyp zur Endversion wird• verbleibende quick and dirty - Lösungen• prinzipiell trial and error - Vorgehensweise
Vorteile• Ansicht und Bewertung des HCI vor Fertigstellung• nachträgliche Erweiterung der Anforderungen• Bewertung während der Entwicklung
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
24
3.4.3 Lösungsansätze der vierten Generation
1. Anforderungskatalog(requirements gathering)
2. Gestaltungsstrategie(design strategy)
3. Implementierung (implementation)4. Produktphase (product phase)
Spezifizierung auf hoher Abstraktionsebene, darausautomatische Quellcode-Erzeugung durch Tools
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
25
3.4.3 Lösungsansätze der vierten Generation
Nachteile• beschränkte Anzahl und Möglichkeiten der Tools
Vorteile• Zeitersparnis• in vielen Fällen gute Gestaltung
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
26
3.4.4 Modell von Pressman, 1987
Kombination der Modelle 1 - 31. Anforderungskatalog, unklare Anforderungen werden identifiziert2. Prototyp durch iterative Entwicklung und Bewertung des HCI, Tools der 4. Generation3. Übergang zum Endprodukt mit konventionellen
Vorgehensweisen
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
27
3.5 Grundlegende Phasen der Softwareentwicklung
1. Definition (definition)Systemanalyse, Projektplanung,
Anforderungskatalog
2. Entwicklung (development)Softwaregestaltung, Programmierung,
Tests,Verbesserung
3. Wartung (maintenance)Änderungen, Korrekturen, Anpassungen
21.11.2000 Entwicklung von Benutzerschnittstellen, Florian Fuchs
28
4. Zusammenfassung
• Softwareentwicklung beschäftigt sich mit Gestaltung eines kompletten Systems und seines Lebenszyklus.
Dabei Mangel an Prinzipien, Methoden und Werkzeugen zur Gestaltung der HCI
• Modelle der Vorgehensweisen sind stark idealisiert
• Grundlegend: Aufgabenanalyse vor, während und nach Entwicklung