Post on 06-Apr-2015
Grafische Visualisierung von Softwarestrukturen
Projektarbeit SS07-WS07/08Universität Siegen
Dominik Benner
2
Überblick
Einleitung Was kann man visualisieren? Die Codevisualisierung Die Datenvisualisierung Probleme der Visualisierung AREDIS/AM AredisViewer Ausblick
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