Python Klassendiagramm?

1 Antwort

Ich denke, dass du eine Unterscheidung zwischen Produkten brauchst, die einzeln vorliegen können (z.B. Eier, Salatköpfe, o.ä.; wenn auch da noch eine Unterscheidung zwischen Größen/Mengen möglich ist, z.B. S, M, L, XL) und Produkten, bei denen nur die Totalmenge von Interesse ist (z.B. Mehl, Zucker). Daher ist es schon sinnvoll, die Anzahl separat zu halten.

Es sei denn, das Haltbarkeitsdatum soll mit einbezogen werden. In dem Fall sollte jedes Produkt als einzelne Instanz vorrätig sein.

Wenn er sonnst noch Verbesserungsvorschläge habt, gerne raus damit :)
  1. Entscheide dich für nur eine Sprache: Deutsch oder Englisch
  2. Du schreibst groceries öfter falsch
  3. Getter und Setter haben in einem Klassendiagramm eigentlich nichts zu suchen
  4. Die Anzahl/Menge bedarf keiner Abstraktion, es ist einfach nur eine Zahl (wobei ich nach obiger Logik eine Ganzzahl nutzen würde)
  5. Ich sehe aktuell nicht, wozu Household abgebildet werden müsste. Dem Programm kann es doch egal sein, ob sich ein Realnutzer die Wohnung mit anderen teilt oder nicht. Jeder Nutzer hat ein eigenes Lebensmittellager.
  6. Fridge ist kein so passender Name für ein Lebensmittellager. Ebenso stellt FoodEntry doch einen einzelnen Zutateneintrag im Rezept dar, statt eines Prüftools für die Verfügbarkeit von Produkten im Lager.
  7. Vermeide Namensdopplungen wie recipe_title in Recipe (das Attribut sollte stattdessen nur title heißen)
  8. Die Assoziationen solltest du nochmal überarbeiten. Manche haben mehrmalige Beschriftungen, bei denen ich nicht immer wüsste, was sie denn nun ausdrücken sollen (z.B. +wg). Andere wie +Rezeptabgleich sollen wohl logische Aktionen verdeutlichen (was eine Methode übernehmen würde, keine Assoziation).
Hangover2229 
Fragesteller
 16.04.2024, 21:51

Danke für die ausführliche Antwort! Dann kann ich das mal überarbeiten. Die Bewohner teilen sich tatsächlich ein und den selben "Kühlschrank". Deshalb soll Household als praktisch dafür da sein, mehrere Bewohner dort einzutragen.

0
regex9  16.04.2024, 22:21
@Hangover2229

Einen Haushalt würde ich ebenso als nur einen Nutzer behandeln. Bei einer Aufteilung müsstest du andernfalls alle Nutzeraccounts eines Haushalts miteinander verknüpfen (bzw. die Nutzer müssten aktiv Informationen in ihren Accounts hinterlegen, sodass du weißt, dass sie miteinander verknüpft werden dürfen) und synchron halten.

0