Wie kann ich meine Java-Klassen und ihre Interdependenzen als UML-Diagramm repräsentieren?
UML biete viele Möglichkeiten Klassen darzustellen. Mit Klassendiagrammen können die statischen Strukturen der zu modellierenden Klassen und Objekte dargestellt werden. Dieser Artikel geht darauf ein, wie Klassen in UML dargestellt werden können. Ein Tool zum Erstellen von UML Diagrammen findet man sicher auf der Internetseite http://www.jeckle.de/umltools.htm
/wedata%2F0024481%2F2011-08%2Fuml.jpg)
Klassen und Objekte
UML besitzt zwei Haupttypen: Klassendiagramme und Objektdiagramme. Zumindest was die statischen Diagramme betrifft. Klassendiagramme zeigen Klassen und Assoziationen, Aggregationen und Generalisierungen. Ein Klassendiagramm wird genutzt, um später daraus Code zu generieren. Reine Objektdiagramme zeigen nur die Instanzen der Klassen und ihre Verbindungen zu anderen Instanzen. Dieses Diagramm wird genutzt, um festzustellen, welche Instanzen zur Laufzeit existieren. Hat man zum Beispiel eine Klasse „Raum“, dann werden im Klassendiagramm die unterschiedlichen Attribute, zum Beispiel „hoehe“ und „breite“, vermerkt. Das Objektdiagramm hingegen zeigt die verschieden Objekte mit ihren Variablenbelegungen. Beispielsweise das Wohnzimmer, den Flur und die Küche. Eventuell gibt es hier auch Beziehungen zwischen den einzelnen Räumen.
Das Klassendiagramm
Das Kassendiagramm sollte übersichtlich sein. Man sollte gar nicht erst versuchen, alle Klassen in ein einziges Diagramm zu packen. Eine gute Vorgehensweise ist, ein Hauptdiagramm mit 5 bis 15 Hauptklassen zu erstellen. Diese Hauptkassen sollten die Schlüsselelemente sein. So modelliert man mehrere Diagramme und jedes sollte eine Art Thema besitzen – und alle Klassen im Diagramm gehören zu diesem Thema oder stehen in Zusammenhang damit. Die Klasse Raum könnte beispielsweise in Zusammenhang mit der Klasse Möbel gesehen werden. Wohingegen eine mögliche Klasse „Auto“ erst einmal außen vor gelassen werden kann, da diese wohl nicht in einer Beziehung zu „Raum“ stehen wird.
Projektorientierte Klassendiagramme
Klassendiagramme kann man auch verwenden, um die wesentlichen Aspekte eines Projektes zusammen zu fassen. Außerdem kann es nützlich sein, Klassendiagramme zu erzeugen, die die einzelnen Klassen im übergeordneten Kontext darstellen. Es gibt zwei Arten von Diagrammen, die mit einem Klassendiagramm dargestellt werden können: Ein externes Kontextdiagramm zeigt eine zentrale Klasse und alle damit verbundenen Klassen. Ein externes Kontextdiagramm zeigt nicht die Details der zentralen Klasse, stattdessen werden die Außenbeziehungen der Klasse hervorgehoben. Um bei dem Beispiel „Raum“ zu bleiben, würde man hier die Variablen „hoehe“ und „breite“ unbeachtet lassen. Dafür werden hier aber die Beziehungen zu den einzelnen Möbeln in den Fokus genommen. Das interne Kontextdiagramm ist das Gegenteil des externen Kontextdiagramms. Hier wird die zentrale Klasse detailliert dargestellt und auf die externen Beziehungen wird verzichtet. Bei der Klasse „Raum“ wären die Beziehungen zu den Möbeln Nebensache. Alle internen Methoden und Variablen werden aber genau betrachtet.