Di seguito è il problema per cui ho creato un diagramma UML con Staff come superclasse e cameriere, manager e host come sottoclassi, ho capito altre parti, ad eccezione della relazione tra le classi table e cover, dovrebbe essere Aggregation (o composizione) ) o Associazione.
Ci sono tre tipi di membri dello staff, manager, camerieri e host. Tutti i membri del personale hanno un documento personale e un numero di telefono. I manager sono anche in grado di aggiungere e rimuovere camerieri e host dal sistema.
Tabelle: i tavoli del ristorante, ciascuno di un numero identificativo e un numero di posti. Ogni tabella è assegnata a un cameriere e i camerieri possono disporre di un numero qualsiasi di tabelle. Ogni tabella avrà un numero di copertine (vedi sotto) che non deve superare il numero di posti. La classe Table dovrebbe avere un metodo per verificare se è un posto a sedere valido.
Copertine: ogni cliente che entra nel ristorante deve essere rappresentato come copertura. Ogni copertina deve avere un ID di copertina, un numero di tabella e un ordine di cibo.