Klassendiagramm
Das Klassendiagramm beschreibt wie der Name schon sagt Klassen. Dabei werden die Klassen als Rechtecke dargestellt und die unterschiedlichen Beziehungen zwischen den Klassen mit Strichen oder Pfeilen. Jede Klasse besitzt bestimmte Attribute (also Eigenschaften wie beispielsweise Farbe, Alter, Name usw.) und bestimmte Operationen (also Aktionen wie beispielsweise setzeAlter(), getName()).
Zu diesen Attributen und Operationen kommen jeweils noch Sichtbarkeiten. Diese werden jeweils vor dem Attribut- bzw. Operationsnamen dazu geschrieben. Man unterscheidet zwischen den drei Sichtbarkeiten: public (+), private (-) und protected (#). Dabei spezifiziert die Sichtbarkeit wie auf das Attribut innerhalb und außerhalb zugegriffen werden kann. So kann auf ein Attribut von außerhalb der Klasse nur zugegriffen werden, wenn es public ist.
Nachfolgend bestimmte Typen eines Klassendiagramms:
Schnittstellen
Eine Schnittstelle gibt eine Vereinbarung von gemeinsamen Signaturen von Methoden an, die in der Klasse implementiert werden, ohne das jeweils schon die genaue Funktion definiert ist. Damit gibt sie an, welche Methoden vorhanden sind, bzw. vorhanden sein müssen. Eine Schnittstelle stellt man im Klassendiagramm wie eine Klasse da, wobei vor dem Klassennamen noch das Schlüsselwort „interface“ folgt. Weitere Stereotypen sind die Entity Klasse oder die Control Klasse.
Abstrakte Klasse
Eine Klasse wird zu einer abstrakten Klassen, wenn mindestens eine abstrakte Methode vorhanden ist. Dabei ist eine abstrakte eine Methode ohne Methodenrumpf, also ohne Implementierung. Eine abstrakte Klasse kann nicht instanziiert werden. Bei einer abstrakten Klasse wird der Klassenname und die abstrakte Methode kursiv geschrieben.
Stereotypen
Mit Hilfe von Stereotypen werden im Klassendiagramm bestehende Elemente klassifiziert. Damit gibt ein Stereotyp Hinweis auf die Art der Verwendung. Ein bekannter Stereotyp ist beispielsweise die Schnittstelle.