Wenn du eine App planst, ist der Code noch nicht geschrieben. Trotzdem kannst du schon zeigen, welche Dinge die App kennen soll und was beim Klicken passiert. Dafür nutzen Entwicklerinnen und Entwickler oft Kästen, Linien und Pfeile.
Was UML dir zeigt
UML ist die Abkürzung für Unified Modeling Language. Das ist eine gemeinsame Bildsprache, mit der man Software planen und erklären kann. UML ist kein Programmcode. Sie hilft dir, vor dem Programmieren über ein System nachzudenken.
Ein Modell ist eine vereinfachte Darstellung der Wirklichkeit. Ein Stadtplan zeigt nicht jedes Fenster, sondern nur wichtige Wege und Orte. Genauso zeigt ein UML-Diagramm nur die Teile eines Programms, die gerade wichtig sind.
- Du erklärst, wozu UML dient.
- Du unterscheidest Klassen und Objekte.
- Du liest ein einfaches Klassendiagramm.
- Du wählst passende Diagramme für Aufbau und Ablauf.
Ein Team plant eine App für die Schulbibliothek. Die App soll Bücher verwalten und Ausleihen speichern.
Bevor das Team Code schreibt, klärt es: Welche Dinge gibt es? Wer nutzt die App? Was passiert beim Ausleihen? UML-Diagramme können diese Fragen sichtbar machen.
UML ist ein Plan für ein System. Der Plan ersetzt keinen Code, macht die gemeinsame Idee aber verständlicher.
Interaktive Quizfrage wird geladen ...
Klassen und Objekte
In Programmen gibt es oft viele ähnliche Dinge: Bücher, Schülerinnen und Schüler oder Nachrichten. Eine Klasse ist ein Bauplan für solche ähnlichen Dinge im Programm. Ein Objekt ist ein einzelnes Exemplar, das nach diesem Bauplan entsteht.
Eine Klasse kann Attribute haben. Attribute sind gespeicherte Eigenschaften, zum Beispiel ein Titel oder ein Name. Sie kann auch Methoden haben. Methoden sind Handlungen, die ein Objekt ausführen kann.
Die Klasse Buch beschreibt Bücher in einer Bibliotheks-App.
Sie kann die Attribute titel, autor und ausgeliehen haben. Eine passende Methode wäre ausleihen().
Das Buch „Die Welle“ ist ein einzelnes Objekt. Es hat zum Beispiel den Titel „Die Welle“, den Autor „Morton Rhue“ und ist noch nicht ausgeliehen.
Interaktiver Lückentext wird geladen ...
Interaktive Quizfrage wird geladen ...
Klassendiagramme lesen
Ein Klassendiagramm zeigt den Aufbau eines Programms. Es enthält Klassen, ihre Attribute, ihre Methoden und ihre Verbindungen.
Eine Klasse wird meist als Rechteck mit drei Bereichen gezeichnet. Oben steht der Klassenname. In der Mitte stehen Attribute. Unten stehen Methoden. Ein Diagramm muss aber nicht alle Details zeigen. Es soll vor allem die gestellte Frage verständlich beantworten.
Ein Rechteck für die Klasse Buch kann so aufgebaut sein:
Buch
titel
autor
ausgeliehen
ausleihen()
zurueckgeben()
Du erkennst daran: Ein Buch speichert Informationen und kann ausgeliehen oder zurückgegeben werden.
Eine Sichtbarkeit beschreibt, wer im Programm auf ein Attribut oder eine Methode zugreifen darf. Ein Pluszeichen bedeutet öffentlich: Andere Klassen dürfen es benutzen. Ein Minuszeichen bedeutet privat: Die Klasse verwaltet diesen Teil selbst.
Für den Einstieg ist wichtiger, was eine Klasse speichert und kann. Sichtbarkeit wird wichtig, wenn du Programme genauer entwirfst.
Interaktive Quizfrage wird geladen ...
Beziehungen zwischen Klassen
Klassen stehen selten allein. Eine Beziehung zeigt, wie zwei Klassen zusammenhängen. Im Klassendiagramm verbindet meist eine Linie die beteiligten Klassen.
Die Multiplizität sagt, wie viele Objekte auf einer Seite zu einem Objekt auf der anderen Seite passen. 1 bedeutet genau eins. 0..1 bedeutet keines oder eins. 0..* bedeutet null oder beliebig viele.
Die Klassen Schueler und Ausleihe sind verbunden.
Ein Schueler kann null oder mehrere Ausleihen haben. Eine einzelne Ausleihe gehört dagegen genau zu einem Schueler.
Eine Vererbung ist eine besondere Beziehung. Eine speziellere Klasse übernimmt dabei Eigenschaften einer allgemeineren Klasse. EBook kann zum Beispiel eine besondere Art von Buch sein. Es übernimmt Titel und Autor und kann zusätzlich eine Dateigroesse speichern.
Lies die Multiplizität immer zur anderen Klasse hin: Wie viele Objekte der anderen Seite dürfen dazugehören?
Interaktive Quizfrage wird geladen ...
Abläufe und Kommunikation
Nicht jede Frage betrifft den Aufbau. Manchmal möchtest du wissen, was nacheinander passiert oder wer wem etwas mitteilt. Dafür gibt es UML-Diagramme für Verhalten.
Ein Aktivitätsdiagramm zeigt Schritte, Entscheidungen und mögliche Wege eines Ablaufs. Ein Sequenzdiagramm zeigt Nachrichten zwischen Beteiligten in zeitlicher Reihenfolge. Ein Anwendungsfalldiagramm zeigt Ziele von Nutzenden und anderen beteiligten Systemen.
Ein Akteur ist dabei jemand oder etwas außerhalb des Systems, das mit ihm arbeitet. Das kann ein Mensch sein, aber auch ein anderes Programm.
Beim Ausleihen eines Buchs zeigt ein Aktivitätsdiagramm zum Beispiel:
Start → Buch auswählen → Buch verfügbar?
Bei ja: Ausleihe speichern → Buch als ausgeliehen markieren → Ende
Bei nein: Hinweis anzeigen → Ende
Ein Sequenzdiagramm zur Ausleihe kann diese Reihenfolge zeigen:
- Ein Schueler sendet einen Ausleihwunsch an die App.
- Die App fragt die Buchverwaltung nach der Verfügbarkeit.
- Die Buchverwaltung antwortet.
- Die App bestätigt die Ausleihe oder zeigt einen Hinweis.
Interaktive Lernkarten wird geladen ...
Interaktive Quizfrage wird geladen ...
So zeichnest du ein erstes UML-Diagramm
Beginne nicht mit allen Details. Stelle zuerst eine klare Frage: Willst du den Aufbau, einen Ablauf oder die Kommunikation erklären? Danach wählst du das passende Diagramm.
Benenne Klassen möglichst als Dinge, zum Beispiel Buch oder Ausleihe. Benenne Methoden als Tätigkeiten, zum Beispiel ausleihen(). Prüfe zum Schluss, ob jemand dein Diagramm ohne lange Erklärung verstehen kann.
Du planst eine Hausaufgaben-App.
Zuerst fragst du: Welche Dinge muss die App kennen? Daraus entstehen die Klassen Hausaufgabe, Fach und Schueler.
Danach fragst du: Was passiert beim Erledigen? Ein Aktivitätsdiagramm kann zeigen: Hausaufgabe öffnen → bearbeiten → als erledigt markieren.
Ein gutes UML-Diagramm beantwortet eine konkrete Frage. Es muss nicht das ganze Programm auf einmal zeigen.
Zusammenfassung
UML ist eine Bildsprache für die Planung und Erklärung von Software. Klassen sind Baupläne, Objekte sind konkrete Exemplare davon. Klassendiagramme zeigen Aufbau und Beziehungen.
Für Verhalten nutzt du andere Diagramme: Aktivitätsdiagramme zeigen Abläufe, Sequenzdiagramme zeigen Nachrichten und Anwendungsfalldiagramme zeigen Ziele von Akteuren. Frage dich zuerst, was du sichtbar machen möchtest. Dann wählst du das passende Diagramm.
Mit Google fortfahren