Etappe 2: Von der Analyse zur softwaretechnischen Modellierung
Wir haben in den vorherigen Lektionen gelernt, wie man ein Café wie Chez Motchi analysiert und daraus saubere Anforderungen ableitet. Dabei ist ein Begriff immer wieder aufgetaucht, ohne dass wir ihn genauer untersucht haben: Objekte.
Genau hier beginnt Etappe 2. Bevor wir UML-Diagramme zeichnen können, müssen wir zunächst verstehen, wie objektorientiertes Denken funktioniert – noch ganz ohne Notation, rein in Alltagssprache.
Menschen nehmen ihre Umgebung meist als Sammlung von Dingen wahr. Wenn du dich im Café Chez Motchi umsiehst, erkennst du vermutlich nicht einzelne Daten oder Funktionen. Stattdessen siehst du:
Jedes dieser Dinge besitzt bestimmte Eigenschaften und kann bestimmte Aufgaben erfüllen. Eine Reservierung besitzt beispielsweise eine Uhrzeit und eine Personenzahl. Gleichzeitig lässt sie sich bestätigen oder stornieren. Genau dieses Denken übernimmt die Objektorientierung.
Ein Objekt ist die digitale Abbildung eines Gegenstands, einer Person oder eines Konzepts innerhalb eines Softwaresystems. Jedes Objekt besitzt zwei Bestandteile:
Betrachten wir als Beispiel eine Reservierung bei Chez Motchi:
| Eigenschaften | Verhalten |
|---|---|
| Datum | bestätigen() |
| Uhrzeit | stornieren() |
| Personenzahl | verschieben() |
Die Eigenschaften beschreiben, was eine Reservierung ist. Das Verhalten beschreibt, was mit ihr getan werden kann.
In der Objektorientierung wird zwischen einer Klasse und einem Objekt unterschieden. Eine Klasse lässt sich wie ein Bauplan vorstellen: Sie beschreibt, welche Eigenschaften und welches Verhalten ein bestimmter Typ von Objekt besitzen soll. Ein Objekt entsteht erst dann, wenn dieser Bauplan tatsächlich verwendet wird.
Die Klasse Reservierung beschreibt alle Reservierungen, die es bei Chez Motchi geben kann. Eine konkrete Reservierung für heute Abend, 19 Uhr, für vier Personen am Fenstertisch ist dagegen ein Objekt dieser Klasse.
Ein Objekt ist also eine Instanz einer Klasse. Dieser Begriff wird uns im weiteren Verlauf des Kurses noch sehr häufig begegnen – vor allem, wenn wir in Kapitel 3 lernen, wie Klassen im Detail modelliert werden.
In der Realität stehen Dinge meist miteinander in Beziehung. Auch bei Chez Motchi ist das so:
Genau diese Beziehungen interessieren uns später bei der Modellierung besonders. Software besteht nicht aus einzelnen, isolierten Objekten – erst durch ihre Zusammenarbeit entsteht ein funktionierendes System.
UML wurde entwickelt, um objektorientierte Systeme zu beschreiben. Bevor wir also Diagramme zeichnen können, müssen wir verstehen, welche Objekte bei Chez Motchi überhaupt existieren und wie sie miteinander zusammenhängen. Genau das haben wir in dieser Lektion getan – ganz ohne ein einziges UML-Symbol.
Wir wissen jetzt, welche Objekte bei Chez Motchi eine Rolle spielen könnten. In der nächsten Lektion lernen wir das Werkzeug kennen, mit dem wir diese Objekte sichtbar machen: UML und seine wichtigsten Diagrammarten.