Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen

Download Report

Transcript Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen

Grafische Visualisierung von
Softwarestrukturen
Projektarbeit SS07-WS07/08
Universität Siegen
Dominik Benner
Überblick








Einleitung
Was kann man visualisieren?
Die Codevisualisierung
Die Datenvisualisierung
Probleme der Visualisierung
AREDIS/AM
AredisViewer
Ausblick
2
Einleitung
„Denken ohne Bilder ist unmöglich“
-Aristoteles
3
Einleitung
 Visualisierungen werden in der
Medizin, der Physik, der Chemie und
dem Maschinenbau besonders stark
eingesetzt
 Informatiker schreiben diese
Software, verwenden jedoch selbst
kaum Visualisierungen
4
Einleitung
 Erster Schritt: UML
 Bereits vorhandene Legacy-Systeme
müssen auch visualisiert werden
können (Reverse Engineering)
 Softwarevisualisierung
5
Was kann man visualisieren?
Die Hauptbereiche der Visualisierung:
 Codevisualisierung
 Datenvisualisierung
6
Die Codevisualisierung





Visualisierung von Quellcode
Darstellung von Methodenaufrufen
Visualisierung des Programmablaufs
Visualisierung von Threads
Visualisierung der Kommunikation
zwischen Programm und
Betriebssystem
7
Die Codevisualisierung
Visualisierung von Quellcode:
 Übersetzung des Quellcodes in
geometrische Formen
 Darstellung der Abhängigkeiten dieser
Objekte
8
Die Codevisualisierung
Darstellung von Methodenaufrufen:
 Darstellung aller Klassen und
Methoden als geometrische Objekte
 Visualisieren der Methodenaufrufe
durch Pfeile
 Deckt unnötige Beziehungen auf
9
Die Codevisualisierung
Visualisierung des Programmablaufs:
 Sequenzdiagramme zur
Verdeutlichung des Programmablaufs
 Erkennung von Deadlocks
10
Die Codevisualisierung
Visualisierung von Threads:
 Darstellung aller Threads eines
Programms
 Erkennung von Schwachstellen in der
Programmierung
11
Die Codevisualisierung
Visualisierung der Kommunikation
zwischen Programm und
Betriebssystem:
 Darstellung zugewiesener Ressourcen
 Abhängigkeit zum Betriebssystem
erkennen
12
Die Datenvisualisierung
 Visualisieren der Daten an sich
(numerische Werte, Zeichen, Texte,
Bilder etc.)
 Visualisieren von Datenstrukturen
(mittels Bäume, Listen, Stacks, etc.)
 Darstellung des Hauptspeichers
 Visualisierung von Netzwerkdaten
13
Probleme der Visualisierung
 Viele Darstellungen sind zu
umfangreich (Skalierbarkeit)
 Geschwindigkeit der
Visualisierungssoftware
 Speicherplatzbedarf im Hauptspeicher
 Datenbeschaffung aus relevanten
Systemen
14
AREDIS/AM
 Application Miner
 Firma Quintec IT
 Ermöglicht es Legacysysteme zu
analysieren und somit Schwachstellen
aufzudecken
15
AREDIS/AM
16
AredisViewer
 Bisherige Darstellungsform des
AREDIS/AM: Tabellarische Form
 Ziel der Projektarbeit: Entwicklung
eines Visualisierungstools dieser
Daten
17
AredisViewer
Anforderungen:
• Einlesen der AREDIS/AM
Parseroutputs
• Selektion der anzuzeigenden Objekte
• Auswahl eines Designs
• Skalierbarkeit des Layouts
• Anzeige von Objekteigenschaften
18
AredisViewer
• Laden und Speichern
• Drucken
• Eigene Anmerkungen zu jedem
beliebigen Objekt
• Darstellung der Kopplungsstärke
• Softwareanalyse mittels
Softwaremetriken
19
AredisViewer
Die Visualisierungskomponente:
 YFiles der Firma YWorks
 Interaktives Manipulieren der Grafik
 Fertiges Softwareprodukt
 Kostengünstiger als Eigenproduktion
20
AredisViewer
Das Layout:
 IncermentalHierarchicLayout
 OrganicLayout
21
AredisViewer
 Auswahl des OrganicLayout
22
AredisViewer
23
AredisViewer
24
Ausblick
 Softwarevisualisierung ist noch eine
sehr junges Thema
 Anforderungen an
Visualisierungstools sehr umfangreich
 Es wird immer wichtiger alte
Bestandssysteme zu optimieren
 Kosteneinsparungen der
Unternehmen
25
Vielen Dank für Ihre Aufmerksamkeit!
26