Aktueller Status
05.05.2026
- Die Einreichung des Antrages ist erfolgt.
1. Unterschied UML-Diagramm ↔ ER-Diagramm
Kurz gesagt
- UML
Wie sieht die Software aus und wie verhält sie sich? - ER
Wie sieht die Datenbank aus und wie hängen die Daten zusammen?
1.1 UML (Unified Modeling Language)
- „Sprache“ mit vielen Diagrammarten (Use-Case, Aktivitäts-, Klassendiagramm usw.).
- Schwerpunkt: Softwaremodellierung (Abläufe, Objekte, Klassen).
- Z. B. Klassendiagramm zeigt Attribute + Methoden.
1.2 ER-Diagramm (Entity-Relationship-Diagramm)
- Nicht Teil der UML, sondern eigenes Modell.
- Schwerpunkt: Datenbanken.
- Ziel: Welche Datenobjekte (Entitäten) gibt es, welche Attribute haben sie und wie stehen sie in Beziehungen?
1.2.1 Elemente im ER-Diagramm
- Entität = Tabelle (Rechteck, z. B. „Kunde“).
- Attribut = Spalte (Oval, z. B. „Name“, „Kundennummer“).
- Beziehung = Verbindung zwischen Entitäten (Raute oder Linie, z. B. „Kunde bestellt Bestellung“).
- Kardinalität = 1:1, 1:n, m:n (wie oft darf ein Datensatz vorkommen?).
Beispiel: Online-Shop als ER-Diagramm
Code
[Kunde] -------- (gibt auf) -------- [Bestellung]
| id | id
| name | datum
| email | status
[Bestellung] -------- (enthält) -------- [Artikel]
| bestellNr | artikelNr
| bezeichnung
| preis
- Ein Kunde kann viele Bestellungen aufgeben → 1:n
- Eine Bestellung kann viele Artikel enthalten → m:n (braucht i. d. R. Zwischentabelle „Bestellposition“)
2. Merksatz für die AP1
Fokus auf Programmstruktur (Attribute + Methoden + Beziehungen).
ER-Diagramm = Fokus auf Datenbankmodell (Tabellen + Attribute + Beziehungen).
Sie sehen ähnlich aus, aber: UML spricht über Code/Objekte - ERD spricht über Tabellen/Datenbanken.
UML-Diagramme
1. Use-Case-Diagramm (Anwendungsfalldiagramm)
Frage: Wer macht was mit dem System?
- Zeigt Akteure (Strichmännchen) und Anwendungsfälle (Ellipsen).
- Fokus: Funktionen aus Sicht des Benutzers.
1.1 Beispiel Online-Shop
Code
Kunde Zahlungsdienst (extern)
| |
| |
+------------------------------------------------+
| Online-Shop-System |
| |
| (Anmelden) |
| (Artikel in Warenkorb legen) |
| (Bestellung durchführen) |
| | «include» |
| v |
| (Zahlung durchführen) ←—— Zahlungsdienst |
| | «include» |
| v |
| (Bestellbestätigung erzeugen) |
+------------------------------------------------+
Alles anzeigen
Prüfung: Oft gefragt: «include» vs. «extend» = Systemgrenze, Akteure.
2. Aktivitätsdiagramm
Frage: Wie läuft ein Prozess ab?
- Zeigt Abläufe/Workflows (Start → Aktionen → Entscheidung → Ende).
- Fokus: Reihenfolge von Aktivitäten.
2.1 Beispiel Online-Shop
Code
[Start]
↓
(Aktion) Anmeldung
↓
(Aktion) Artikel in Warenkorb legen
↓
[Entscheidung] Warenkorb leer?
├─ Ja → (Aktion) Fehlermeldung anzeigen → [Ende]
└─ Nein → (Aktion) Zahlungsart wählen
↓
(Aktion) Bestellung bestätigen
↓
[Ende]
Alles anzeigen
Prüfung: Oft gefragt: Symbole richtig erkennen/zuordnen, Ablauf rekonstruieren.
3. Klassendiagramm
Frage: Wie ist das System aufgebaut?
- Zeigt Klassen, Attribute, Methoden und Beziehungen.
- Fokus: Struktur & Datenmodell.
3.1 Beispiel Online-Shop
Code
+-----------------------------+
| Kunde |
+-----------------------------+
| - kundenNr: String |
| - name: String |
| - email: String |
+-----------------------------+
| + anmelden() |
| + bestellungAufgeben(): Bestellung |
+-----------------------------+
+-----------------------------+
| Bestellung |
+-----------------------------+
| - bestellNr: String |
| - datum: Date |
| - status: String |
+-----------------------------+
| + bestaetigen() |
+-----------------------------+
+-----------------------------+
| Zahlung |
+-----------------------------+
| - zahlungsId: String |
| - betrag: Decimal |
| - art: String |
+-----------------------------+
Kunde 1 ----- * Bestellung
Bestellung 1 ----- 1 Zahlung
Alles anzeigen
4. Merksätze für die AP1
- UML = Sprache, nicht ein einziges Diagramm.
- Use-Case = „Wer macht was?“
- Aktivitätsdiagramm = „Wie läuft’s ab?“
- Klassendiagramm = „Wie ist es aufgebaut?“