Prinzipien der Software Visualisierung Vortrag im Rahmen des

  • Slides: 45
Download presentation
Prinzipien der Software Visualisierung Vortrag im Rahmen des Praktikums e. Xtreme Programming im Februar/März

Prinzipien der Software Visualisierung Vortrag im Rahmen des Praktikums e. Xtreme Programming im Februar/März 2005. Andreas Wedel

Übersicht o o o o Was ist Software Visualisierung? Teilgebiete der Software Visualisierung. Zielgruppe!

Übersicht o o o o Was ist Software Visualisierung? Teilgebiete der Software Visualisierung. Zielgruppe! Wichtige Faktoren Visualisierungspipeline Beispiele Praktische Aufgaben (Interpretation von SV)

Was ist Software Visualisierung? o Teilgebiet des Software Engineering n n o o Größeres

Was ist Software Visualisierung? o Teilgebiet des Software Engineering n n o o Größeres Team Höheres Scheiterungsrisiko Typisches Projekt: nicht fristgerecht + über Budget Lesen von 1 MLOC mit 125 Loc/Hr benötigt 8000 Std. = 200 40 -Std. Wochen = 4 Jahre Versuche Software verständlicher zu machen.

Was ist Software Visualisierung? o Teilgebiet der Informationsvisualisierung. o Visualisierung ist: ". . .

Was ist Software Visualisierung? o Teilgebiet der Informationsvisualisierung. o Visualisierung ist: ". . . use of computer-supported, interactive, visual representations of data to amplify cognition. " (Card, Mackinlay und Shneiderman, 1999)

Was ist Software Visualisierung? o o o o Teilgebiet der Informationsvisualisierung. Viele Variablen Große

Was ist Software Visualisierung? o o o o Teilgebiet der Informationsvisualisierung. Viele Variablen Große Datenmengen Voneinander abhängige Daten Ausreißer Verständigungsfragen: Kontext + Detail Informationsüberfluss Statisch oder dynamisch?

Teilgebiete der Software Visualisierung

Teilgebiete der Software Visualisierung

Zielgruppe! o Zwei Hauptaufgaben n n o o o Software-Entwicklung (Bildung, Schüler, Lehrer) Software-Verstehen

Zielgruppe! o Zwei Hauptaufgaben n n o o o Software-Entwicklung (Bildung, Schüler, Lehrer) Software-Verstehen (Industrie, Entwickler, Tester) Erfahrene Benutzer vs. Anfänger Entwickler vs. Manager Experten verlangen: n n n Kontrolle (bestimme selbst den Fokus) Skalierung (anwendbar für größere Probleme) Geschwindigkeit und Vollständigkeit

Besteht ein Markt für SV?

Besteht ein Markt für SV?

Software Visualisierung o Techniken und Werkzeuge können helfen…

Software Visualisierung o Techniken und Werkzeuge können helfen…

Software Visualisierung o … zumindest ein wenig

Software Visualisierung o … zumindest ein wenig

Visuellen Informationsüberfluss vermeiden o o o Überschwemmung mit Komplexität und Datenmengen hemmt Verständnis. „Magische

Visuellen Informationsüberfluss vermeiden o o o Überschwemmung mit Komplexität und Datenmengen hemmt Verständnis. „Magische Nummer“ 7 +/- 2 Dimensionen Was visualisiere ich und was lasse ich weg? Passende Metaphern finden. Skalierung auf „real-world“ Probleme. Komplexitätsmanagement

„Magische Nummer“ 7 +/- 2 o o G. A. Miller 1957, The Magical Number

„Magische Nummer“ 7 +/- 2 o o G. A. Miller 1957, The Magical Number 7 plus or minus two: Some Limits on our Capacity for Processing Information. Experiments on maximal number of points, pitches, numbers, … poeple can identify. …humans can process or hold in memory about seven (plus or minus two) items of information at a time primary basis for the chunking principle!

2 7 6 4 9

2 7 6 4 9

276583758436675

276583758436675

email o The same argument was used in the Lady Bird Johnson Act to

email o The same argument was used in the Lady Bird Johnson Act to prohibit billboards within X feet of highways, and the billiard industry (a strange group that deserves an essay of its own) was hurting. They hired a man to travel around from town to town trying to refute the claims that more than 7 items of information could cause accidents. The man's wife did not like her husband being constantly on the road, so she asked him about it. He told her that the root of his trouble was some damn Harvard professor who wrote a paper about 7 bits of information. She, being herself a psychologist, said that she did not think that was what Professor Miller's paper said.

Wichtige Faktoren bei der Software. Visualisierung (nach Knight 2002) o Skalierbarkeit n o o

Wichtige Faktoren bei der Software. Visualisierung (nach Knight 2002) o Skalierbarkeit n o o Evolution Navigation, Interaktion und Orientierung n o Anwendbar auf größere Softwaresysteme? Verständlichkeit und Übersichtlichkeit? Automatisierung n Menschliche Interaktion bei großen Projekten?

Die Visualisierungspipeline o Aufbereitung der Information n o Enkodierung n o Was kann dargestellt

Die Visualisierungspipeline o Aufbereitung der Information n o Enkodierung n o Was kann dargestellt werden? Wie wird visualisiert? Präsentation und Interaktion n Was nimmt der Benutzer wie dar?

Aufbereiten der Information – Was? o o Statisch oder dynamisch? Nach Roman und Cox

Aufbereiten der Information – Was? o o Statisch oder dynamisch? Nach Roman und Cox vier Aspekte: n Code n n Steuerung n n Welche Komponenten waren wann aktiv, Kommunikation, Synchronisation, … Daten und n n Pretty-Printer, Zoomlinsen, Farben, . . . Interne Datenstruktur, … Verhalten n Zustände, Abfolge von Ereignissen, …

Enkodierung – Wie? o o o Graphical excellence… [Tufte, 1983] … is the well-designed

Enkodierung – Wie? o o o Graphical excellence… [Tufte, 1983] … is the well-designed presentation of interesting data – a matter of substance, of statistics, and of design. … consists of complex ideas communicated with clarity, precision, and efficiency. … requires telling the truth about the data … gives the viewer the greatest number of ideas in the shortest time with the least ink in the smallest space.

Enkodierung – Wie? o o Aufgabe der Visualisierung besteht darin, die Entwicklung von Vorstellungsbildern

Enkodierung – Wie? o o Aufgabe der Visualisierung besteht darin, die Entwicklung von Vorstellungsbildern und mentalen Modellen zu fördern. Wichtige Rollen: o o o Effizienz: Verständlichkeit, Aussagekraft, Eindeutigkeit Ästhetik: Farb- und Formgestaltung Informationsdichte, Übersichtlichkeit und Kompaktheit Vertrautheit und Praxisbezug Erwartungskonformität und Interaktivität

Enkodierung – Wie? o Welche Medien sind für die Software-Visualisierung geeignet? n n o

Enkodierung – Wie? o Welche Medien sind für die Software-Visualisierung geeignet? n n o Welcher Detailgrad wird verwendet? n o Papier Computermonitore VR-Umgebungen Hochauflösende, große Displays Direkte oder abstrakte Darstellung Wie kann der Animator die Visualisierung bestimmen? n Prozeduren implementieren, selbständiges Lernen, …

Präsentation und Interaktion o Graphisches Vokabular (z. B. in 2 D) n n n

Präsentation und Interaktion o Graphisches Vokabular (z. B. in 2 D) n n n Position auf der Ebene Größe (Länge, Fläche, Volumen) Helligkeitswert Musterung, Textur, Farbe Richtung, Orientierung, Form …

Präsentation und Interaktion o Interaktionsmöglichkeiten durch n n Steuerung (z. B. Bildlaufleisten) Über die

Präsentation und Interaktion o Interaktionsmöglichkeiten durch n n Steuerung (z. B. Bildlaufleisten) Über die Abbildung (z. B. Klicken)

Beispiele - See. Soft

Beispiele - See. Soft

Beispiele - See. Soft o Code age – Neuer Kode in rot, alter in

Beispiele - See. Soft o Code age – Neuer Kode in rot, alter in blau

Beispiele - See. Soft o Execution profile – Rote Zeilen werden oft ausgeführt, schwarze

Beispiele - See. Soft o Execution profile – Rote Zeilen werden oft ausgeführt, schwarze Zeilen sind Kommentare

Beispiele - Imsovision o IMmersive Software VISualisat. ION (nutzt Cave)

Beispiele - Imsovision o IMmersive Software VISualisat. ION (nutzt Cave)

Beispiele - Treemaps

Beispiele - Treemaps

Beispiele – Fish. Eye View (Applet)

Beispiele – Fish. Eye View (Applet)

Beispiele – Glyphs o Chernoff Faces (bis zu 15 Dimensionen)

Beispiele – Glyphs o Chernoff Faces (bis zu 15 Dimensionen)

Beispiele – Glyphs o Kiviat Charts

Beispiele – Glyphs o Kiviat Charts

Beispiele – Code. Crawler

Beispiele – Code. Crawler

Beispiele – Class Blue. Print

Beispiele – Class Blue. Print

Beispiele – Class Blue. Print

Beispiele – Class Blue. Print

Beispiele – Class Blue. Print n n Klasse hat 3 initialize layer methods wobei

Beispiele – Class Blue. Print n n Klasse hat 3 initialize layer methods wobei die rechten beiden von der linken aufgerufen werden. Kein Überschreiben, keine konstanten Methoden, kein Erweitern (aus Farbschema erkennbar)

Beispiele – Class Blue. Print

Beispiele – Class Blue. Print

Beispiele – OO Tableau o Software Visualisierung zur Evaluierung von OO Software (Manager‘s View)

Beispiele – OO Tableau o Software Visualisierung zur Evaluierung von OO Software (Manager‘s View)

Studien zu Erfahrungen mit SV (1) o Umfrage Bassil und Keller unter Benutzern (2001):

Studien zu Erfahrungen mit SV (1) o Umfrage Bassil und Keller unter Benutzern (2001): n Wichtigste Vorteile sind o o n n n Zeitersparnis bei der Ausführung von Aufgaben Besseres Verständnis des analysierten Softwaresystems Funktionale Aspekte wie Suchen, Browsen, Farben und Zugriff auf darunter liegendem Source Code wichtig. Hierarchische Darstellung gewünscht. Werkzeugzuverlässigkeit wichtigster Punkt. Gefolgt von einfacher Benutzbarkeit und Unterstützung großer Systeme. Kaum gewünscht: Animation, 3 D, VR-Technik Herausforderung: Third Party Tools integrieren sowie Datenimport und Datenexport

Studien zu Erfahrungen mit SV (2) o Umfrage Koschke unter Wissenschaftlern (2003) SV notwendig:

Studien zu Erfahrungen mit SV (2) o Umfrage Koschke unter Wissenschaftlern (2003) SV notwendig: 40 % SV wichtig: 42 %

Studien zu Erfahrungen mit SV (2)

Studien zu Erfahrungen mit SV (2)

Studien zu Erfahrungen mit SV (2)

Studien zu Erfahrungen mit SV (2)

Aktuelle Situation und Ausblick o o o Erst 2002 mit VISSOFT und 2003 mit

Aktuelle Situation und Ausblick o o o Erst 2002 mit VISSOFT und 2003 mit Soft. Vis sind eigenständige Konferenzen berufen worden. 10 Jahre nach dem Höhepunkt der Technologie! Forderung nach Standard-Austauschformaten zur Integration in Programmen Erstellen von Kriterien zur Evaluation. Wissenschaft und Industrie setzen verschiedene Prioritäten. 3 D Cyberspace und Datenhandschuh erfolgreich?

Praktische Aufgabe 1 o Interpretiere folgendes „Ternary Diagram“: n n Ermöglicht eine „Extra-Dimension“ Normalisierte

Praktische Aufgabe 1 o Interpretiere folgendes „Ternary Diagram“: n n Ermöglicht eine „Extra-Dimension“ Normalisierte Koordinaten (im Bezug auf Anzahl Aufrufe/Zugriffe)

Praktische Aufgabe 2 o Class Blueprint: n Was könnte der Blueprint der folgenden Klasse

Praktische Aufgabe 2 o Class Blueprint: n Was könnte der Blueprint der folgenden Klasse über die Klasse selbst aussagen?