@startuml
class Chef
class Evento{
  luogo: testo
  data: data
  partecipantiPreventivati:numero
  tipoServizio:testo
  noteTipologia:???
}
class FoglioRiepilogativo
class Attività
class Menù{
  titolo: testo
  pubblicato: si/no
  consigliatoCuoco: si/no
  piattiCaldi: si/no
  richiedeCucina: si/no
  buffet: si/no
  fingerFood: si/no
}
class Sezione{
  nome: testo
}
class Voce{
  nome: testo
}
class Ricettario{
  nome: testo
}
class Ricetta {
  autore: testo
  numero persone: numero
  quantità prodotto: numero
  vegetariana: si/no
  senza latticini: si/no
  senza uova: si/no
  senza glutine: si/no
  vegana: si/no
}
class Preparazione
class MansioneDiCucina{
  nome: testo
}
class Passo{
  contenuto: testo
}
class Compito{
  quantità: numero
  tempo: numero
  da preparare: si/no
  completato: si/no
}
class Turno{
  giorno: data
  oraInizio: ora
  oraFine: ora
  durata: minuti
  in sede: si/no
  completo: si/no
}
class Cuoco
class TabelloneTurni
Chef "1"--"0..N" Evento:gestisce >
Chef "1"--"0..N" Menù:è proprietario di >
Evento "0..N"--"0..1" Menù:< in uso in
Evento "1"-- "0..1" FoglioRiepilogativo:è associato >
FoglioRiepilogativo "1"--"0..N" Attività:contiene >
Attività "1"--"0..N" Compito:realizzata tramite >
Attività "0..N"--"1" MansioneDiCucina:è associata >
Compito "0..N"--"0..1" Cuoco:esegue <
Compito "0..N"--"0..1" Turno: svolto in >
Turno "0..N"--"0..N" Cuoco: lavora in <
Turno "0..N"--"1" TabelloneTurni:< prevede
Menù "1"--"0..N" Sezione:contiene >
Menù "1"--"0..N" Voce:appartiene <
Sezione "0..1"--"0..N" Voce:raggruppa >
Voce "0..N"--"1" Ricetta:fa riferimento >
Ricetta "0..N"--"1" Ricettario:si trova in >
MansioneDiCucina "1"--"0..N" Passo:composto da >
Ricetta --|> MansioneDiCucina
Preparazione -- (Ricetta, MansioneDiCucina)
@enduml
