Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L....
-
Upload
michelangelo-furlan -
Category
Documents
-
view
214 -
download
0
Transcript of Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L....
Everywhere Takeaway
Progetto di SSCSWebA.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)
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.
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
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
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
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
Non Goal
Pagamento online (il pagamento avviene alla consegna)
Prenotazione telefonica
Applicazione mobile
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
Use Case: Storico/Social Network
UCD: Registrazione
UCD: Gestione locale
UCD: Gestione prodotti locale
UCD: Inserimento/modifica prenotazione
UCD: Ricerca prodotto
UCD: Valutazione locale
UCD: Gestione prenotazioni
UCD: Visualizzazione valutazioni
CRC CARDS (1)
UTENTERESPONSABILITA’ COLLABORAZIONI
- Registrazione - Locale- Prodotto- Valutazione
ATTRIBUTI
N/A
CRC CARDS (2)
CLIENTERESPONSABILITA’ COLLABORAZIONI
- Autenticazione- Modifica profilo
- Locale- Prodotto- Valutazione- Prenotazione
ATTRIBUTI
Nome, cognome, indirizzo, telefono, email, CF, data di nascita, username, password.
CRC CARDS (3)
VENDITORERESPONSABILITA’ COLLABORAZIONI
- Autenticazione- Modifica profilo
- Locale
ATTRIBUTI
Nome, cognome, indirizzo, telefono, email, CF, data di nascita, username, password.
CRC CARDS (4)
PRENOTAZIONERESPONSABILITA’ COLLABORAZIONI
- Inserimento- Visualizzazione- Modifica- Cancellazione
- Locale- Prodotto- Cliente- Valutazione
ATTRIBUTI
Dati cliente, dati locale, dati prodotti, data/ora.
CRC CARDS (5)
VALUTAZIONERESPONSABILITA’ COLLABORAZIONI
- Inserimento- Visualizzazione- Modifica- Cancellazione- Ricerca
- Locale- Utente- Cliente- Prenotazione
ATTRIBUTI
Dati locale, dati cliente, data/ora, voto, descrizione.
CRC CARDS (6)
PRODOTTORESPONSABILITA’ COLLABORAZIONI
- Inserimento- Visualizzazione- Modifica- Cancellazione- Ricerca
- Locale- Utente- Cliente- Prenotazione
ATTRIBUTI
Nome, descrizione, costo, categoria.
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.
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
Diagramma Temporale
CRC
Diagrammi di Classe
Scenari
UCD
Casi d’uso
Diagrammi di Attività
Diagrammi di Sequenza
Verifica
Oggi 15/12/2011