Eine Assoziationsklasse (auch Beziehungsklasse) ist in der objektorientierten Analyse eine Klasse, deren Attribute und Operationen die Assoziation zwischen anderen Klassen beschreibt.
Assoziationsklassen werden in Analysephasen von Prozessmodellen verwendet und später zum Entwurf aufgelöst. Dazu werden entweder die Attribute (und Operationen) auf die Klassen der Assoziation verteilt, oder die Assoziation wird aufgeteilt, indem die Assoziationsklasse als eigenständige Klasse eingefügt wird.
Assoziationsklassen beschreiben in der UML, wie Relationships mit ihren Attributen in Entity-Relationship-Diagrammen, eine Beziehung (Relationship) zwischen zwei Klassen (Entities), nehmen also die Eigenschaften auf, die gerade durch diese Beziehung entstehen.
Beispiel
Angenommen das Ausleihen eines Buches durch einen Leser soll modelliert werden. Leser und Buch werden als Klassen modelliert und über eine Assoziation miteinander verbunden. Eine Assoziationsklasse „Ausleihe“ kann hier genauere Informationen wie z. B. das Ausleihdatum speichern. Diese wird über eine gestrichelte Linie mit der Assoziation verbunden.
In der Entwurfsphase wird nun die Assoziationsklasse aufgelöst. Dabei wird die Assoziation aufgeteilt, sodass nun eine neue Assoziation die Klasse „Leser“ mit der Klasse „Ausleihe“ und eine zweite „Ausleihe“ mit „Buch“ verbindet. Die Multiplizitäten müssen dabei ebenfalls angepasst werden.