allgemein:test:uebungsaufgaben
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| allgemein:test:uebungsaufgaben [02.10.2025 14:01] – lars | allgemein:test:uebungsaufgaben [06.10.2025 11:09] (aktuell) – [Aufgabe 06.10.2025] lars | ||
|---|---|---|---|
| Zeile 90: | Zeile 90: | ||
| Beschreibung: | Beschreibung: | ||
| - | | + | |
| * Eine Rechnung besteht aus mehreren Positionen. | * Eine Rechnung besteht aus mehreren Positionen. | ||
| * Jede Position bezieht sich auf genau ein Produkt. | * Jede Position bezieht sich auf genau ein Produkt. | ||
| Zeile 100: | Zeile 100: | ||
| 2. Welche Beziehung besteht zwischen Rechnung und Position? Aggregation oder Komposition? | 2. Welche Beziehung besteht zwischen Rechnung und Position? Aggregation oder Komposition? | ||
| 3. Wie würde sich die Modellierung ändern, wenn Position ohne Rechnung nicht existieren kann? | 3. Wie würde sich die Modellierung ändern, wenn Position ohne Rechnung nicht existieren kann? | ||
| - | | + | Â |
| + | **Lösung** | ||
| + | Â | ||
| + | **1) Klassendiagramm (mit Beziehungstypen & Multiplizitäten)** | ||
| + | Â | ||
| + | **Empfohlen (fachlich korrekt: Komposition zwischen Rechnung und Position): | ||
| + | < | ||
| + | classDiagram | ||
| + | class Rechnung | ||
| + | class Position | ||
| + | class Produkt | ||
| + | Â | ||
| + | Rechnung " | ||
| + | Position " | ||
| + | Â | ||
| + | Hinweis: Dadurch ergibt sich indirekt eine **n: | ||
| + | Â | ||
| + | **2) Aggregation oder Komposition? | ||
| + | Â | ||
| + | **Komposition.** Positionen sind Teil der Rechnung (Lebenszyklus gebunden); löscht man die Rechnung, verschwinden die Positionen. | ||
| + | Â | ||
| + | **3) Wenn Position ohne Rechnung nicht existieren kann …** | ||
| + | Â | ||
| + | … dann ist genau das die **Komposition** (gefüllter Diamant). | ||
| + | Falls du zuvor Aggregation modelliert hattest, tausche einfach `o--` gegen `*--` aus:Â | ||
| + | Â | ||
| + | **Alternative (Aggregation, | ||
| + | classDiagram | ||
| + | class Rechnung | ||
| + | class Position | ||
| + | class Produkt | ||
| + | Â | ||
| + | Rechnung " | ||
| + | Position " | ||
| + | Â | ||
| + | ----Â | ||
| + | ## Aufgabe 06.10.2025Â | ||
| + | Â | ||
| + | Â | ||
| + | < | ||
| + | classDiagram | ||
| + | Â | ||
| + | class Abteilung {Â | ||
| + | +abteilungsId : int | ||
| + | +name : string | ||
| + | }Â | ||
| + | Â | ||
| + | class Mitarbeiter {Â | ||
| + | +mitarbeiterId : int | ||
| + | +vorname : string | ||
| + | +nachname : string | ||
| + | +email : string | ||
| + | }Â | ||
| + | Â | ||
| + | class Techniker {Â | ||
| + | +technikerId : int | ||
| + | +skillset : string | ||
| + | +telefonDurchwahl : string | ||
| + | }Â | ||
| + | Â | ||
| + | class Supportanfrage {Â | ||
| + | +ticketNr : string | ||
| + | +status : string | ||
| + | +erstelltAm : Date | ||
| + | +kurzbeschreibung : string | ||
| + | }Â | ||
| + | Â | ||
| + | Abteilung " | ||
| + | Mitarbeiter " | ||
| + | Supportanfrage " | ||
| + | Mitarbeiter <|-- Techniker | ||
| + | </ | ||
| + | Â | ||
| + | # b) Assoziation vs. Aggregation (am Ticketsystem erklärt) | ||
| + | Â | ||
| + | * **Assoziation**: | ||
| + | *Beispiel*: **Mitarbeiter — erstellt — Supportanfrage**. Ein Mitarbeiter kann viele Anfragen erstellen; die Objekte existieren unabhängig voneinander. | ||
| + | * **Aggregation** (leere Raute „o--“): „Ganze-Teil“ mit *geteilter* Lebensdauer (Teil kann auch ohne Ganzes existieren). | ||
| + | *Beispiel*: **Abteilung o-- Mitarbeiter**. Eine Abteilung *umfasst* Mitarbeiter, | ||
| + | Â | ||
| + | Â | ||
| + | # c) 1:n oder m:n zwischen „Mitarbeiter“ und „Supportanfrage“? | ||
| + | Â | ||
| + | * **Begründet 1:n**: In den Anforderungen steht, dass *jeder Mitarbeiter mehrere Supportanfragen stellen kann* und eine Supportanfrage von **einem** Mitarbeiter stammt (Ersteller). Damit: **Mitarbeiter 1 — n Supportanfrage**. | ||
| + | * **Wann m:n?** Nur wenn das Domänenmodell erlauben würde, dass **mehrere** Mitarbeiter gemeinsam als Ersteller derselben Anfrage gelten (z. B. Co-Ersteller oder Ticket-Übernahme als „Erstellerrolle“), | ||
allgemein/test/uebungsaufgaben.1759406487.txt.gz · Zuletzt geändert: von lars