Exkurs: UML

Aus ComeniusWiki
Wechseln zu: Navigation, Suche

Die Unified Modeling Language (Vereinheitlichte Modellierungssprache), kurz UML, ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software-Teilen und anderen Systemen. Sie ermöglicht die allgemein verständliche Darstellung sowohl statischer als auch dynamischer Aspekte eines Systems. UML-Diagramme lassen sich in Strukturdiagramme und Verhaltensdiagramme unterteilen, wobei man insgesamt sieben Struktur- und sieben Verhaltensdiagramme unterscheiden kann. Für jeden dieser Diagrammtypen existiert eine standardisierte Notation.

Klassendiagramm

Klassendiagramme stellen das zentrale Konzept der UML dar. Sie zeigen die statischen Bestandteile und Attribute von Systemen und welche Beziehungen sie untereinander einnehmen können. Bis auf die Definition von Operatoren der Klassen werden jegliche dynamischen Aspekte außer Acht gelassen.

Notation

Klasse

Das Notationselement einer Klasse wird in drei Abschnitte aufgeteilt:

Klassendiagramm.JPG


Attribut

Die Attribute beschreiben die Daten, die von den Objekten einer Klasse angenommen werden können. Jedes Attribut hat einen bestimmten Datentyp. Alle Objekte einer Klasse haben dieselben Attribute, können aber unterschiedliche Attributwerte besitzen.

Sichtbarkeit: Dieses Merkmal weist die Zugriffsrechte zu. Bisher kennen wir public (+) und private (-). Attribute können gemäß dem Geheimnisprinzip der objektorientierten Programmierung nur über vordefinierte Schnittstellen (Getter und Setter, d.h. Methoden, die die Attributwerte zurückliefern bzw. verändern) gelesen und geändert werden. (siehe Datenkapselung). Aus diesem Grund setzen wir die Sichtbarkeit von Attributen bis auf weiteres auf private.


Assoziation

Eine Assoziation beschreibt eine Beziehung zwischen zwei oder mehr Klassen. Üblicherweise umfassen Java-Programme mehr als nur eine Klasse, zwischen denen bestimmte Beziehungen bestehen. Bei der Modellierung legen wir diese Assoziationen fest und setzen sie dann bei der Implementierung um. Im Klassendiagramm legen wir die Assoziation durch eine Linie zwischen den entsprechenden Klassen fest, geben einen Assoziationsnamen mit entsprechender Leserichtung an und legen die Multiplizität fest, d.h. die mögliche Anzahl der an der Beziehung beteiligten Objekte.


Assoziation.JPG