Zum Inhalt springen

Informatik · Klasse 10–12 · aktualisiert

UML einfach erklärt: Diagramme lesen und erstellen

Mit UML (Unified Modeling Language, „vereinheitlichte Modellierungssprache“) lernst du, Aufbau und Abläufe von Programmen darzustellen.

0 von 9 Aufgaben gelöst

UML einfach erklärt: Diagramme lesen und erstellen

Kurz gesagt

UML ist eine gemeinsame Sprache für Modelle: vereinfachte Beschreibungen eines Systems. Ein Klassendiagramm zeigt Klassen als Baupläne; ein Sequenzdiagramm zeigt den Nachrichtenaustausch zwischen Objekten, also einzelnen Dingen nach diesen Bauplänen.

Bevor du ein Programm umsetzt, kannst du seinen Aufbau und wichtige Abläufe planen. Ein Diagramm ist eine Zeichnung, die ausgewählte Teile und Verbindungen zeigt. Hier arbeitest du mit erfundenen Modellen; ihre Annahmen legen fest, was gelten soll.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

UML stellt gemeinsame Zeichen und Regeln bereit, mit denen du Modelle beschreiben kannst. Das erleichtert es, einen Programmentwurf zu besprechen. Ein UML-Modell ist selbst kein ausführbares Programm.

Ein Strukturdiagramm zeigt den Aufbau eines Modells. Dazu gehört das Klassendiagramm: Es zeigt Klassen, ihre Eigenschaften und ihre Beziehungen. Ein Verhaltensdiagramm beschreibt dagegen Abläufe. Dazu gehört das Sequenzdiagramm: Es zeigt, wie einzelne Objekte Nachrichten austauschen.

Eine Klasse ist ein Bauplan für gleichartige Objekte. Ein Objekt ist ein einzelnes Ding nach diesem Bauplan. Ein Attribut beschreibt eine Eigenschaft, für die ein Objekt einen Wert haben kann. Eine Operation beschreibt eine angebotene Tätigkeit. Im Klassendiagramm steht eine Klasse in einem Rechteck. Oben steht ihr Name. Darunter können getrennte Bereiche für Attribute und Operationen folgen; diese Bereiche dürfen auch fehlen. In unseren Entwürfen kennzeichnet ein Klammerpaar eine Operation. Leere Klammern bedeuten, dass du beim Aufruf keine Eingabewerte übergibst.

Zum Entwerfen einer Klasse bestimmst du ihren Zweck, gibst ihr einen Namen und wählst passende Eigenschaften und Tätigkeiten. Halte ausdrücklich fest, welche Annahmen für deinen Entwurf gelten.

Definition

Klasse und Objekt

Die Klasse beschreibt einen gemeinsamen Bauplan. Ein einzelnes Objekt kann eigene Attributwerte haben und die angebotenen Operationen nutzen.

Beispiel: Eine erfundene Klasse für einen Wecker

  1. 1Annahme: Unser Wecker speichert eine Weckzeit und kann eingeschaltet werden.
  2. 2Oberer Bereich: Klassenname „Wecker“.
  3. 3Mittlerer Bereich: Attribute „weckzeit“ und „aktiv“.
  4. 4Unterer Bereich: Operation „einschalten()“.
  5. 5Ein einzelnes Wecker-Objekt kann für „weckzeit“ den Wert „07:15“ und für „aktiv“ den Wert „ja“ haben.

Merke: Ein Klassendiagramm beschreibt die Struktur. Ein Sequenzdiagramm beschreibt den Nachrichtenaustausch in einem Ablauf. Eine Operation im Klassenkasten zeigt noch nicht, wie das Programm sie ausführt.

Teste dich

LeichtFür die erfundene Klasse „Kamera“ sind „akkustand“ und „ausloesen()“ vorgesehen. Welche Zuordnung passt?

Alles auf einen Blick

UML

  • UML

    Gemeinsame Zeichen und Regeln helfen beim Beschreiben und Besprechen eines Modells.

  • Klasse

    Der Bauplan kann Attribute für Eigenschaften und Operationen für Tätigkeiten enthalten.

  • Generalisierung

    Das hohle Dreieck zeigt von der spezielleren zur allgemeineren Klasse.

  • Komposition

    Ein Teil gehört gleichzeitig zu höchstens einem solchen Ganzen. Beim Löschen des Ganzen werden enthaltene Teile gewöhnlich mitgelöscht; Teile können vorher entfernt werden.

  • Multiplizität

    Die Angabe an einem Ende zählt die dortigen Objekte pro einzelnem Objekt am anderen Ende.

  • Sequenzdiagramm

    In unseren Abläufen ohne Gleichzeitigkeit liest du Nachrichten von oben nach unten; Abstände sind keine Zeitangaben.

Musteraufgabe · Schritt für Schritt

Ein erfundenes Modell für Futterautomaten entwerfen und prüfen

  1. 1Aufgabe: Entwirf Klassen und eine Beziehung. Annahmen: Jeder Futterautomat nutzt genau einen Napf. Ein Napf darf unverbunden sein und ist höchstens einem Futterautomaten zugeordnet.
  2. 2Lege die Klasse „Futterautomat“ an: Das Attribut „vorrat“ beschreibt die vorhandene Futtermenge. Die Operation „ausgeben()“ bietet die Tätigkeit der Futterausgabe an.
  3. 3Lege die Klasse „Napf“ an: Das Attribut „farbe“ beschreibt seine Farbe. Die Operation „leeren()“ bietet das Leeren an.
  4. 4Verbinde die Klassen durch eine Assoziation mit der Beschriftung „nutzt“. Die Annahmen legen keine Löschregel für die Objekte fest.
  5. 5Schreibe 1 an das Ende bei „Napf“: Pro Futterautomat ist genau ein Napf erforderlich.
  6. 6Schreibe 0..1 an das Ende bei „Futterautomat“: Pro Napf sind null oder ein Futterautomat erlaubt.
  7. 7Prüfe den Entwurf: Ein Futterautomat mit einem zugeordneten Napf und ein weiterer, unverbundener Napf erfüllen beide Anzahlvorgaben.

Fehler finden

Prüfe das erfundene Modell für Lieferungen In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Du möchtest die Eigenschaften von Klassen und ihre Beziehungen darstellen. Dafür passt ein . In einem erfundenen Modell darf ein Drucker keinen oder einen Druckauftrag haben. Am Ende bei „Druckauftrag“ steht deshalb . Eine Verbindung, bei der eine speziellere Klasse von einer allgemeineren Klasse erbt, heißt .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: UML

LeichtFür ein erfundenes Wetterprogramm möchtest du Klassen und ihre Beziehungen planen. Welche Begründung passt?
MittelIn einem erfundenen Modell verbindet eine Komposition „Modellauto“ und „Modellrad“. Das Modellrad ist der Teil. Was folgt daraus?
SchwerEin erfundenes Modell verbindet „Auftrag“ und „Sachbearbeiter“. Bei „Sachbearbeiter“ steht 1, bei „Auftrag“ steht 0..\ast. Welche vollständige Zuordnung passt?

Weiterlesen in Informatik