caricato da barabash97

acme-eat-requisiti

annuncio pubblicitario
Analisi e progettazione del software
Anno Accademico 2018-2019
Acme Eat – Requisiti
La Acme Eat@Home (nel seguito chiamata semplicemente “Azienda”) è un’organizzazione che offre un servizio,
su scala nazionale, di ordinazione di pasti e della relativa spedizione a domicilio. Più precisamente, l’Azienda
agisce come intermediario tra un insieme di ristoranti (partner dell’Azienda) ed un insieme di consumatori (clienti
dell’Azienda).
Invece, Acme Eat (nel seguito chiamato semplicemente “Sistema”) è il sistema software, di tipo client-server,
utilizzato dall’Azienda Eat@Home per la gestione di questo servizio di ordinazione e spedizione pasti a domicilio.
Osservazione: Questa iterazione si occupa solo del servizio di ordinazione dei pasti, ma non del servizio di
spedizione pasti.
Il Sistema consente: ai direttori dei ristoranti, di registrare informazioni sui ristoranti che dirigono e sui loro menu;
ai consumatori, di effettuare l’ordinazione di pasti nei ristoranti della propria città; alle cucine dei ristoranti, di
sapere quali ordini sono stati effettuati, per poter preparare i pasti ordinati.
Alcune osservazioni circa il dominio:
 Ogni ristorante, partner dell’Azienda, ha un proprio menu, che è indipendente dal menu degli altri ristoranti.
 Il menu di un ristorante è composto da un insieme di entità chiamate genericamente “prodotti”, come piatti,
bevande o altro.
 Ad esempio, il ristorante Baffone di Roma ha nel proprio menu prodotti come: Pizza Margherita, Pizza Baffone
(la specialità del ristorante), Supplì cacio e pepe, Coca Cola [lattina] e Coca Cola [bottiglia 1 litro].
 Invece, il ristorante Barbetta di Milano ha nel proprio menu prodotti come: Pizza Margherita, Crocchetta di
patate, Risotto alla Milanese (la specialità del ristorante) e Pepsi Cola [lattina].
 Nel menu di un ristorante, ogni prodotto ha un nome (ad es., Pizza Margherita), una descrizione (ad es., pizza
condita con pomodoro, mozzarella e basilico fresco) ed un prezzo (ad es., € 7.50). Attenzione, ristoranti diversi
potrebbero avere dei prodotti con lo stesso nome, ma con caratteristiche differenti. Ad esempio, la Pizza
Margherita di Baffone potrebbe avere la descrizione ed il prezzo diversi dalla Pizza Margherita di Barbetta.
 I consumatori, clienti dell’Azienda, devono essere registrati nel Sistema, che ne memorizza dati come nome,
cognome, indirizzo email (identificativo) e numero di cellulare. Ad esempio, Andrea Rossi
([email protected]).
 Ciascuna ordinazione, effettuata da un consumatore, è relativa ad uno specifico ristorante. Ciascuna ordinazione
è composta da una o più righe; ogni riga è relativa ad un prodotto (presente nel menu di quello specifico
ristorante), una quantità ed un’eventuale nota del consumatore. Infine, ciascuna ordinazione include un indirizzo
di consegna, nonché la data e l’orario di consegna. Ecco un esempio di ordinazione:
Ordinazione #1234
Consumatore: Andrea Rossi ([email protected])
Ristorante: Baffone (di Roma)
Pizza Margherita
Pizza Capricciosa
Supplì cacio e pepe
Coca Cola [bottiglia 1 litro]
con poca mozzarella
ben fresca
1x
1x
2x
1x
7.50
9.50
2.00
4.00
7.50
9.50
4.00
4.00
Indirizzo di consegna: Via Vito Volterra 62, 00146 Roma
Data e ora di consegna: 1 aprile 2019, ore 21:00.
Totale complessivo ordinazione: € 25.00
 In questa figura, ogni riga dell’ordinazione è rappresentata graficamente da una riga della tabella: la prima
colonna è il prodotto, la seconda è una nota del consumatore (opzionale), la terza è la quantità, la quarta è il
prezzo unitario e la quinta è il prezzo totale della riga. Esempi di possibili note sono senza aglio, al sangue e ben
fresco. Le note sono semplici descrizione testuali, e non sono predefinite nel sistema (in quanto una nota può
rappresentare ogni possibile richiesta di un consumatore circa un prodotto ordinato). Il totale complessivo
dell’ordinazione è dato dalla somma dei prezzi totali delle righe.
Analisi e progettazione del software
Anno Accademico 2018-2019
Acme Eat – Requisiti
L’uso del sistema in discussione è descritto principalmente dai seguenti casi d’uso:
Caso d’uso UC1: Inserimento nuovo ristorante – Attore primario: un Direttore di un ristorante.
Scenario principale di successo:
1. Un Direttore vuole inserire un nuovo ristorante, con il relativo il menu.
2. Il Direttore inserisce il suo codice identificativo e la sua password. Il Sistema verifica la correttezza dei dati
immessi, e autentica il Direttore. Il Sistema mostra nome e cognome del Direttore. Il Sistema mostra l’elenco
dei ristoranti registrati che sono diretti da quel Direttore.
3. Il Direttore sceglie l’attività “Inserimento nuovo ristorante”.
4. Il Direttore inserisce il nome del ristorante ed una descrizione del ristorante. Inoltre, il Direttore inserisce
(selezionandola da un elenco) la città in cui si trova il ristorante. Il Sistema registra queste informazioni sul
ristorante, a cui associa anche un identificatore univoco.
Il Direttore ripete il passo 5 per ogni prodotto del menu del ristorante, finché non indica che ha terminato.
5. Il Direttore inserisce le informazioni relative ad un prodotto del menu del ristorante: il nome del prodotto, una
sua descrizione ed il prezzo unitario. Il Sistema registra le informazioni sul prodotto, a cui associa anche un
identificatore univoco.
6. Il Sistema mostra un riepilogo delle informazioni sul ristorante inserito (compreso il suo menu).
7. Il Direttore inserisce (selezionandolo da un elenco) l’identificatore univoco di uno dei prodotti del menu
inserito, che rappresenta la specialità del ristorante. Il Sistema registra nel menu la specialità del ristorante.
8. Il Direttore conferma l’inserimento del ristorante. Il Sistema registra tutte le informazioni sul ristorante e il suo
menu. Da questo momento in poi, i Consumatori del Sistema potranno vedere questo ristorante e il suo menu,
per effettuare delle ordinazioni da quel ristorante (Caso d’uso UC2). Inoltre, questo ristorante comparirà tra i
15 ristoranti inseriti più di recente nel Sistema, sostituendo il ristorante meno recente in tale elenco.
Estensioni:
2a
Credenziali del Direttore non convalidate. Il Sistema termina l’esecuzione del caso d’uso.
3-8a Il Direttore annulla l’operazione di inserimento. Il Sistema non registra nessuna informazione sul ristorante
ed il suo menu.
Caso d’uso UC2: Inserimento ordinazione – Attore primario: un Consumatore.
1. Un Consumatore vuole inserire una nuova ordinazione.
2. Il Consumatore inserisce il suo indirizzo email e la sua password. Il Sistema verifica la correttezza dei dati
immessi, e autentica il Consumatore. Il Sistema mostra nome e cognome del Consumatore. Inoltre, il Sistema
mostra l’elenco dei 15 ristoranti inseriti più di recente nel Sistema.
3. Il Consumatore sceglie l’attività “Inserimento ordinazione”. Il Sistema mostra l’elenco delle città in cui ci sono
ristoranti registrati.
4. Il Consumatore inserisce (selezionandolo da un elenco) il nome di una città. Il Sistema mostra l’elenco dei
ristoranti registrati nella città selezionata.
5. Il Consumatore inserisce (selezionandolo da un elenco) l’identificatore univoco di uno dei ristoranti della città
selezionata.
6. Il Sistema mostra nome e descrizione del ristorante selezionato, nonché nome e cognome del suo Direttore.
Inoltre il Sistema mostra il menu del ristorante selezionato, evidenziando la specialità del ristorante.
7. Il Consumatore inserisce (selezionandolo dal menu) l’identificatore univoco di un prodotto che vuole ordinare,
la relativa quantità ed eventualmente una nota (se vuole indicare sue preferenze). Il Sistema registra la riga di
ordinazione per il prodotto, e mostra la descrizione ed il prezzo unitario del prodotto.
Il Consumatore ripete il passo 7 fino a che non indica che ha terminato.
8. Il Sistema mostra un riepilogo dell’ordinazione, compreso il totale complessivo dell’ordinazione.
9. Il Consumatore inserisce indirizzo, data ed ora di consegna, e conferma l’ordinazione. Il Sistema registra
l’ordinazione. Da questo momento, la Cucina del ristorante selezionato potrà vedere questa ordinazione (Caso
d’uso UC4), per poter preparare il pasto ordinato.
Estensioni:
2a
Credenziali del Consumatore non convalidate. Il Sistema termina l’esecuzione del caso d’uso.
3-9a Il Consumatore annulla l’operazione di inserimento. Il Sistema non registra nessuna informazione
sull’ordinazione.
Analisi e progettazione del software
Anno Accademico 2018-2019
Acme Eat – Requisiti
Ulteriori casi d’uso per il sistema in discussione, da prendere in considerazione durante l’analisi e la progettazione:
Caso d’uso UC3: Il Direttore di un ristorante usa il Sistema per aggiornare il menu di uno dei ristoranti che dirige
(ad es., per aggiungere prodotti, modificare il loro prezzo, modificare la specialità del ristorante).
Caso d’uso UC4: La Cucina di un ristorante usa il Sistema per visualizzare le ordinazioni per quel ristorante per la
giornata di oggi, ordinate per ora di consegna. Per ciascuna ordinazione, il Sistema mostra dati sul Consumatore e
sull’ordinazione, compreso l’elenco dei prodotti ordinati, con le relative quantità e note.
Caso d’uso UC5: Un nuovo Consumatore usa il Sistema per registrarsi nel Sistema.
Caso d’uso UC6: Un Consumatore usa il Sistema per visualizzare le ordinazioni che ha effettuato in precedenza.
Per ciascuna ordinazione, il Sistema mostra la data di consegna, dati sul ristorante scelto e sull’ordinazione,
compreso l’elenco dei prodotti ordinati, con le relative quantità e note.
Caso d’uso UC7: Il Direttore di un ristorante usa il Sistema per visualizzare le ordinazioni per uno dei ristoranti
che dirige, in un certo periodo o in una certa data.
Scarica