Casi d’uso Individuazione degli attori cliente gestore dispensa amministratore sistema
Individuazione dei casi d’uso inserimento ordine modifica ordine cancellazione ordine cliente visualizza menù <<include>> visualizza altre funzionalità utilizzo altre funzionalità
gestore dispensa gestione ordini verifica disponibilità scorte aggiorna disponibilità scorte
Amministratore sistema Gestione menù Gestione plugin Amministratore sistema Manutenzione
Sequence diagram Inserimento ordine Cliente Interfaccia Sistema Visualizza menù Richiesta visualizzazione Risposta Risposta Inserimento ordine Effettua ordine Inoltra ordine Conferma ordine Risposta
Modifica/cancellazione ordine Cliente Interfaccia Sistema Visualizza ordine Richiesta visualizzazione Risposta Risposta Modifica/cancella ordine Inoltra modifca/cancella ordine Controlla stato ordine Conferma operazione ordine Risposta
Esercitazione 2 Tradurre almeno due o più oggetti dai Sequence Diagram individuati in precedenza in Class Diagram ed individuando le associazioni tra le classi individuate
Class diagram Tavolo Ordine Pietanza GruppoCliente Conto Ingrediente Id Id Id Libero Evaso Descrizione N. posti 1..n Prezzo GetEvaso() GetDisponibilità() GetConto(IdOrdine) GetPietanze() 1 1..n 0..n 1 GruppoCliente Conto Ingrediente Id Id Id 1 N. Componenti Totale Nome Pagato Quantità 1 1 GetOrdine() SetTotale() GetDisponibilità() GetTotale() GetConto() GetPagato()
ManagerClienti ManagerDispense ManagerMenù AssegnaTavoli(IdTavolo,IdCliente) AggiornaDisponibilità(IdIngrediente) InserimentoOrdine(IdCliente, IdOrdine) GetDisponibilità(IdIngrediente) CalcolaConto(IdCliente) AggiornaStatoTavolo(IdTavolo) AggiornaStatoConto(IdConto) AggiornaOrdine(IdOrdine) CancellaOrdine(IdOrdine) ManagerMenù GetMenù() AggiornaElenco() GetPietanze()
Esercitazione 3 Realizzare almeno un package diagram e un component diagram degli oggetti individuati nelle precedenti fasi
Package Diagram ManagerClienti Tavolo Conto Ordine Ingrediente Controller Model ManagerClienti Tavolo Conto Ordine Ingrediente ManagerMenù <<access>> GruppoCliente Pietanza ManagerDispense
Component Diagram Gestione ordine Ordine GruppoCliente Pietanza
Ristrutturazione Class Diagram Tavolo Ordine Pietanza Id Id Id Libero Evaso Descrizione 1 1..n N. PostiOccupati Prezzo N. posti GetOrdine() GetEvaso() GetDisponibilità() GetConto(IdOrdine) GetPietanze() 1 1..n 1 Conto Ingrediente 1..n Id Id Totale Nome Pagato Quantità SetTotale() GetDisponibilità() GetTotale() GetPagato()