Visualisierung von UML-Diagrammen

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Modellierung komplexer Realität mit Objekten
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Bewegte Bezugssysteme
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Schieferdeckarten Dach.ppt
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
UML Begleitdokumentation des Projekts
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Paper: Aesthetics of Class Diagrams Vorgetragen von Tilmann Bartels Paper von Holger Eichelberger Universität Würzburg Bis jetzt gibt es keine allgemeingültige.
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
In der Schule.
Leistungsbeschreibung Brückenplanung RVS RVS
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
Where Europe does business Lück, JDZB | Seite © GfW NRW 252 a.
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Generalisierung/Spezialisierung Subtypisierung/Vererbung
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Großer Altersunterschied bei Paaren fällt nicht auf!
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Einführung in die Astronomie und Astrophysik I Kapitel III: Das Planetensystem 1 Kapitel III: Das Planetensystem.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
1 Mathematical Programming Nichtlineare Programmierung.
Imperfekt Wie sagt man das mit Imperfekt
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Es war einmal ein Haus
Folie Einzelauswertung der Gemeindedaten
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Technische Kommunikation
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Sichtbarkeit einschränken
 Präsentation transkript:

Visualisierung von UML-Diagrammen Christian M. Meyer christian.meyer@stud.tu-darmstadt.de

„A New Approach for Visualizing UML Class Diagrams“ Visualisierung von UML-Diagrammen » Einleitung Einleitung Vorstellung des GoVisual-Algorithmus Artikel von Gutwenger, Jünger, Klein, Kupke, Leipert und Mutzel: „A New Approach for Visualizing UML Class Diagrams“

Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Visualisierung von UML-Diagrammen » Agenda Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links

Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Visualisierung von UML-Diagrammen » Agenda Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links

Graph Graph G = (V, E) mit V Knotenmenge E Kantenmenge Visualisierung von UML-Diagrammen » Grundlagen » Graphen Graph Graph G = (V, E) mit V Knotenmenge E Kantenmenge gerichteter Graph ungerichteter Graph

Einbettung, Planarität Visualisierung von UML-Diagrammen » Grundlagen » Graphen Einbettung, Planarität Einbettung: Darstellung eines Graphen in der Ebene Knoten sind Punkte Kanten sind Verbindungslinien Planar: Der Graph kann ohne Kreuzungen in der Ebene eingebettet werden

UML UML = Unified Modeling Language Modellierungssprache für Software Visualisierung von UML-Diagrammen » Grundlagen » UML UML UML = Unified Modeling Language Modellierungssprache für Software Standardisiert von der OMG (Object Management Group)

Visualisierung von UML-Diagrammen » Grundlagen » UML Entwicklung der UML 1991 Coad/Yourdan: OOA/OOD Rumbaugh: OMT 1994 Booch: OOAD Jacobsen: OOSE 1995 Unified Method 0.8 Oracle Microsoft Hewlett Packard 1996 Unified Modeling Language 0.9 1997 Unified Modeling Language 1.0 und 1.1 (von der OMG zum Standard erklärt) 2003 Unified Modeling Language 2.0

Warum UML? Abstrakter als Programmiersprache Visualisierung von UML-Diagrammen » Grundlagen » UML Warum UML? Abstrakter als Programmiersprache Einheitliche Beschreibungen im Projekt Sprachenunabhängig Verschiedene Sichten: statisch, dynamisch Verständigung zwischen Entwicklern, Architekten, Designer, Auftraggeber,… Dokumentation

Interaktionsdiagramm Visualisierung von UML-Diagrammen » Grundlagen » UML Diagramme Graphische Interpretation der Modelle: Use-Case-Diagramm Klassendiagramm Interaktionsdiagramm Zustandsdiagramm Sequenzdiagramm Deploymentdiagramm Komponentendiagramm Timingdiagramm

Klassendiagramm Beliebtestes Diagramm Statische Struktur der Software Visualisierung von UML-Diagrammen » Grundlagen » UML Klassendiagramm Beliebtestes Diagramm Statische Struktur der Software Klassen Beziehungen

Klassen Datentyp Attribute und Methoden Klassenname ClassName Visualisierung von UML-Diagrammen » Grundlagen » UML Klassen Datentyp Attribute und Methoden Klassenname ClassName Attribute – attribute1: Type attribute2: Type – privateOperation() # protectedOperation() + publicOperation() Methoden Modifier – private # protected + public

Generalisierung, Vererbung Visualisierung von UML-Diagrammen » Grundlagen » UML Beziehungen (1) Generalisierung Attribute und Methoden werden „geerbt“ Oberklasse SuperClass Generalisierung, Vererbung SubClass Subklasse, Kindklasse

Beziehungen (2) Assoziation Beziehung zwischen 2 oder mehr Typen Visualisierung von UML-Diagrammen » Grundlagen » UML Beziehungen (2) Assoziation Beziehung zwischen 2 oder mehr Typen Navigierbarkeit, Multiplizität Einfache Assoziation: Aggregation: Komposition: Class1 Class2 Class1 Class2 Class1 Class3

Klassendiagramm als Graph Visualisierung von UML-Diagrammen » Grundlagen » UML Klassendiagramm als Graph Generalisierungen sind gerichtet Assoziationsrichtung für automatische Layoutalgorithmen unwichtig Daher: semi-gerichteter Graph G = (V, A, E) mit V Klassenmenge A Gerichtete Generalisierungskanten E Ungerichtete Assoziationskanten

Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Visualisierung von UML-Diagrammen » Agenda Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links

Motivation (1) UML-Diagramme sind groß Layout von Hand ist aufwändig Visualisierung von UML-Diagrammen » Motivation Motivation (1) UML-Diagramme sind groß Layout von Hand ist aufwändig Automatisches Layout für MDA notwendig Viele Tools für automatisches Graphenlayout Anbindung an führende Case-Tools: Rational Rose Together Microsoft Visio

Motivation (2) Aber: Tools haben viele Nachteile Visualisierung von UML-Diagrammen » Motivation Motivation (2) Aber: Tools haben viele Nachteile Hierarchische Vererbungsstrukturen werden nicht behandelt Übersicht ist oft unzureichend Ästhetische Mängel Spezielle Algorithmen für UML-Diagramme sinnvoll

Probleme (1)  Viele Kreuzungen  Unnötige Knicke  Nicht orthogonal Visualisierung von UML-Diagrammen » Probleme Probleme (1)   Viele Kreuzungen  Unnötige Knicke  Nicht orthogonal  Einzelne Vererbungspfeile  Überlappung Assoziation-Klasse    

Probleme (2)  Richtung der Vererbungspfeile  Fehlende Hierarchie   Visualisierung von UML-Diagrammen » Probleme Probleme (2)  Richtung der Vererbungspfeile  Fehlende Hierarchie  

Probleme (3)  Verschachtelte Hierarchien  Visualisierung von UML-Diagrammen » Probleme Probleme (3)  Verschachtelte Hierarchien 

Ziele Kriterien für ästhetische UML-Diagramme: Minimale Kreuzungen Visualisierung von UML-Diagrammen » Ziele Ziele Kriterien für ästhetische UML-Diagramme: Minimale Kreuzungen Minimale Knicke Einheitliche Richtung in Hierarchien Keine verschachtelten Hierarchien Beziehungen je nach Semantik betrachten Orthogonales Layout Kombinierte Vererbungspfeile Gut lesbare Kantenbeschriftungen

Visualisierung von UML-Diagrammen » Ziele Beispiel

Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Visualisierung von UML-Diagrammen » Agenda Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Vorberechnung (1) Generalisierungen sollen verbunden werden Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (1) Generalisierungen sollen verbunden werden Dadurch ergeben sich u.U. neue Kreuzungen Bleiben bei Planarisierung unerkannt v w1 w2 w3 v w1 w2 w3

Vorberechnung (2) Lösung: Zwischenknoten einfügen v w1 w2 w3 v w1 w2 Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (2) Lösung: Zwischenknoten einfügen v w1 w2 w3 v w1 w2 w3 dv

Vorberechnung (3) v w1 w2 w3 dv O(|V|) Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (3) v w1 w2 w3 dv O(|V|)

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Hierarchie Generalisierungen bilden Hierarchien Visualisierung von UML-Diagrammen » Algorithmus » Hierarchien Hierarchie Generalisierungen bilden Hierarchien Zusammenhängende Subgraphen von (V, A) Tiefensuche, O(|V|+|A|)

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Gleichgerichtete Graphen Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Gleichgerichtete Graphen Alle Kanten zeigen in die gleiche Richtung SuperClass1 SuperClass2 Class1 SubClass Class2 Class3

Gleichgerichtete Graphen Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Gleichgerichtete Graphen Alle Kanten zeigen in die gleiche Richtung SuperClass1 SuperClass2 Class1 SubClass Class2 Class3 SuperClass1 SuperClass2 Class2 Class3 Class1 SubClass

Hierarchien gleichrichten Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Hierarchien gleichrichten Hierarchien werden gleichgerichtet bessere Übersicht Hierarchien sofort erkennbar

Planar, aber nicht gleichgerichtet planar Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Planarisieren Planare gleichgerichtete Einbettung finden Aber: Nicht immer möglich Planar, aber nicht gleichgerichtet planar

Algorithmen G ist gleichgerichtet planar und G hat genau eine Senke: Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Algorithmen G ist gleichgerichtet planar und G hat genau eine Senke: Algorithmus von Bertolazzi (1998) O(|VH|), Algorithmus gibt Einbettung zurück Mehrere Senken: Supersenke verwenden sonst: NP-schwer, Kreuzungen durch Dummy-Knoten ersetzen, Algorithmen von Sugiyama oder Eades/Kelly,…

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

ST-Graph (1) Quelle: Knoten s, nur ausgehende Kanten Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph ST-Graph (1) Quelle: Knoten s, nur ausgehende Kanten Senke: Knoten t, nur eingehende Kanten ST-Graph: Graph mit genau einer Quelle s, einer Senke t und einer Kante (s, t) s t

Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph Graph mit mehreren Quellen/Senken kann in ST-Graph umgewandelt werden: Sink SuperClass1 SuperClass2 Class SubClass1 SubClass2 SuperClass1 SuperClass2 Class SubClass1 SubClass2 Source

ST-Graph (3) O(|V|) Class SubClass1 SubClass2 Sink SuperClass1 Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph ST-Graph (3) Class SubClass1 SubClass2 Sink SuperClass1 SuperClass2 Source O(|V|)

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Assoziationen einfügen Visualisierung von UML-Diagrammen » Algorithmus » Assoziationen einfügen Assoziationen einfügen Assoziationen innerhalb der Hierarchie H einfügen, Beispiel Composite-Pattern: Kantenmenge: {(u, v)  E | u  VH  v  VH} Algorithmen von Battista oder Gutwenger Leaf Composite Component Source Component Leaf Composite Source

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Graph: C = (G, T) mit G = (V, E) Graph und T = (VT, ET) gerichteter Baum Cluster: C(v) = (G(v), T(v)) T definiert Inklusionsrelation auf G c1 G T v1 v2 v3 v4 v5 v6 c2 c3 v1 v2 v3 c4 v5 v6 v4

Clusterhierarchien Jede Vererbungshierarchie H bildet Cluster Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Clusterhierarchien Jede Vererbungshierarchie H bildet Cluster Gleichgerichtet planare Einbettung in PH vorhanden Gesucht: Planare Einbettung des gesamten Graphen, Cluster sollen beachtet werden

Facetten Facette: Flächen, die von Kanten eingeschlossen werden v3 v1 Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Facetten Facette: Flächen, die von Kanten eingeschlossen werden v3 v1 v2 innere Facette v4 v7 v6 äußere Facette v5

Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Wheel-Graph Wheel-Graph: Äußere Knoten bilden einen Kreis, Zentrum c ist mit allen äußeren Knoten verbunden. v1 v4 v2 v3 c v5

Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Wheel-Graph bilden Knoten der äußeren Facette von PH bilden den Kreis des Wheel-Graphen c2 c1 v3 v4 v5 v2 v1 v1 v4 v2 v3 c v5

Planarisierung Assoziationen zu anderen Wheel-Graphen Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Planarisierung Assoziationen zu anderen Wheel-Graphen Planare Einbettung eines Subgraphen finden Außenknoten des Wheel-Graphen verändert v1 v4 v2 v3 c1 v5 u1 u2 u3 c2 v1 v4 v2 v3 c1 v5 u2 u1 u3 c2

Cluster-Eingänge Wheel-Graph gibt Eingangsreihenfolge vor: v1 v4 v2 v3 Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Eingänge Wheel-Graph gibt Eingangsreihenfolge vor: v1 v3 v4 v2 v5 v1 v3 v4 v2 v5 v1 v4 v2 v3 c v5 v1 v4 v2 v5 c v3

Cluster-Graph erstellen Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Graph erstellen Alle Wheel-Graphen durch die berechnete planare Einbettung der Hierarchien ersetzen Fehlende Kanten zwischen den Hierarchien einfügen (Battista) Dummy-Kanten und -Knoten entfernen v1 v4 v2 v3 c1 v5 u2 u1 u3 c2 c2 c1 v3 v4 v5 v2 v1

Visualisierung von UML-Diagrammen » Algorithmus » Übersicht

Orthogonalisieren Knoten vom Grad ≥ 4 durch Cage ersetzen Visualisierung von UML-Diagrammen » Algorithmus » Orthogonalisieren Orthogonalisieren Knoten vom Grad ≥ 4 durch Cage ersetzen Knickminimierung nach Tamassia Verschiedene Nebenbedingungen linearer Zeitaufwand Fläche minimieren Constructive flow-based compaction nach Klau, Klein und Mutzel

Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Visualisierung von UML-Diagrammen » Agenda Agenda Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links

Zusammenfassung Vorberechnung Hierarchien finden Visualisierung von UML-Diagrammen » Zusammenfassung Zusammenfassung Vorberechnung Hierarchien finden Gleichrichten und planarisieren ST-Graph erstellen Assoziationen einfügen Wheel-Graph bilden Planare Einbettung finden Wheel-Graphen ersetzen Orthogonalisieren

Resultate Microsoft Visio Oreas GDE Visualisierung von UML-Diagrammen » Zusammenfassung Resultate Microsoft Visio Oreas GDE

Software und Links GoVisual wird von oreas entwickelt Visualisierung von UML-Diagrammen » Software und Links Software und Links GoVisual wird von oreas entwickelt Diagramm Editor frei erhältlich Bibliotheken & Plug-Ins für Case-Tools werden kommerziell vertrieben http://www.oreas.com

Vielen Dank für die Aufmerksamkeit Fragen zum Vortrag? Folien zum Download: http://uni.christian-meyer.org