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