Klassendiagramm

Übungsaufgaben zu Klassenbeziehungen: Assoziation, Aggregation, Komposition und Multiplizitäten

Drei Übungsaufgaben zu Beziehungen im UML-Klassendiagramm: ein Klassenmodell mit Multiplizitäten und Rollen aus einer Planungsnotiz erstellen, Aggregation und Komposition an Diagramm, Quelltext und Objektdiagramm untersuchen sowie aus einem Java-Prototyp ein Klassendiagramm ableiten, seinen Ablauf vorhersagen und einen fehlerhaften Entwurf korrigieren.

Übungsaufgaben zum UML-Klassendiagramm

Fünf Übungsaufgaben zum UML-Klassendiagramm: zum Einstieg ein Klassendiagramm lesen, eine Methodendeklaration zerlegen, Klassen ergänzen und gewählte Datentypen nach Speicherbedarf beurteilen; danach eine Klasse aus Anforderungen mit Sichtbarkeiten, Datentypen, Konstruktor, Getter und Setter erstellen, ein Klassendiagramm aus Quellcode und einem englischen Text ableiten und Fehler in einer Vorgabe korrigieren sowie ein Modell mit mehreren Klassen, Vererbung und Beziehungen zeichnen.

UML-Objektdiagramm

Im UML-Objektdiagramm können Instanzen von Klassen dargestellt werden. Attributwerte werden als Slots oder über Links repräsentiert, Aggregationen und Instanziierungen können ebenso festgehalten werden. Instanzen werden wie Klassen dargestellt, deren Instanzname unterstrichen ist. In diesem Blogpost werden die relativ wenigen Notationsmittel des UML-Objektdiagramms vorgestellt.

Objektorientierung – das Konzept Polymorphie

Ein zentrales Konzept der objektorientierten Programmierung (OOP) ist die Polymorphie: die Vielgestalt von Objekten. Es ermöglicht über Instanztypen das Verhalten eines Objekts festzulegen, während der Typ der Referenz festlegt, welche Member erreichbar sind. Welche Implementierung läuft, entscheidet sich erst zur Laufzeit (späte Bindung). Der Artikel zeigt außerdem, wie Du Polymorphie im UML-Klassendiagramm modellierst, Fallunterscheidungen damit ersetzt und typische Fehler vermeidest.

UML-Klassendiagramme mit PlantUML zeichnen

Das Tool PlantUML ist hervorragend geeignet, um Klassendiagramme direkt in Dokumentationen wie Readme.md-Dateien des Repositorys oder in Kommentaren zu integrieren, sie aus Programmcode direkt zu generieren und sie in einem Versionskontrollsystem zu versionieren. In diesem Infotext stelle ich vor, wie mit PlantUML die unterschiedlichen Notationsmittel von Klassendiagrammen genutzt werden können, mit welchen Einstellungen sie nahe am UML-Standard bleiben und wie sie sich aufhübschen lassen.

Abstrakte Klassen und Interfaces

Ein großes Problem bei Objekt- und Klassenbeziehung ist die starke Kopplung unterschiedlicher Klassen aneinander. Der Austausch von Verhalten ist so nur mit großem Aufwand möglich. Das Konzept der Abstraktion bietet hier in Form von abstrakten Klassen und Interfaces die Möglichkeit, Komponenten lose zu koppeln. Der Artikel zeigt, wie beide im UML-Klassendiagramm notiert werden, worin sie sich von konkreten Klassen unterscheiden und welche Fehler häufig passieren.

Klassenbeziehungen: Vererbung von Klassen in der UML

Zentrales Element der Code-Wiederverwendung in der objektorientierten Programmierung (OOP) ist die Vererbung. Am Beispiel von Bankkonten werden hier das OOP-Prinzip Vererbung und die darauf aufbauenden Konzepte (z. B. Überschreiben, Konstruktoraufruf der Oberklasse, protected) erklärt – und wie Du aus vorhandenen Klassen eine Oberklasse entwickelst und Vererbung im UML-Klassendiagramm richtig notierst.

UML-Klassendiagramm Objektbeziehungen – Assoziationen

Mit einzelnen Objekten erreicht man in der objektorientierten Programmierung (OOP) noch nicht viel. Erst im Zusammenspiel als Objektsammlungen und über Objektinteraktionen entwickelt die OOP ihre Stärken. Der folgende Text behandelt die Fragen: Welche Objektbeziehungen gibt es? Was unterscheidet Abhängigkeit, Assoziation, Aggregation und Komposition? Wie liest und begründet man Multiplizitäten, und woran erkennt man die passende Beziehung in Anforderungstexten, Quelltexten und Entwurfsmustern? Versuch der Klärung.

UML-Klassendiagramm: Sichtbarkeitsmodifikatoren

Kapselung ist ein Konzept der objektorientierten Programmierung (OOP), das verhindern soll, dass Anpassungen des Codes zu Inkonsistenzen führen. Der Zustand der Objekte soll nicht direkt änderbar sein, sondern nur über Methoden, die ggf. weitere Anpassungen vornehmen können: Getter und Setter. Der Artikel stellt die vier Sichtbarkeiten +, -, # und ~ vor und zeigt, wie Du Anforderungen wie „nur lesbar“ im Klassendiagramm umsetzt.

Einstieg in objektorientierte Programmierung mit dem UML-Klassendiagramm

Das UML-Klassendiagramm ist die zentrale Modellierungssprache der objektorientierten Programmierung (OOP). Dieser Einstiegsartikel zeigt den Aufbau einer Klasse, die Darstellung ihrer Member (Attribute und Methoden), Überladung sowie Instanz- und Klassenattribute und -methoden. Außerdem geht es um die vollständige Schreibweise von Attributen und Methoden und darum, wie Du aus einem Anforderungstext ein Klassendiagramm entwickelst.