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

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

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

Page 1: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Grafische Visualisierung von Softwarestrukturen

Projektarbeit SS07-WS07/08Universität Siegen

Dominik Benner

Page 2: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

2

Überblick

Einleitung Was kann man visualisieren? Die Codevisualisierung Die Datenvisualisierung Probleme der Visualisierung AREDIS/AM AredisViewer Ausblick

Page 3: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Einleitung

„Denken ohne Bilder ist unmöglich“-Aristoteles

3

Page 4: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

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

Page 5: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Einleitung

Erster Schritt: UML

Bereits vorhandene Legacy-Systeme müssen auch visualisiert werden können (Reverse Engineering)

Softwarevisualisierung

5

Page 6: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Was kann man visualisieren?

Die Hauptbereiche der Visualisierung:

Codevisualisierung

Datenvisualisierung

6

Page 7: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Visualisierung von Quellcode Darstellung von Methodenaufrufen Visualisierung des Programmablaufs Visualisierung von Threads Visualisierung der Kommunikation

zwischen Programm und Betriebssystem

7

Page 8: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Visualisierung von Quellcode:

Übersetzung des Quellcodes in geometrische Formen

Darstellung der Abhängigkeiten dieser Objekte

8

Page 9: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Darstellung von Methodenaufrufen:

Darstellung aller Klassen und Methoden als geometrische Objekte

Visualisieren der Methodenaufrufe durch Pfeile

Deckt unnötige Beziehungen auf

9

Page 10: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Visualisierung des Programmablaufs:

Sequenzdiagramme zur Verdeutlichung des Programmablaufs

Erkennung von Deadlocks

10

Page 11: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Visualisierung von Threads:

Darstellung aller Threads eines Programms

Erkennung von Schwachstellen in der Programmierung

11

Page 12: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Die Codevisualisierung

Visualisierung der Kommunikation zwischen Programm und Betriebssystem:

Darstellung zugewiesener Ressourcen

Abhängigkeit zum Betriebssystem erkennen

12

Page 13: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

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

Page 14: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Probleme der Visualisierung

Viele Darstellungen sind zu umfangreich (Skalierbarkeit)

Geschwindigkeit der Visualisierungssoftware

Speicherplatzbedarf im Hauptspeicher Datenbeschaffung aus relevanten

Systemen

14

Page 15: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AREDIS/AM

Application Miner

Firma Quintec IT

Ermöglicht es Legacysysteme zu analysieren und somit Schwachstellen aufzudecken

15

Page 16: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AREDIS/AM

16

Page 17: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

Bisherige Darstellungsform des AREDIS/AM: Tabellarische Form

Ziel der Projektarbeit: Entwicklung eines Visualisierungstools dieser Daten

17

Page 18: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

Anforderungen:

• Einlesen der AREDIS/AM Parseroutputs

• Selektion der anzuzeigenden Objekte• Auswahl eines Designs• Skalierbarkeit des Layouts• Anzeige von Objekteigenschaften

18

Page 19: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

• Laden und Speichern• Drucken• Eigene Anmerkungen zu jedem

beliebigen Objekt• Darstellung der Kopplungsstärke• Softwareanalyse mittels

Softwaremetriken

19

Page 20: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

Die Visualisierungskomponente:

YFiles der Firma YWorks Interaktives Manipulieren der Grafik Fertiges Softwareprodukt

Kostengünstiger als Eigenproduktion

20

Page 21: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

Das Layout:

IncermentalHierarchicLayout

OrganicLayout

21

Page 22: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

Auswahl des OrganicLayout

22

Page 23: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

23

Page 24: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

AredisViewer

24

Page 25: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

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

Page 26: Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner.

Vielen Dank für Ihre Aufmerksamkeit!

26