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
- Calendario
- Lezione
- Maestro
- Hotel
- Pista
- Carrello
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
<script>(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'));
</script>
….
<div class="fb-like" data-href="http://localhost:8080" datasend="true" data-width="450" data-show-faces="true"></div>
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 = 'http://graph.facebook.com/' + 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 email = document.getElementById('email');
email.value = user.email;
}
});
};
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));
</script>
<div align="center">
<img id="image"/>
<input type="text" id="name"></input>
<input type="text" id="id"></input>
<input type="text" id="last_name"></input>
<input type="text" id="email"></input>
</div>
<div id="login"><div class="fb-login-button" autologoutlink="true"></div></div>
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
Project plan summary
Grazie per la vostra
attenzione !
Domande?
Scarica

Project Review