Klassenentwurf

Eine zentrale Rolle nehmen bei der objektorientierten, gemeinschaftlichen Softwareentwicklung die sogenannten Klassendiagramme ein. Nahezu allen größeren Softwareprojekte werden heutzutage nach diesem Paradigma entwickelt.

Ausgehend von den Entwurfsdiagrammen, die du im vorigen Abschnitt kennengelernt hast erstellt man ein Implementationsdiagramm, welches detailliert angibt, wie eine Klasse in einer Programmiersprache umgesetzt werden muss.

Beispiel: Münzen schnipsen

Es soll ein Spiel modelliert werden, das folgendermaßen funktioniert:

Zwei Spieler spielen mit jeweils einer Münze auf einem Spielfeld auf ein Tor. Zuerst werfen Sie ihre Münze ins Spielfeld ein. Anschließend schnipsen sie ihre Münze mit den Fingern in Richtung Tor. Wie gut die Münzen eingeworfen und geschnipst werden können, hängt von den Fähigkeiten der jeweiligen Spieler ab. Wenn die Münzen das Spielfeld verlassen, müssen sie neu "eingeschnipst" werden. Die Position der Münzen und des Tors werden durch x-y-Koordinaten festgelegt.

Das Aufeinanderprallen der Münzen sowie die eigentliche Bewegung soll bei der Modellierung der Miniwelt vernachlässigt werden.

Spielverlauf:

Zwei Spieler mit jeweils einer Münze schnipsen ihre Münze vom Spielfeldrand auf der Seite des Tors aufs Spielfeld.

Befinden sich beide Münzen im Spielfeld können die Spieler abwechselnd versuchen, diese durch Schnipsen ins Tor zu befördern.

Wer seine Münze als erstes im Tor unterbringt, hat das Spiel gewonnen.

Objektdiagramm

In einem Objektdiagramm kann man jetzt den ersten Abstraktionsschritt festhalten: An konkreten Objekten veranschaulicht man sich die Situation und identifiziert wichtige Eigenschaften der Objekte. Außerdem kann man siech hier überlegen, welche Fähigkeiten die Objekte haben sollten.

Welche Objekte gibt es?

Zuerst überlegt man sich mal, welche Objekte es grundsätzlich abzubilden gibt:

Analyse einer "realen" Spielsituation

Um Eigenschaften und Fähigkeiten besser analysieren zu können, bietet es sich an, sich eine konkrete Situation vorzustellen, dann wird besser klar, was hier benötigt wird:

Dabei ergeben sich häufig Einsichten, dass man gewisse weitere Attribute für bestimmte Objekte benötigt. Außerdem kann man an dieser Stelle des Entwurfsprozesses bereits "umgangssprachlich" niederschreiben, welche Fähigkeiten ein Objekt haben sollte.

Beispiel:

Beziehungen zwischen Objekten kann man zunächst einfach mit Pfeilen kennzeichnen, die von einer Eigenschaft zum dazugehörigen Objekt verlaufen.

(A1)

Vervollständige das oben begonnene exemplarische Objektdiagramm für das Münzspiel. Du kannst das Bild mit https://app.diagrams.net öffnen und bearbeiten, wenn du magst.