Project Review byNight byNight December 21th, 2011
Project Review: Agenda Analisi: User request Project description Project goals User stories CRC card Scenarios Use cases Uses cases diagram Sequence diagram
Project Review: Agenda Design: Sequence diagram Activity diagram Class diagram Project plan Spikes Demo
Project Review Analysis phase
User Request “Voglio un servizio che mi permetta di sapere i vari locali notturni di una determinata città con i relativi eventi proposti. Voglio anche poter prenotare un posto, se disponibile, nel locale o all'evento. Voglio che vada Facebook. Voglio anche una applicazione sui telefoni.”
Project Description (I) Si vuole creare un sito che raccolga tutti i locali con i relativi eventi notturni e prenotazione\gestione degli stessi. Le esigenze emerse sono: a.scheda dei locali registrati nel sito con relativa geolocalizzazione tramite Google Maps; b.prenotazioni presso i locali\eventi da parte dei clienti registrati; c.realizzazione degli eventi da parte dei locali registrati; d.elenco dei partecipanti agli eventi per gli utenti registrati che hanno effettuato la prenotazione tramite il sito; e.condivisione e preferenza (il "Mi piace") dell'evento su Facebook da parte degli utenti. f.recensione dei locali da parte degli utenti registrati e rating (classiche stelle di preferenza); g.inserimento della recensione degli eventi organizzati dai locali dagli utenti registrati(la visualizzazione è concessa a tutti) ; h.elenco dei locali preferiti degli utenti registrati; i.notifiche degli eventi sulla bacheca di Twitter.
Project Description (II) Inoltre, è prevista un'applicazione per smartphone che permetta di localizzare l’utente e in base alla sua posizione visualizzare i locali\eventi in prossimità. Infine, è prevista un'applicazione stand-alone riservata ai locali per la ricezione delle notifiche per quanto riguarda le prenotazioni.
Project goals Online reservation User Registration Completely visible site (all user) Desktop application for notification (only pubs) User notification via Max number of places reserved Android application (only clients) Online search Creation of pub’s events via web User reservation History Pubs/Events Review
Project no goals Online payment Application for other platform Reservation by phone
User stories: Introduction Introduction Un Utente è un qualsiasi soggetto anonimo non registrato che accede a funzionalità limitate del sistema. Un Cliente è un utente registrato con funzioni da cliente (prenotazioni ecc). Un Locale è un utente registrato con funzionalità differenti da quelli del cliente.
User stories: Utente Utente 1) registrarsi come Cliente: L‘ Utente accede al sistema e si registra come Cliente, inserendo i dati come nome, cognome, indirizzo, ecc.. Il sistema crea la pagina "standard" relativa al Cliente nella quale sono riportati tutti i dati pubblici precedentemente inseriti. 2) registrarsi come Locale: L‘Utente accede al sistema e si registra come Locale, inserendo i dati come nome del locale, partita IVA, indirizzo, proprietario ecc.. Il sistema dopo aver verificato i dati inseriti dall‘Utente crea la pagina "standard" relativa al Locale nella quale sono riportati tutti i dati pubblici precedentemente inseriti. Il Locale registrato può modificare alcuni dati nella propria pagina come l'orario di apertura o chiusura. 3) ricercare locali/eventi: L‘Utente esegue la ricerca di un Locale /evento e visualizza le informazioni. 4) visualizzare le recensioni: L'Utente visualizza le recensioni del Locale e degli eventi
User stories: Cliente 1) prenotare: Il Cliente ricerca un Locale /evento ed esegue la prenotazione. Il sistema notifica al Cliente e al Locale l'avvenuta prenotazione. 2) ricercare locali/eventi: L‘ Cliente esegue la ricerca di un Locale /evento e visualizza le informazioni. 3) cancellare prenotazioni: Il Cliente accede alle sue prenotazioni e annulla la prenotazione. Il sistema notifica al Cliente e al Locale l'avvenuta cancellazione. 4) recensire locali/eventi: Il Cliente accede alla pagina del Locale e inserisce una recensione relativa al Locale stesso o all'evento da esso organizzato. 5) visualizzare le recensioni: Il Cliente visualizza le recensioni del Locale e degli eventi
User stories: Locale 1) inserire eventi: Il Locale accede alla pagina di creazione degli eventi, e inserisce tutti i dati relativi all'evento che vuole creare. Il sistema notifica l'avvenuta creazione dell'evento. 2) cancellare eventi: Il Locale accede alla pagina relativa all'evento e cancella l'evento. Il sistema notifica al Locale, e a tutti i Clienti prenotati all'evento, la cancellazione. 3) visualizzare le prenotazioni: Il Locale visualizza le prenotazioni presso il Locale stesso e ad un determinato evento. 4) visualizzare le recensioni: Il Locale visualizza le recensioni del Locale stesso e degli eventi
CRC cards UTENTE ResponsabilitiesCollaborations Locale Evento Recensione Cliente Attributes: CLIENTE ResponsabilitiesCollaborations Registrazione Autenticazione Prenotazione Recensione Locale Evento Attributes: Nome; Cognome; Indirizzo; ; Numero di telefono; Password; Data di nascita
CRC cards LOCALE ResponsabilitiesCollaborations Visualizzazione Registrazione Autenticazione Evento Recensione Prenotazione Attributes: Nome; P. Iva; Proprietario; Indirizzo; Numero di telefono; Password; ; Orario; Numero posti EVENTO ResponsabilitiesCollaborations Creazione evento Cancellazione evento Visualizzazione Locale Prenotazione Attributes: Nome; Locale organizzatore; Data; Ora; Numero posti; Prezzo; Descrizione
CRC cards PRENOTAZIONE ResponsabilitiesCollaborations Invia notifica Creazione prenotazione Cancellazione prenotazione Visualizzazione Attributes: Dati cliente; Data; Ora; Numero posti; Dati locale; Dati evento RECENSIONE ResponsabilitiesCollaborations Creazione recensione Cancellazione recensione Visualizzazione recensione Attributes: Dati cliente; Titolo; Descrizione; Dati locale; Dati evento
Scenarios 1.Scenario Utente Registrarsi come Cliente Registrarsi come Locale Ricerca Locale Ricerca evento 2.Scenario Cliente Prenotare Locale Prenotare evento Cancellazione prenotazioni Recensione Locale Ricerca Locale Ricerca evento 3.Scenario Locale Inserimento eventi Cancellare eventi Visualizzare prenotazioni evento Visualizzare prenotazioni Locale
Scenario Utente: Registrarsi come Cliente
Scenario Utente: Registrarsi come Locale
Scenario Utente: Ricerca Locale
Scenario Utente: Ricerca Evento
Scenario Cliente: Prenotare Locale
Scenario Cliente: Prenotare Evento
Scenario Cliente: Cancellazione Prenotazione
Scenario Cliente: Recensione Locale
Scenario Cliente: Ricerca Locale
Scenario Cliente: Ricerca Evento
Scenario Locale: Inserimento Evento
Scenario Locale: Cancellare Evento
Scenario Locale: Visualizzare prenotazioni Evento
Scenario Locale: Visualizzare prenotazioni Locale
Use Case: Prenotazione Locale Precondition: The user is logged in Postcondition: The user has made a reservation Actors: User, Pub 1.The user searches a pub 2.The system shows the personal page of the pub 3.The user accesses to the reservation page 4.The system asks how many places has to be reserved 5.The user specify the number of person that request reservetion 6.The system asks for a confirmation 7.The user conferms 8.The system sends a mail to the user and a notification to the pub Exception 1.Pub not found (Point 2) a)The system shows that there no pub with the preferences expressed by the user 2.Places less then specified a)The system alerts the user 3.User doesn't confirm (Point 7) a)The system redirect the user on the public pub page
Use Case: Prenotazione Evento Precondition: The user is logged in Postcondition: The user has made a reservation Actors: User, Pub, Events 1.The user searches a pub 2.The system shows the personal page of the pub 3.The user accesses to the events pages organized by the pub 4.The user accesses to the reservation page 5.The system asks how many places has to be reserved 6.The user specify the number of person that request reservation 7.The system asks for a confirmation 8.The user conferms 9.The system sends a mail to the user and a notification to the pub Exception 1.Pub not found (Point 2) a)The system shows that there no pub with the preferences expressed by the user 2.Places less then specified a)The system alerts the user 3.User doesn't confirm (Point 8) a)The system redirect the user on the public event page
Use Case: Registrazione come Cliente/Locale Postcondition: The user is registered Actors: User 1.The user accesses to the registration page and inserts his data 2.The system shows this data and asks for confirmation 3.The user confirms 4.The system sends an to him Exception 1.Data not correct a)The user doesn't confirm and will be redirected to registration page to correct the data 2.User doesn't confirm a)The system redirect the user to the registration page
Use Case: Cancellazione Prenotazione Precondition: The user has made a reservation and is authenticated Postcondition: The reservation will be cancelled Actors: User 1.The user access to his personal page and access on the current reservation 2.The system shows the details of the current reservation 3.The user decides to cancel the reservation 4.The system asks for confirmation 5.The user confirms 6.The system cancelles the reservation Exception 1.User doesn't confirm a)The system redirect him to his own personal page
Use Case: Aggiungi Recensione Precondition: The user is authenticated Postcondition: The review is added to the specified pub Actors: User 1.The user searches for a pub 2.The system shows the results of the research 3.The user selects a pub 4.The system shows the pub's personal page 5.The user accesses to the review section and specify his review of the pub or the event organized by the selected pub 6.The system add the review Exception 1.Pub not found (Point 2) a)The system shows that there no pub with the preferences expressed by the user
Use Case: Inserire Evento Precondition: The user is authenticated as pub Postcondition: The event will be created Actors: User, Events 1.The user access to his own personal page and access to the event's creation section 2.The system asks for the event's data 3.The user inserts the data 4.The system asks for confirmation 5.The user confirms 6.The system add the new event Exception 1.User doesn't confirm a)The system redirect him to his own personal page
Use Case: Cancellare Evento Precondition: The user is authenticated as pub Postcondition: The event will be created Actors: User, Events 1.The user access to his own personal page and to the events created 2.The system shows all the events created 3.The user selects an event to be cancelled 4.The system asks for confirmation 5.The user confirms 6.The system cancels the event and send a notification to all the users that made reservation for that event Exception 1.User doesn't confirm a)The system redirect him to his own personal page
Use Cases Diagram
Sequence diagram 1.Registrazione Cliente 2.Registrazione Locale 3.Ricerca Locale ed Evento 4.Creazione Evento 5.Prenotazione
Sequence diagram: Registrazione Cliente
Sequence diagram: Registrazione Locale
Sequence diagram: Ricerca Locale ed Evento
Sequence diagram: Creazione Evento
Sequence diagram: Prenotazione
Project Review Design phase
Sequence diagram: Registrazione Cliente
Sequence diagram: Registrazione Locale
Sequence diagram: Ricerca Locale ed Evento
Sequence diagram: Creazione Evento
Sequence diagram: Prenotazione
Activity diagram: Prenotazione Evento cliente sistemaclientesistema
Class diagram
Project Review Project Plan
Project Plan (I)
Project Plan (II)
Project Plan (III)
Project Plan (IV)
Project Plan (V)
Project Plan (VI)
Project Plan (VII)
Project Plan (VIII)
Project Plan (IV)
Project Review Spikes
Spikes JavaEE: Session bean, EJB oogle JavaEE: WS e WS Client Android acebook JavaEE: JMS OpenID witter
Spikes: JavaEE: Session Bean EJB
Spikes: oogle oogle
Spikes: Android Android
Spikes:
Spikes:
Spikes: JavaEE: WS e WS Client
Spikes:acebook
Project Review Demo
Demo La Demo che svilupperemo avrà le seguenti funzionalità: Registrazione Cliente/Locale; Prenotazione Locale; Ricerca Locale. Comprenderà un’applicazione per Android la quale permetterà: Ricerca Locale. Svilupperemo anche un’applicazione stand-alone che permetterà: Visualizzazione delle prenotazioni.
Thank you for your attention ! Questions?