UML (Unified Modeling Language): Klassen, Attribute und Operationen

avatar

UML bedeutet Unified Modeling Language also auf deutsch etwa vereinheitlichte Modellierungssprache. UML wird oftmals für größere Softwareprojekte genutzt und dient der Modellierung von Klassen, Objekten, Zustände und dessen Beziehungen zueinander [1]. Der UML-Standard sieht für Klassenmodelle eine Vielzahl von Modellierungskonzepten vor. In dieser Serie möchte ich die Grundkonzepte der UML-Modellierung mit einigen Beispielen näher erläutern.

Klassen und Instanzen

Ziel der Klassenmodellierung ist das Herausarbeiten von Gemeinsamkeiten von Objekten, die Zustände und Verhalten, aber auch Verbindungen zu anderen Objekten betreffen können. Das Klassenmodell ist also kein dynamisches System von sich ggf. ändernden konkreten Objekten, sondern ein statischer “struktureller“ Rahmen, in den sich die Objekte des Systems einpassen. Ausgangspunkt und zentrales Modellierungselement ist die Klasse.

Eine Klasse beschreibt Objekte mit gemeinsamen Eigenschaften. Die von einer Klasse beschriebenen Objekte werden als Instanzen dieser Klasse bezeichnet.

Man kann sich eine Klasse als eine Schablone vorstellen, nach der die Instanzen der Klasse, also die Objekte, erzeugt werden. Das Erzeugen neuer Objekte wird daher oft auch als Instanziierung bezeichnet. Jede Klasse wird mit einem Namen bezeichnet, der die Klasse möglichst gut charakterisieren sollte. Ist es hierzu notwendig, den Namen aus mehreren aneinandergereihten Worten zu bilden, so wird der Anfang jedes Wortes mit einem Großbuchstaben gekennzeichnet.

Beispiele für Klassennamen sind Person und ArrayList.

Eine Klasse wird im Klassendiagramm im einfachsten Fall als Rechteck dargestellt, in welchem der Name der Klasse steht.


Abbildung 1: Klassen

Attribute

Der Name, unter dem ein Attribut(wert) ansprechbar ist, sowie die zulässigen Werte werden durch eine entsprechende Attributspezifikation der zugehörigen Klasse beschrieben. Jedes Attribut eines Objekts entspricht also einem Attribut der Klasse, das durch einen Namen und einen Typ charakterisiert wird. Der Name eines Attributs sollte den Verwendungszweck des Attributs möglichst treffend skizzieren.
Neben den in Programmiersprachen üblichen Datentypen wie Boolean, Integer, Real und Date können auch einfache anwendungsspezifische Datentypen wie Personalnummer oder Kundennummer und beispielsweise auch Klassen als Attributtyp eingesetzt werden.

Die UML erlaubt bei der Angabe von Attributen unterschiedliche Detaillierungsgrade. Es ist möglich, nur den Namen des Attributs anzugeben; man kann aber auch den Typ, die Sichtbarkeit und ggf. einen Defaultwert ergänzen (dazu in einem anderen Beitrag mehr).

Attribute werden gemäß der UML in die graphische Darstellung von Klassen einbezogen, indem man das Klassensymbol horizontal unterteilt, den Klassennamen im oberen Teil notiert und im unteren Teil die Attribute auflistet.

Die folgende Abbildung zeigt die Klasse Firmenkunde mit einigen Attributen, wobei zur besseren Übersicht nur die Attributnamen aufgelistet sind.


Abbildung 2: Klassen mit Attribute

Operationen

Alle Instanzen einer Klasse verfügen über dieselben Operationen. Eine Operation kann Attributwerte lesen oder schreiben, Berechnungen ausführen und Operationen anderer Objekte zur Ausführung bringen.

Operationen haben wie Attribute einen Namen und eine Sichtbarkeit. Darüber hinaus können sie über Argumente, d.h. Parameter, verfügen. Bei den formalen Parametern von Operationen kann optional die Übergabeart angegeben werden, wobei die UML drei Übergabearten unterscheidet:

  1. Das Schlüsselwort in kennzeichnet Eingabeparameter als Werteparameter, die von der Operation nicht modifiziert werden können.

  2. Mit dem Schlüsselwort inout werden Eingabeparameter als Referenzparameter charakterisiert, die von der Operation modifiziert werden können.

  3. Das Schlüsselwort out kennzeichnet reine Rückgabeparameter als Referenzparameter, die von der Operation gesetzt werden. Höchstens einer der out-Parameter kann dabei als Rückgabewert der Operation angegeben werden.

Operationen werden UML-gemäß in die graphische Darstellung von Klassen einbezogen, indem man den unteren (Attribut-)Bereich des Klassensymbols erneut horizontal unterteilt und die Operationen im untersten Teil auflistet.

Die folgende Abbildung zeigt die Klasse Firmenkunde mit einigen Attributen und ganz unten im letzten drittel Operationen.


Abbildung 3: Klassen mit Attribute und Operationen

Quellen
[1] https://de.wikipedia.org/wiki/Unified_Modeling_Language
[2] OMG Unified Modeling Language Specification V. 1.3, OMG, Jun. 1999



0
0
0.000
1 comments