2 Software Visualisierung



Ähnliche Dokumente
Hilfe zur Urlaubsplanung und Zeiterfassung

SDD System Design Document

Kapiteltests zum Leitprogramm Binäre Suchbäume

10 Erweiterung und Portierung

Bedienungsanleitung GYMplus

Internet Explorer Version 6

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Mediumwechsel - VR-NetWorld Software

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße Essen Telefon Telefax

FrontDoor/Monitor mehr sehen von FrontDoor

Speicher in der Cloud

Beschreibung des MAP-Tools

3. GLIEDERUNG. Aufgabe:

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Grundbegriffe der Informatik

Konzepte der Informatik

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Content Management System mit INTREXX 2002.

Übung: Verwendung von Java-Threads

2.1 Präsentieren wozu eigentlich?

Online Schulung Anmerkungen zur Durchführung

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

SharePoint Demonstration

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

ARCO Software - Anleitung zur Umstellung der MWSt

teischl.com Software Design & Services e.u. office@teischl.com

Data Mining: Einige Grundlagen aus der Stochastik

Excel 2010 Kommentare einfügen

Keine Disketteneinreichung ab 1. Februar 2014

How to do? Projekte - Zeiterfassung

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Version 1.0 Datum Anmeldung... 2

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

macs Support Ticket System

Anleitung Lernobjekt-Depot (LOD)

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Subpostfächer und Vertretungen für Unternehmen

Die itsystems Publishing-Lösung

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Step by Step Webserver unter Windows Server von Christian Bartl

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Überprüfung der digital signierten E-Rechnung

LinguLab GmbH. Bedienungsanleitung Allgemeine Definition

Thema: Personenkonstellation

Outlook Web App 2010 Kurzanleitung

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Wie Sie mit Mastern arbeiten

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Anwendungshinweise zur Anwendung der Soziometrie

Mediumwechsel - VR-NetWorld Software

Task: Nmap Skripte ausführen

Family Safety (Kinderschutz) einrichten unter Windows 7

UpToNet Workflow Workflow-Designer und WebClient Anwendung

Robot Karol für Delphi

Druckvorlagen Als Druckvorlagen sind dafür vorhanden:!liste1.ken (Kennzahlen)!Liste2.KEN (Kontennachweis)

Einleitung Allgemeine Beschreibung Einfachste Bedienung Einen Internetanschluss, sonst nichts Login Anmelden

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Zahlensysteme: Oktal- und Hexadezimalsystem

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Wiederkehrende Bestellungen. Tipps & Tricks

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Anleitung über den Umgang mit Schildern

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Handbuch ZfEditor Stand

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Berechnung der Erhöhung der Durchschnittsprämien

Das EDV-Cockpit mit MindManager für SharePoint

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Fragebogen: Abschlussbefragung

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März Themen-Special W-EX2010DI

BASIS Karten, WEA-Katalog, Projektierung, Objekte etc.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

YouTube: Video-Untertitel übersetzen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Was sind Jahres- und Zielvereinbarungsgespräche?

Family Safety (Kinderschutz) einrichten unter Windows 8

Die Windows 7 Sicherung im Detail

Hilfedatei der Oden$-Börse Stand Juni 2014

Anleitungen zum KMG- -Konto

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Die Formatierungsregeln (die so genannte Wiki-Syntax) für Texte in DokuWiki sind zu großen Teilen die selben, wie in anderen Wiki-Systemen.

Professionelle Diagramme mit Excel 2013 erstellen. Sabine Spieß Themen-Special. 1. Ausgabe, Dezember 2013 W-EX2013DI

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:

Transkript:

3 2 Software Visualisierung In diesem Kapitel wird die Terminologie und die Struktur der Software Visualisierung vorgestellt. Die in den folgenden Abschnitten angegebenen Begriffe wurden von PRICE, BAECKER und SMALL erstmals in [PBS93] veröffentlicht. Neben dieser Taxonomie gibt es auch andere. Der interessierte Leser sei hier beispielsweise auf [Mye88, Mye90] verwiesen. Bevor im nächsten Abschitt die Software Visualisierung genauer untersucht wird, erscheint es sinnvoll den Begriff Visualisierung allgemein zu erläutern. Visualisierung Eine Gemeinsamkeit aller Visualisierungen ist: Informationen unter einem bestimmten Gesichtspunkt zu transformieren, um sie in einer geeigneten Sicht dem Anwender in einer möglichst nützlichen Form zu präsentieren. Die Transformation beinhaltet hierbei oft das geschickte Sichtbarmachen von nicht sichtbaren Vorgängen, Ereignissen oder Zuständen. FENK unterscheidet hier im wesentlichen drei Arten von Visualisierungen: die Visualisierung als Verschriftlichung, die Visualisierung als Übersetzung ins Nonverbal-Optische und schließlich die Visualisierung als Illustration. PRICE, BAECKER und SMALL geben in [PBS93] eine weitere Interpretation des Begriffs an: In the Oxford English Dictionary [Simpson 89] there are seven definitions of the word visual; [ ] The seventh definition suggests the formation of a mental image which is not necessarily related to something in one s visual field. It is this later definition that visualization takes its meaning. [PBS93] Wie sich im Verlauf noch zeigen wird, ist die Bildung eines mentalen Modells das Ziel jeder Visualisierung. Im folgenden Satz wird diese Aussage in Bezug auf die SV und ihren Methoden noch einmal zusammengefasst. 2.1 Struktur und Ziele Das Ziel der Software Visualisierung besteht im allgemeinen darin, den Verstehensprozess für die Arbeitsweise von Software zu erleichtern. Um dieses Ziel zu erreichen, werden häufig Techniken aus der Typographie und der Kinematographie angewandt und mit modernen Methoden der Mensch-Computer-Interaktion gekoppelt [SDBP98]. Die SV lässt sich, wie bereits erwähnt, in verschiedene Teilbereiche gliedern, die in der folgenden Abbildung dargestellt sind:

4 2 Software Visualisierung Algorithmen-Visualisierung Programm-Visualisierung statische Algorithmen- Visualisierung dynamische Daten- Visualisierung statische Daten- Visualisierung dynamische statische dynamische Algorithmen- Code- Code- Visualisierung Visualisierung Visualisierung Abbildung 2.1: Die Teilgebiete der Software Visualisierung [PBS93]. Die Visualisierung von Algorithmen beinhaltet hierbei die Beschreibung von Software auf einem hohen Abstraktionsgrad, d.h. dass im wesentlichen nur strukturelle Ähnlichkeiten zwischen den Darstellungselementen und dem implementierten Verfahren bei Vertretern dieses Visualisierungstyps zu finden sind. Das Teilgebiet lässt sich weiter in statische- und dynamische Algorithmen-Visualisierung untergliedern, wobei letzterer Visualisierungstyp auch als Algorithmen-Animation bezeichnet wird. Das Video Sorting Out Sorting von BAECKER vorgestellt in [Bae81] gilt als eines der ersten Vertreter von Algorithmen- Animationen. In diesem Video wird die Arbeitsweise verschiedener Sortierverfahren mit Hilfe einfacher animierter Darstellungen erläutert. Ein einfaches Beispiel für eine statische Algorithmen-Visualisierung ist ein Programmablaufplan. Im Sinne des Begriffes Abstraktion werden in der Regel nur wesentliche Verfahrensschritte in statischer Form unter Verwendung einer grafischen Symbolik dargestellt. Jeder Bezug auf eine konkrete Programmiersprache oder Implementierungsvariante wird dadurch vermieden. In Lehrbüchern findet dieser Visualisierungstyp oft Anwendung. Auf der rechten Seite in der Abbildung 2.1 ist das zweite Teilgebiet der SV dargestellt, die Programm-Visualisierung. Der Unterschied zwischen den beiden Visualisierungstypen soll durch eine Definition des Begriffes Algorithmus verdeutlicht werden: Algorithmen sind exakt formulierte Rechenvorschriften, die auf Computern als ausführbare Programme implementiert und auf diese Art für die Lösung von Aufgaben angewandt werden können. Ein Algorithmus besteht somit aus einer wohldefinierten endlichen Folge von elementaren Rechenoperationen und Entscheidungen, um aus einer bestimmten Menge von Eingabegrößen [ ] das gewünschte Resultat [ ] zu erzeugen. [Zei96] Programme sind hiernach nichts anderes als Implementierungsvarianten von Algorithmen. Im Vordergrund einer Programm-Visualisierung steht somit die Darstellung einer konkreten Implementierung eines Algorithmus. Das wesentliche Unterscheidungsmerkmal zwischen beiden Visualisierungstypen ist deshalb der Abstraktionsgrad, der bei einer Programm-Visualisierung in der Regel geringer ist als bei einer Algorithmen- Visualisierung. Die Untergliederung des Teilgebietes in Code- und Daten-Visualisierung weist zusätzlich auf die Techniken der Programm-Visualisierung hin. Die Einteilung erscheint sinnvoll, da zur Verwaltung und Berechnung von Daten oft charakteristische Datenstrukturen im Programm verwendet werden, deren Arbeitsweise in gesonderten Darstellungen die Vermittlung der Grundidee einer konkreten Implementierung unterstützen können.

2.2 Personen 5 Daten-Visualisierungen sind sehr vielfältig. So kann beispielsweise eine Liste durch Rechtecke dargestellt werden, wobei die Verkettung der Listenelemente intuitiv durch Pfeile erfolgt. Werden zwei Elemente in einem Verfahrensschritt vertauscht, animiert die dynamische Daten-Visualisierung diesen Austausch durch einen graduellen Vorgang. 2 3 7 10 9 Abbildung 2.2: Eine mögliche Darstellung einer einfach-verketteten Liste. Was ist nun eine Code-Visualisierung? Ein einfaches Beispiel für eine statische Code- Visualisierung ist die Darstellung des Programmtextes. Das kontinuierliche Hervorheben des gerade aktiven Programmteils kann als Code-Animation interpretiert werden. Auch die Darstellung eines Rekursionsbaumes bei einem rekursiven Verfahren kann als ein Vertreter dieses Visualisierungstyps aufgefasst werden. Abschließend sei noch daraufhingewiesen, dass in der Praxis bei vielen existierenden Animationen keine klare Zuordnung zu einem der Teilgebiete vorgenommen werden kann, da viele Visualisierungen sowohl stark abstrahierende, als auch sehr an der Implementierung orientierte Darstellungselemente besitzen. 2.2 Personen Um mit vertretbarem Aufwand eine Software Visualisierung erstellen zu können, erscheint es sinnvoll, ein System zur Verfügung zu haben, das es ermöglicht diese Aufgabe zu lösen. Das Design, die Konstruktion und die Wartung eines derartigen Systems sind im wesentlichen die Aufgaben des SV-System Entwicklers. Diese Person implementiert grundlegende Werkzeuge, die für eine Visualisierung nötig sind. Ist ein SV-System verfügbar, nutzt der Entwickler dieses System. Die Zielperson der Visualisierung ist der Anwender. Je nach Transformation ist er in der Lage, mit der Visualisierung zu interagieren und für sich einen Nutzen aus der Anwendung zu ziehen. 2.3 Kriterien für die Charakterisierung eines SV-Systems In diesem Abschnitt werden einige Kriterien für eine Charakterisierung eines SV-Systems betrachtet. Die Gliederung in Abbildung 2.3 wurde anhand der charakteristischen Eigenschaften bestehender SV-Systeme 1 erstellt. In Abbildung 2.3 ist ein -närer Baum dargestellt. Damit ist die Möglichkeit einer Erweiterung der Struktur um neue Unterscheidungskriterien jederzeit möglich. Alle Verzweigungen der Hauptkriterien in Unterkriterien werden im folgenden kurz, durch die Formulierung von Fragen, erläutert. Im einzelnen sind es BALSA, Zeus, Tango, ANIM, Pascal Genie, UWPI, SEE, TPM, Pavane, LogoMedia und CenterLine Object.

6 2 Software Visualisierung SV-System A: Bereich B: Inhalt C: Form D: Methode E: Interaktion F: Effektivität?! Abbildung 2.3: Die Hauptkriterien zur Charakterisierung eines SV-Systems [SDBP98]. Kategorie A: Bereich Die Unterteilung der Kategorie A ist in Abbildung 2.4 zu sehen. A.1.1 Hardware A.1 Allgemeines A.1.2 Software A.1.3 Sprache A.1.3.1 nebenläufige Programme A: Bereich A.1.4 Anwendung A.1.4.1 Spezialitäten A.2 Skalierbarkeit A.2.1 Programm A.2.2 Eingabedaten Abbildung 2.4: Der komplette Baum der Kategorie A aus [SDBP98]. A: Für welche Software ist das SV-System geeignet? A.1 Kann das System jede Software visualisieren, oder ist es auf bestimmte Beispiele beschränkt? A.1.1 Welche Hardware wird benötigt? A.1.2 Welches Betriebssystem wird benötigt? A.1.3 In welcher Programmiersprache muss der Anwender seine Programme schreiben? A.1.3.1 Unterstützt die Implementierungssprache die Programmierung von nebenläufigen Programmen und kann das SV-System diese Programme visualisieren? A.1.4 Gibt es Einschränkungen bzgl. des Anwendungsgebietes? A.1.4.1 Welche Art von Programmen sind besonders geeignet für eine Visualisierung? A.2 Wie gut ist das System skalierbar? A.2.1 Beschränkt das System die Größe des Programmes? A.2.2 Beschränkt das System die Größe der Eingabedaten?

2.3 Kriterien für die Charakterisierung eines SV-Systems 7 Diese Kategorie versucht in erster Linie die Programme zu klassifizieren, die von einem konkreten SV-System verarbeitet werden können. Kategorie B: Inhalt Die Unterteilung der Kategorie B ist in Abbildung 2.5 zu sehen. B.1 Programm B.1.1 Code B.1.2 Daten B.1.1.1 Kontrollfluss B.1.2.1 Datenfluss B: Inhalt B.2 Algorithmus B.2.1 Anweisungen B.2.2 Daten B.2.1.1 Kontrollfluss B.2.2.1 Datenfluss B.3 Genauigkeit Vollständigkeit B.3.1 Beständigkeit des Systems bei nebenläufigen Prog. B.4 Datensammelzeit B.4.1 zeitliche Kontrollabbildung B.4.2 Generierungszeit für die Visualisg. Abbildung 2.5: Der komplette Baum der Kategorie B aus [SDBP98]. B: Welche Informationen der Software werden vom SV-System dargestellt? B.1 In welchem Umfang visualisiert das SV-System das implementierte Programm? B.1.1 In welchem Umfang visualisiert das System Befehle aus dem Programmtext? B.1.1.1 In welchem Umfang visualisiert das System den Kontrollfluss? B.1.2 In welchem Umfang visualisiert das System die Datenstrukturen? B.1.2.1 In welchem Umfang visualisiert das System den Datenfluss? B.2 In welchem Umfang visualisiert das SV-System einen Algorithmus? B.2.1 In welchem Umfang visualisiert das System die Anweisungen im Algorithmus? B.2.1.1 In welchem Umfang visualisiert das System den Kontrollfluss der Anweisungen im Algorithmus? B.2.2 In welchem Umfang visualisiert das System die Datenstrukturen des Verfahrens?

8 2 Software Visualisierung B.2.2.1 In welchem Umfang visualisiert das System den Datenfluss im Algorithmus? Auf den Unterschied zwischen Programm- und Algorithmen-Visualisierung wurde bereits hingewiesen. Die resultierenden Darstellungen in den Punkten B.2.1 und B.2.2 unterscheiden sich gegenüber den Darstellungen der Punkte B.1.1 und B.1.2 im wesentlichen durch ihren Abstraktionsgrad. B.3 Zeigen die Darstellungen das wirkliche Verhalten des Programmes? B.3.1 Wenn das SV-System nebenläufige Programme visualisieren kann, unterbricht es dabei die Ausführung, um gesammelte Informationen in einer Visualisierung zu verarbeiten? Das Unterbrechen der Ausführung eines nebenläufigen Programmes sollte vermieden werden, da damit das Verhalten des Programmes beeinflusst wird. So könnten beispielsweise bei der Ausführung einer Visualisierung andere Laufzeiteigenschaften beobachtet werden, die bei der normalen Ausführung nicht auftreten. B.4 Müssen die zu visualisierenden Daten zur Übersetzungszeit oder erst zur Laufzeit bekannt sein? B.4.1 Wie ist die Verbindung zwischen Programm- und Visualisierungzeit? B.4.2 Wird die Visualisierung vor dem Programmstart erzeugt oder dynamisch während der Ausführung des Programmes? Es werden die folgenden Arten von Programm- und Visualisierungszeit unterschieden: statisch-zu-statisch An einem Punkt im Programm generiert das System eine statische Visualisierung, eine sogenannte Momentaufnahme. statisch-zu-dynamisch Die durch das SV-System an einem Punkt im Programm generierte Visualisierung ist animiert. dynamisch-zu-statisch Über eine feste Zeitspanne während der Ausführung des Programmes werden Informationen gesammelt, die anschließend in einer einzigen Visualisierung verarbeitet werden. dynamisch-zu-dynamisch Die Ausführungszeit des Programmes wird in Intervalle zerlegt, in denen Informationen gesammtelt werden. Am Ende eines Zeitintervalls werden die gesammelten Informationen in einer Animation verarbeitet. Es ist offensichtlich, dass die Art der Generierung von Visualisierungen während der Programmausführung einen großen Einfluss auf den Interaktionsgrad hat. Kategorie C: Form Die Unterteilung der Kategorie C ist in Abbildung 2.6 zu sehen.

2.3 Kriterien für die Charakterisierung eines SV-Systems 9 C.1 Medium C.2.1 grafische Umgebung C.2.1.1 Farben C.2.1.2 Dimensionen C.2 Präsentation C.2.2 Animation C: Form C.2.3 akustische Signale C.3 Granularität C.3.1 Abstraktion C.4 mehrfache Sichten C.5 Programmsynchronistation Abbildung 2.6: Der komplette Baum der Kategorie C aus [SDBP98]. C: Was sind die charakteristischen Aufgaben des Systems? C.1 Welches Medium benutzt das System? C.2 Wie lassen sich die Darstellungen allgemein beschreiben? C.2.1 Welche grafischen Elemente werden vom SV-System für eine Visualisierung benutzt? C.2.1.1 Benutzt das System Farben? C.2.1.2 Benutzt das System zusätzliche Dimensionen? C.2.2 Gibt es Animationssequenzen in einer Visualisierung? C.2.3 Werden akustische Signale verwendet, um zusätzliche Informationen zu übertragen? C.3 Ist die Granularität einer Visualisierung beeinflussbar? C.3.1 Wie leicht können einzelne Informationen ausgeblendet werden? C.4 In welchem Umfang unterstützt das SV-System verschiedene synchronisierte Darstellungen? Um die Arbeitsweise von Software aus verschiedenen Perspektiven betrachten zu können, ist die Unterstützung verschiedener (synchronisierter) Darstellungen wichtig. C.5 Sind synchrone Visualisierungen verschiedener Programme erzeugbar?

10 2 Software Visualisierung Viele SV-Systeme unterstützen die synchrone Ausführung unabhängiger Visualisierungen, um zum Beispiel die Arbeitsweise verschiedener Verfahren, die jeweils ein gleiches Problem bearbeiten, miteinander zu vergleichen. Kategorie D: Methode Die Unterteilung der Kategorie D ist in Abbildung 2.7 zu sehen. D: Methode D.1 Art der Visualisierungsspezifikation D.1.1 Intelligenz D.1.2 Anpassbarkeit D.1.2.1 individuelle Sprache D.2 Verbindungstechnik D.2.1 Kenntnis über Programmtext D.2.2 System-Code- Verbindung Abbildung 2.7: Der komplette Baum der Kategorie D aus [SDBP98]. D: Wie wird eine Visualisierung spezifiziert? D.1 Welche Art der Spezifikation von Visualisierungen wird verwendet? D.1.1 Wie intelligent ist das System bei der automatischen Erzeugung von Visualisierungen? D.1.2 Kann der Benutzer die Visualisierung anpassen? D.1.2.1 Mit welchen Möglichkeiten können die Anpassung vorgenommen werden? D.2 Wie wird die Verbindung zwischen Visualisierung und Programm hergestellt? D.2.1 Die Visualisierung wird nicht automatisch erzeugt. Wieviel Wissen über den Programmtext wird benötigt, um eine Visualisierung zu erstellen? D.2.2 Wie stark ist die Bindung zwischen Visualisierung und Programmtext? Einige Systeme benutzen Prä-Prozessoren, um den Programmtext vor der Übersetzung mit zusätzlichen Kommandos zu versehen (vgl. Kapitel 3). Es gibt Systeme (TMP, UWPI), die durch eine spezielle Syntaxanalyse Visualisierungen automatisch erzeugen können, so dass eine Veränderung des Programmtextes nicht mehr nötig ist. Diese Systeme verwenden spezielle Interpreter bzw. Übersetzer.

2.3 Kriterien für die Charakterisierung eines SV-Systems 11 Kategorie E: Interaktion Die Unterteilung der Kategorie E ist in Abbildung 2.8 zu sehen. E.1 Stil E.2.2 zeitliche Kontrolle E: Interaktion Geschwindigkeit E.2 Navigation E.2.1 Abstraktionskontrolle E.2.2.1 Richtung E.2.2.2 E.3 Aufzeichnungsmöglichkeit Abbildung 2.8: Der komplette Baum der Kategorie E aus [SDBP98]. E: Wie interagiert der Benutzer mit dem SV-System? E.1 Auf welche Art kann der Benutzer Anweisungen an das System geben? E.2 Wie navigiert der Nutzer durch die Visualisierung? E.2.1 Hat der Benutzer die Möglichkeit Details zu unterdrücken? E.2.2 Erlaubt das System dem Nutzer zeitliche Aspekte zu kontrollieren? E.2.2.1 Hat der Nutzer die Möglichkeit die Visualisierung schrittweise rückwärts laufen zu lassen? E.2.2.2 Kann der Nutzer die Geschwindigkeit beeinflussen? E.3 Unterstützt das System die Möglichkeit der Aufnahme bzw. des Abspielens von Teilen der Visualisierung? Der Grad an Interaktivität hat einen großen Einfluss auf die Verwendbarkeit der Visualisierung als Lern-/Lehrsoftware. Kategorie F: Effektivität Die Unterteilung der Kategorie F ist in Abbildung 2.9 zu sehen. F: Wie gut kann das System dem Nutzer Wissen vermitteln? F.1 Für welchen Zweck ist das System geeignet? F.2 Wie gut können die automatisch erstellten Visualisierungen dem Nutzer Wissen vermitteln? F.3 Wurde das System in der Praxis getestet und was sagen die Ergebnisse aus? F.4 Wird das System verwendet?

12 2 Software Visualisierung F.1 Zweck F.2 Eignung und Klarheit F: Effektivität F.3 empirische Evaluation F.4 Gebrauch Abbildung 2.9: Der komplette Baum der Kategorie F aus [SDBP98]. In der Einleitung wurde daraufhingewiesen, dass es zur Bewertung von SV-Systemen eine Vielzahl von Arbeiten gibt, auf die an dieser Stelle nicht näher eingegangen wird. Das vorliegende Modell zur Charakterisierung eines SV-Systems dient im Kapitel 5 als Orientierung für die Entwicklung eines Systems auf der Basis von LEDA. Das folgende Kapitel wird zuvor noch einige ausgewählte SV-Systeme kurz vorstellen.