Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L....

43
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka

Transcript of Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L....

Page 1: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Everywhere Takeaway

Progetto di SSCSWebA.A. 2011/2012

V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka

Page 2: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Obiettivo a lungo termine

Realizzare un'applicazione web based per gestire l'ordinazione di prodotti da asporto

(servizio presente in altri stati,ma ancora assente in Italia)

Page 3: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Requisiti del cliente (informali)

Vorrei portare in Italia un sistema per la gestione del servizio takeaway nelle principali città italiane.

Il servizio dovrà occuparsi di tutte le fasi, dalla ricerca alla consegna.

Dovrà permettere di cercare diversi tipi di cibo e ristoranti per distanza, località, qualità, tipologia di cibo, ecc.

Il servizio deve permettere agli utenti di inviare recensioni relative ai vari locali.

Possibilmente deve avere anche interfacce mobile.

Page 4: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Requisiti (1)

È presente una scheda per ogni locale che offre il servizio di take-away, che comprende una descrizione del locale, gli orari in cui è attivo il servizio take-away, il menu dei cibi offerti (con relativi prezzi) e la geo-localizzazione tramite le API di Google Maps

Gli utenti, anche anonimi, possono visualizzare liberamente le schede dei locali ed i relativi menu

Page 5: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Requisiti (2)

Per effettuare un'ordinazione, l‘ Utente deve registrarsi come Cliente

Al termine di un'ordinazione, il Cliente può esprimere una valutazione (0-5 stelle) sui cibi ordinati

I gestori dei locali registrati possono inserire, modificare o eliminare i menu

Utilizzo dei social network (Twitter, Facebook, ecc..) per consigliare cibi ed esprimere le proprie valutazioni

Page 6: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Goal (1)

Registrazione cliente

Registrazione venditore

Vari tipi di ricerca:

Ricerca per posizione

Ricerca per cibo

Ricerca per valutazione

Ricerca per orario

Ricerca per prezzo

Page 7: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Goal (2)

Prenotazione di uno o più prodotti

Recensione dei prodotti acquistati

Interfaccia Web Mobile

Pagina profilo utente (storico, preferenze, social, ecc..)

Note:

Per potere effettuare una prenotazione occorre essere registrati

Le ricerche possono essere effettuate anche da utenti non registrati

Page 8: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Non Goal

Pagamento online (il pagamento avviene alla consegna)

Prenotazione telefonica

Applicazione mobile

Page 9: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

User stories

L’ Utente è una qualsiasi persona che, in modo anonimo, può visitare il portale e visualizzare i prodotti inseriti.

Un Cliente è una qualsiasi persona che si registra al portale per acquistare uno o più prodotti

Un Venditore è una qualsiasi persona che vuole registrare il proprio locale sul portale per mettere in vendita dei prodotti

Un Locale rappresenta l’entità registrata da un Venditore

Page 10: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

User stories: Utente

1. L’ Utente può effettuare una ricerca di un determinato prodotto utilizzando 4 diversi modi:

1. Prodotto: filtraggio dei Locali che vendono uno specifico prodotto

2. Orario: ricerca dei Locali specificando un determinato orario di apertura

3. Posizione: ricerca di un locale in una determinata posizione geografica

4. Valutazione: ricerca in base al punteggio assegnato ai prodotti dai Clienti

2. L’Utente anonimo può effettuare la registrazione per diventare un Cliente del portale

3. L’Utente anonimo può effettuare la registrazione per diventare un Venditore del portale

Page 11: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

User stories: ClienteL’entità Cliente può svolgere le seguenti operazioni:

• Modifica dati personali inseriti al momento della registrazione

• Effettuare una ordinazione di uno o più prodotti presenti nelle schede di un locale

• Assegnare un punteggio di valutazione ad un locale in cui ha acquistato dei prodotti

• Effettuare le ricerche di prodotti utilizzando le 4 modalità descritte precedentemente e in più può ricercare dei prodotti simili a quelli presenti nel suo storico acquisti

Page 12: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

User stories: Venditore

Il Venditore puo’ modificare solo alcuni dei propri dati personali, cioe’ indirizzo, telefono, username e password, mentre non puo’ modificare nome, cognome, CF data di nascita ed email.

Può inserire nel portale un proprio locale per iniziare a vendere i prodotti

Può modificare alcune informazioni inerenti al locale inserito, inoltre può rimuovere completamente un proprio locale

Può gestire lo stato delle proprie prenotazioni

Page 13: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

User stories: Locale

• Il Venditore puo’ modificare nome e prezzo dei prodotti del proprio Locale.

• Il Venditore puo’ eliminare i prodotti offerti dal proprio locale.

• Il Venditore puo’ inserire nuovi prodotti che offre il proprio Locale.

• Il Venditore puo’ visualizzare tutte le prenotazioni, relative al proprio Locale, effettuate dai Clienti.

• Il Venditore puo’ visualizzare le valutazioni del proprio Locale.

Page 14: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Registrazione Cliente/Venditore (1/2)

Precondizioni: N/A

Postcondizioni: l’ Utente è registrato come Cliente o Venditore

Attori: Utente

1. L’ Utente compila il form di registrazione in base al tipo di servizio che vuole utilizzare (Cliente/Venditore)

2. Il sistema normalizza e controlla i dati inseriti, in caso positivo presenta una pagina di conferma

3. L’ Utente conferma i dati inseriti nel passo 1

4. Il sistema registra l’avvenuta registrazione inviando una email all’Utente contenente un link di attivazione e attende per massimo 48 ore che l’Utente si attivi

5. L’Utente attiva la registrazione tramite il link ricevuto per email

6. Il sistema presenta una pagina di benvenuto

Page 15: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Registrazione Cliente/Venditore (2/2)

Eccezioni:

1. L’ Utente non completa i campi del form o li completa in modo errato, oppure non conferma il passo 3

• Il sistema redireziona l’Utente alla pagina di registrazione

2. L’Utente non si attiva tramite il link ricevuto via mail entro il limite di 48 ore

• Il sistema scarta la richiesta di registrazione dell’Utente

Page 16: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica Locale da parte di un Venditore (1/2)

Precondizione: Il Venditore è autenticato

Postcondizione: Il Venditore ha inserito/modificato un locale di sua proprietà

Attori: Venditore

1. Il Venditore completa il form relativo ai dati del Locale che vuole inserire (o modificare)

2. Il sistema verifica che i dati inseriti siano corretti e presenta una pagina di conferma

3. Il Venditore conferma l’inserimento del Locale (o le modifiche ad un Locale preesistente )

4. Il sistema registra il nuovo Locale (o le modifiche al Locale preesistente) e informa il Venditore dell’avvenuta operazione

Page 17: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica Locale da parte di un Venditore (2/2)

Eccezioni:

1. Se le informazioni inserite dal Venditore sono insufficienti o inesatte, il sistema ripresenta il form di inserimento/modifica

2. Se il Venditore non conferma l’inserimento/modifica del Locale, il sistema ripresenta il form di inserimento/modifica

Note

Se il Venditore vuole eliminare un Locale il sistema verifica se esistono prenotazioni attive per il Locale scelto. In caso positivo il sistema avvisa il Venditore che non può eliminare il Locale finché esistono prenotazioni attive

Page 18: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica prodotto di un Locale (1/2)

Precondizione: Venditore autenticato e possiede un Locale

Postcondizione: Il Venditore ha inserito/modificato dei prodotti che verranno offerti nel proprio Locale

Attori: Venditore, Locale

1. Il Venditore completa il form di inserimento con i dati relativi al prodotto che vuole inserire (o modificare) in un determinato Locale

2. Il sistema controlla i dati inseriti e se sono corretti conferma l’inserimento (o modifica) del prodotto nel Locale

3. Il Venditore conferma l’inserimento del Prodotto (o le modifiche ad un Prodotto preesistente)

4. Il sistema registra il nuovo Prodotto (o le modifiche al Prodotto preesistente) e informa il Venditore dell’avvenuta operazione

Page 19: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica prodotto di un Locale (2/2)

Eccezioni:

1. Se le informazioni inserite dal Venditore sono insufficienti o inesatte, il sistema ripresenta il form di inserimento/modifica

2. Se il Venditore non conferma l’inserimento/modifica del Prodotto, il sistema ripresenta il form di inserimento/modifica

Note:

Se sono attive prenotazioni per il prodotto da modificare o eliminare, il sistema informa il Venditore che non può modificare o eliminare il prodotto se esistono prenotazioni attive per quel prodotto

Page 20: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica Prenotazione (1/2)

Precondizione: Cliente registrato

Postcondizione: Il Cliente ha effettuato/modificato un prenotazione

Attori: Cliente, Locale

1. Il Cliente vuole inserire un nuova prenotazione:

1. Il Cliente sceglie un prodotto offerto da un Locale

2. Il sistema mostra le caratteristiche del prodotto scelto dal Cliente

3. Il Cliente aggiunge tale prodotto al proprio carello

4. Quando il cliente termina gli acquisti, il sistema mostra un form dove inserire le informazioni necessarie per completare l’ordine

5. Il sistema verifica i dati inseriti e in caso positivo conferma la prenotazione, oppure mostra l’errore

2. Il Cliente vuole modificare (o eliminare) una prenotazione :

1. Il Cliente sceglie quale delle proprie prenotazioni vuole modificare (o eliminare)

2. Il sistema verifica che il Cliente possa modificare (o eliminare) la prenotazione

Page 21: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Inserimento/Modifica Prenotazione (2/2)

3. Il Cliente modifica la prenotazione (o conferma l’eliminazione)

4. Il sistema verifica la modifica effettuata e in caso positivo avvisa del completamento della modifica (o eliminazione)

Eccezioni:

1. Il Cliente non può modificare (eliminare) la prenotazione selezionata:

1. Il sistema informa il Cliente dell’errore

2. Se le informazioni inserite dal Cliente sono insufficienti o inesatte, il sistema ripresenta il form di inserimento/modifica

Page 22: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Ricerca di un prodotto

Precondizione: Utente o Cliente vuole ricercare un prodotto

Postcondizione: Visualizzazione dei risultati della ricerca

Attori: Utente, Cliente

1. L’utente o il Cliente definisce i criteri e i filtri di ricerca

2. Il sistema mostra i risultati della ricerca secondo i filtri selezionati

Page 23: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Valutazione Locale

Precondizioni: Il Cliente ha acquistato un prodotto di un Locale

Postcondizione: Il Cliente ha inserito una valutazione di un Locale

Attori: Cliente, Locale

1. Il Cliente seleziona il Locale da valutare

2. Il sistema verifica che il Cliente abbia i criteri necessari per valutare il Locale, in caso positivo mostra la finestra di valutazione

3. Il Cliente inserisce la valutazione

4. Il sistema registra e conferma l’avvenuta valutazione

Eccezioni:

5. Il Cliente non può valutare il Locale perché non ha acquistato un prodotto del Locale o perché è scaduto il termine della valutazione

1. Il sistema avvisa il Cliente dell’errore

Page 24: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Gestione prenotazioni

Precondizione: Venditore autenticato che possiede un Locale

Postcondizione: Venditore gestisce le proprie prenotazioni

Attori: Venditore, Locale

1. Il sistema mostra al Venditore le prenotazioni attive

2. Il Venditore sceglie una prenotazione da gestire

3. Il sistema mostra la pagina di gestione

4. Il Venditore gestisce lo stato della prenotazione

5. Il sistema verifica l’operazione e in caso positivo comunica l’esito altrimenti mostra un messaggio di errore e si riparte dal punto 1

Page 25: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Visualizzazione valutazioni

Precondizione: Venditore autenticato che possiede un Locale

Postcondizione: Venditore visualizza le valutazione dei Clienti sul proprio Locale

Attori: Venditore, Locale

1. Il Venditore sceglie dalla propria pagina personale il Locale di cui vuole vedere le valutazioni

2. Il sistema mostra le valutazioni presenti per il Locale scelto

Page 26: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Use Case: Storico/Social Network

Page 27: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Registrazione

Page 28: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Gestione locale

Page 29: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Gestione prodotti locale

Page 30: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Inserimento/modifica prenotazione

Page 31: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Ricerca prodotto

Page 32: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Valutazione locale

Page 33: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Gestione prenotazioni

Page 34: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

UCD: Visualizzazione valutazioni

Page 35: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (1)

UTENTERESPONSABILITA’ COLLABORAZIONI

- Registrazione - Locale- Prodotto- Valutazione

ATTRIBUTI

N/A

Page 36: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (2)

CLIENTERESPONSABILITA’ COLLABORAZIONI

- Autenticazione- Modifica profilo

- Locale- Prodotto- Valutazione- Prenotazione

ATTRIBUTI

Nome, cognome, indirizzo, telefono, email, CF, data di nascita, username, password.

Page 37: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (3)

VENDITORERESPONSABILITA’ COLLABORAZIONI

- Autenticazione- Modifica profilo

- Locale

ATTRIBUTI

Nome, cognome, indirizzo, telefono, email, CF, data di nascita, username, password.

Page 38: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (4)

PRENOTAZIONERESPONSABILITA’ COLLABORAZIONI

- Inserimento- Visualizzazione- Modifica- Cancellazione

- Locale- Prodotto- Cliente- Valutazione

ATTRIBUTI

Dati cliente, dati locale, dati prodotti, data/ora.

Page 39: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (5)

VALUTAZIONERESPONSABILITA’ COLLABORAZIONI

- Inserimento- Visualizzazione- Modifica- Cancellazione- Ricerca

- Locale- Utente- Cliente- Prenotazione

ATTRIBUTI

Dati locale, dati cliente, data/ora, voto, descrizione.

Page 40: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (6)

PRODOTTORESPONSABILITA’ COLLABORAZIONI

- Inserimento- Visualizzazione- Modifica- Cancellazione- Ricerca

- Locale- Utente- Cliente- Prenotazione

ATTRIBUTI

Nome, descrizione, costo, categoria.

Page 41: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

CRC CARDS (7)

LOCALERESPONSABILITA’ COLLABORAZIONI

- Inserimento- Visualizzazione- Modifica- Cancellazione- Ricerca

- Venditore- Utente- Cliente- Prenotazione- Prodotto- Valutazione

ATTRIBUTI

Nome, indirizzo, proprietario, P.IVA o CF, menu, email, orario di vendita, scheda valutazioni, orario di apertura.

Page 42: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Project Plan al 22-11-2011

CRC: Completato

Scenari: 23/11/2011 - 25/11/2011

Casi d’uso: 24/11/2011 - 28/11/2011

UCD: 27/11/2011 – 2/12/2011

Diagrammi di Attività: 1/12/2011 – 6/12/2011

Diagrammi di Sequenza: 5/12/2011 – 14/12/2011

Diagrammi di Classe: 13/12/2011 – 15/12/2011

Verifica della documentazione: 16/12/2011

Page 43: Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.

Diagramma Temporale

CRC

Diagrammi di Classe

Scenari

UCD

Casi d’uso

Diagrammi di Attività

Diagrammi di Sequenza

Verifica

Oggi 15/12/2011