270 likes | 393 Views
Progetto di SSCSWeb A.A. 2011/2012. Everywhere Takeaway. 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).
E N D
Progetto di SSCSWeb A.A. 2011/2012 Everywhere Takeaway
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, l‘ Utente registrato 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 vuole 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 • L’ Utente può effettuare una ricerca di un determinato prodotto utilizzando 4 diversi modi: • Prodotto: filtraggio dei Locali che vendono uno specifico prodotto • Orario: ricerca dei Locali specificando un determinato orario di apertura • Posizione: ricerca di un locale in una determinata posizione geografica • Valutazione: ricerca in base al punteggio assegnato ai prodotti dai Clienti • L’Utente anonimo può effettuare la registrazione per diventare un Cliente del portale • L’Utente anonimo può effettuare la registrazione per diventare un Venditore del portale
User stories: Cliente • L’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 • Precondizioni: N/A • Postcondizioni: l’ Utente è registrato come Cliente o Venditore • Attori: Utente • L’ Utente compila il form di registrazione in base al tipo di servizio che vuole utilizzare (Cliente/Venditore) • Il sistema normalizza e controlla i dati inseriti e presenta una pagina di conferma • L’ Utente conferma • Il sistema registra l’avvenuta registrazione e informa l’Utente del corretto completamento • Eccezioni: • L’ Utente non completa i campi del form o li completa in modo errato, oppure conferma il passo 3 • Il sistema redireziona l’Utente alla pagina di registrazione
Use Case: Inserimento/Modifica Locale da parte di un Venditore • Precondizione: Il Venditore è autenticato • Postcondizione: Il Venditore ha inserito/modificato un locale di sua proprietà • Attori: Venditore • Il Venditore completa il form relativo ai dati del locale che vuole inserire (o modificare) • Il sistema verifica che i dati inseriti siano corretti e conferma l’inserimento del locale (o conferma le modifiche) • Eccezioni: • Se le informazioni inserite dal Venditore sono insufficienti o inesatte, il sistema ripresenta il form di inserimento • 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 • Precondizione: Venditore autenticato e possiede un Locale • Postcondizione: Il Venditore ha inserito/modificato dei prodotti che verranno offerti nel proprio Locale • Attori: Venditore, Locale • Il Venditore completa il form di inserimento con i dati relativi al prodotto che vuole inserire (o modificare) in un determinato Locale • Il sistema controlla i dati inseriti e se sono corretti conferma l’inserimento (o modifica) del prodotto nel Locale • Eccezioni: • Se le informazioni inserite dal Venditore sono insufficienti o inesatte, 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 • Il Cliente vuole inserire un nuova prenotazione: • Il Cliente sceglie un prodotto offerto da un Locale • Il sistema verifica che il prodotto sia disponibile e conferma l’avvenuta prenotazione • Il Cliente vuole modificare (o eliminare) una prenotazione : • Il Cliente sceglie quale delle proprie prenotazioni vuole modificare (o eliminare) • Il sistema verifica che il Cliente possa modificare (o eliminare) la prenotazione • Il Cliente modifica la prenotazione (o conferma l’eliminazione) • Il sistema verifica la modifica effettuata e in caso positivo avvisa del completamento della modifica (o eliminazione)
Use Case: Inserimento/Modifica Prenotazione (1/2) • Eccezioni: • Il Cliente non può modificare (eliminare) la prenotazione selezionata: • Il sistema informa il Cliente dell’errore • 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 vuole ricercare un prodotto • Postcondizione: Visualizzazione dei risultati della ricerca • Attori: Utente • L’utente definisce i criteri e i filtri di ricerca • 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 • Il Cliente seleziona il Locale da valutare • Il sistema verifica che il Cliente abbia i criteri necessari per valutare il Locale, in caso positivo mostra la finestra di valutazione • Il Cliente inserisce la valutazione • Il sistema registra e conferma l’avvenuta valutazione • Eccezioni: • Il Cliente non può valutare il Locale perché non ha acquistato un prodotto del Locale o perché è scaduto il termine della valutazione • 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 • Il sistema mostra al Venditore le prenotazioni attive • Il Venditore sceglie una prenotazione da gestire • Il sistema mostra la pagina di gestione • Il Venditore gestisce lo stato della prenotazione • Il sistema verifica l’operazione e in caso positivo comunica l’esito
Use Case: Visualizzazione valutazioni • Precondizione: Venditore autenticato che possiede un Locale • Postcondizione: Venditore visualizza le valutazione dei Clienti sul proprio Locale • Attori: Venditore, Locale • Il Venditore sceglie dalla propria pagina personale il Locale di cui vuole vedere le valutazioni • Il sistema mostra le valutazioni presenti per il Locale scelto
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 Scenari Casi d’uso UCD Diagrammi di Attività Diagrammi di Sequenza Diagrammi di Classe Verifica Oggi 15/12/2011