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 [06.10.2025 10:26] – [Aufgabe 06.10.2025] lars | allgemein:test:uebungsaufgaben [06.10.2025 11:09] (aktuell) – [Aufgabe 06.10.2025] lars | ||
|---|---|---|---|
| Zeile 138: | Zeile 138: | ||
| ## Aufgabe 06.10.2025 | ## Aufgabe 06.10.2025 | ||
| - | Gern! Hier ist eine kompakte, punktetaugliche Lösung inkl. sauberem Mermaid-Klassendiagramm (läuft mit aktuellen Mermaid-Versionen und DokuWiki-Plugin). | ||
| < | < | ||
| classDiagram | classDiagram | ||
| - | direction LR | ||
| class Abteilung { | class Abteilung { | ||
| - | +abteilungsId: | + | +abteilungsId : int |
| - | +name: string | + | +name : string |
| } | } | ||
| class Mitarbeiter { | class Mitarbeiter { | ||
| - | +mitarbeiterId: | + | +mitarbeiterId : int |
| - | +vorname: string | + | +vorname : string |
| - | +nachname: string | + | +nachname : string |
| - | +email: string | + | +email : string |
| } | } | ||
| class Techniker { | class Techniker { | ||
| - | +technikerId: | + | +technikerId : int |
| - | +skillset: string | + | +skillset : string |
| - | +telefonDurchwahl: | + | +telefonDurchwahl : string |
| } | } | ||
| class Supportanfrage { | class Supportanfrage { | ||
| - | +ticketNr: string | + | +ticketNr : string |
| - | +status: | + | +status : string |
| - | +erstelltAm: | + | +erstelltAm : Date |
| - | +kurzbeschreibung: | + | +kurzbeschreibung : string |
| } | } | ||
| - | class Status << | + | Abteilung " |
| - | OFFENÂ | + | Mitarbeiter " |
| - | IN_BEARBEITUNGÂ | + | Supportanfrage " |
| - | WARTENDÂ | + | |
| - | GESCHLOSSENÂ | + | |
| - | }Â | + | |
| - | Â | + | |
| - | %% Generalisierung | + | |
| Mitarbeiter <|-- Techniker | Mitarbeiter <|-- Techniker | ||
| - | |||
| - | %% Aggregation Abteilung–Mitarbeiter | ||
| - | Abteilung " | ||
| - | |||
| - | %% Assoziation Mitarbeiter–Supportanfrage (Ersteller) | ||
| - | Mitarbeiter " | ||
| - | |||
| - | %% Assoziation Supportanfrage–Techniker (Zuweisung) | ||
| - | Supportanfrage " | ||
| - | |||
| - | %% Verwendungsbeziehung Status (Typattribut) | ||
| - | Supportanfrage ..> Status : verwendet | ||
| </ | </ | ||
| - | |||
| # b) Assoziation vs. Aggregation (am Ticketsystem erklärt) | # 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. | *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, | *Beispiel*: **Abteilung o-- Mitarbeiter**. Eine Abteilung *umfasst* Mitarbeiter, | ||
| + | |||
| # c) 1:n oder m:n zwischen „Mitarbeiter“ und „Supportanfrage“? | # 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“), | + | * **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.1759739192.txt.gz · Zuletzt geändert: von lars