Project Review Località Sciistica 21 Dicembre 2011
Project Review Agenda: o Project goals o User stories – use cases – scenarios o Status as of November 17th 2011 Analysis and Design Spikes UI and user interaction draft (on paper or...) o Project plan summary
Project goals - gestione pagamento online - tre tipi di utenti (registrati, anonimi e amministratore) - sito visibile a tutti - prenotazione solo per utenti registrati - numero max biglietti acquistabili per le manifestazioni sportive
Project Goals - calendario manifestazioni - affitto online attrezzatura con pagamento caparra - vendita attrezzatura online - applicazione smartphone per android - gestione prenotazione lezioni con maestro
Project Non Goals - forum per gli utenti - conferma prenotazioni sms - applicazione smartphone web based - prenotazione telefonica hotel
User stories - Registrazione Utente - Visualizzazione Stato Piste - Visualizzazione Impianti Aperti - Acquisto Skipass - Prenotazione Lezioni Sci - Affitto Attrezzatura - Acquisto Attrezzatura
User stories - Stato Riparazione - Acquisto Biglietti Manifestazioni Sportive - Prenotazione Hotel
User Story : Affitto Attrezzatura I - l'utente autenticato inserisce i/il giorni/o per cui intende affittare l'attrezzatura - l'utente sceglie da un elenco l'attrezzatura desiderata - il sistema mostra l'elenco di quel tipo di attrezzatura disponibile per il periodo scelto - l'utente sceglie l'attrezzatura desiderata
User Story : Affitto Attrezzatura II - il sistema mostra le caratteristiche dell'attrezzatura (lunghezza, ecc..) - l'utente sceglie tali caratteristiche ed invia la prenotazione - il sistema chiede conferma della prenotazione - l'utente conferma la prenotazione ed effettua il pagamento della caparra
User Story : Affitto Attrezzatura III - User Story Pagamento - il sistema registra il pagamento ed invia la mail di conferma
User Story: Prenotazione Lezione Con Maestro - l'utente sceglie il maestro con cui effettuare la lezione - il sistema mostra il calendario del maestro con le date disponibili - l'utente sceglie una data disponibile in cui effettuare la lezione - il sistema notifica la prenotazione all'utente e al maestro tramite mail
CRC Cards I CRC cards individuate nella fase di Design: -Impianto -Articolo -Utente -Controller -ArticoloInAffitto -ArticoloAcquistato
CRC Cards II - ArticoloInRiparazione - Carrello - Calendario - Lezione - Maestro - Hotel - Pista
Esempi CRC Cards I ARTICOLO Responsabilita`Collaborazioni - getArticoloByDate() - getArticoloBySize() - getArticolo() - Utente - Controller - ArticoloInAffitto Attributi: Nome, descrizione, quantita`, identificativo, affitto (si/no), vendita (si/no)
Esempi CRC Cards II IMPIANTO Responsabilita`Collaborazioni - getPiste()- Pista - Controller Attributi: Numero impianto, collezione piste, posizione (?), aperto (si/no)
Diagramma di Sequenza -Affitto Attrezzatura
Diagramma di Sequenza – Pagamento Carrello
Diagramma di Sequenza – Lezione con Maestro
Diagramma delle Classi I
Diagramma delle Classi II
Spike: Facebook pulsante Like Script per l’inserimento del pulsante ‘Like’ di Facebook (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); ….
Spike: Facebook pulsante Like
Spike: Facebook OpenID Script per l’utilizzo di OpenID con Facebook Fase di inizilializzazione: window.fbAsyncInit = function() { FB.init({ appId : ‘ID applicazione Facebook', status : true, cookie : true, xfbml : true, oauth : true });
Spike: Facebook OpenID Script (1): FB.Event.subscribe('auth.login', function(response){window.location.reload();}); FB.Event.subscribe('auth.logout', function(response){window.location.reload();}); FB.api('/me', function(user) { if (user) { var image = document.getElementById('image'); image.src = ' + user.id + '/picture'; var name = document.getElementById('name'); alert(user.first_name); name.value = user.first_name; var last_name = document.getElementById('last_name'); last_name.value = user.last_name; var id = document.getElementById('id'); id.value = user.id; var = document.getElementById(' '); .value = user. ; } }); };
Spike: Facebook OpenID Script (2): (function(d){ var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document));
Spike: Facebook OpenID Nonostante inizialmente il codice di questo spike funzionasse alla perfezione, dopo qualche giorno sono stati riscontrati dei problemi che hanno portato questo codice, al momento, a non funzionare più. Potrebbe addirittura essere un problema di Facebook stesso.
Spike: Google Maps
Cosa si realizzerà L’intera sezione relativa al negozio di attrezzature sciistiche (acquisto, recensioni, ‘like’ per ogni oggetto,…) Interfaccia del sistema Applicazione Android per conoscere lo stato delle piste Applicazione desktop per gli hotel, la quale offrirà dei web services al sistema principale (per conoscere ad esempio il numero di camere ancora disponibili)
Stato al 21 Dicembre 2011 Analysis and Design o CRC cards o Class diagram o Sequence/Collaboratio diagrams o Activity diagram o Utilizzo del sito Zoho per la gestione dei vari task relativi all’analisi e al design del progetto
Stato al 21 Dicembre 2011 Spikes: JEE; Open ID facebook (non funzionante); ‘Like’ di Facebook; Google Maps; Web Service; Android.
Project plan summary
Grazie per la vostra attenzione ! Domande?