Etappe 2: Von der Analyse zum softwaretechnischen Modell
In der letzten Lektion haben wir gelernt, dass Chez Motchi aus vielen Objekten besteht – Gästen, Reservierungen, Tischen, Bestellungen, Mitarbeitern. Doch je größer ein System wird, desto schwieriger wird es, alle diese Objekte und ihre Zusammenhänge nur durch Gespräche oder Textbeschreibungen festzuhalten. Genau hier kommt UML ins Spiel.
Stell dir vor, ein Entwickler soll Motchi erklären, wie die geplante Reservierungssoftware aufgebaut sein wird. Eine Möglichkeit wäre, ihm hunderte Zeilen Programmcode zu zeigen.
Deshalb benötigen wir eine gemeinsame Sprache, die sowohl technische als auch fachliche Zusammenhänge sichtbar macht. Diese Sprache heißt UML – Unified Modeling Language, zu Deutsch etwa „vereinheitlichte Modellierungssprache“.
UML ist ein internationaler Standard zur Beschreibung und Visualisierung von Softwaresystemen. Dabei handelt es sich nicht um eine Programmiersprache – mit UML entwickeln wir keine Software direkt, sondern erstellen Modelle, die uns helfen, Software zu planen, zu verstehen und zu dokumentieren.
Eine Landkarte ist nicht die Realität. Sie zeigt weder jedes Haus noch jeden Baum – trotzdem hilft sie uns, uns zu orientieren. Genauso verhält es sich mit UML: Ein UML-Diagramm bildet nicht jedes technische Detail eines Systems ab, sondern zeigt genau die Informationen, die wir für eine bestimmte Fragestellung benötigen.
Ein Softwaresystem besteht aus unterschiedlichen Aspekten. Manchmal interessiert uns, welche Objekte existieren. Manchmal möchten wir Abläufe darstellen. In anderen Fällen betrachten wir die Kommunikation zwischen einzelnen Bestandteilen. Ein einziges Diagramm könnte all diese Informationen kaum übersichtlich zeigen.
Jede Diagrammart beantwortet eine andere Frage und betrachtet einen anderen Aspekt des Systems.
| Diagrammart | Beantwortet die Frage | Beispiel bei Chez Motchi |
|---|---|---|
| Klassendiagramm | Welche Klassen existieren, welche Eigenschaften und Methoden besitzen sie, wie sind sie verbunden? | Gast, Reservierung, Tisch als Klassen mit ihren Beziehungen |
| Anwendungsfalldiagramm | Wer nutzt das System, welche Funktionen stehen zur Verfügung? | Gast reserviert einen Tisch, Mitarbeiter bearbeitet eine Bestellung |
| Aktivitätsdiagramm | Welche Schritte laufen nacheinander ab, welche Entscheidungen gibt es? | Ablauf einer Reservierung von der Anfrage bis zur Bestätigung |
| Sequenzdiagramm | Wie kommunizieren Objekte zeitlich miteinander? | Wie das Reservierungssystem, der Server und die Datenbank zusammenarbeiten |
| Zustandsdiagramm | Welche Zustände durchläuft ein Objekt im Laufe seines Lebens? | Eine Bestellung durchläuft „Neu“, „In Zubereitung“, „Serviert“, „Bezahlt“ |
Das Klassendiagramm gehört dabei zu den wichtigsten UML-Diagrammen überhaupt. Es zeigt die Struktur eines Systems und bildet die Grundlage für nahezu alle anderen Betrachtungen. Deshalb widmet sich auch das nächste Kapitel dieses Kurses ausführlich genau diesem Diagrammtyp.
In der nächsten Lektion wenden wir das bisher Gelernte erstmals praktisch an: Wir modellieren Chez Motchi zum ersten Mal wirklich – Schritt für Schritt, von den ersten Entitäten bis zu einem groben Klassendiagramm-Skelett, das in Kapitel 3 weiterentwickelt wird.