Università degli Studi di Milano – Bicocca
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica
Laboratorio di Progettazione
Agenzia di viaggi on line
A cura di:
Arosio Gaia
Cattaneo Francesco
Prandi Alessandro
044402
041106
043110
[email protected]
[email protected]
[email protected]
Fase 1 - Analisi
Analisi dei requisiti (1 di 2)

L’agenzia di viaggi ha un sito web, col quale gli utenti interagiscono

Il sito è organizzato in pagine

Ogni pagina contiene informazioni generiche riguardanti promozioni per i viaggi e la
possibilità di effettuare ricerche avanzate (dove, quando, a quale costo...)

Gli utenti si possono registrare per accedere a determinati servizi offerti dall’agenzia

Se l’utente è registrato e loggato può prenotare un viaggio

Una volta prenotato il viaggio è necessario effettuare il pagamento
– Con bonifico
– Con carta di credito

Sul sito è presente un gestore di informazioni (recommender system) che esamina il
comportamento degli utenti, memorizzando:
– Ricerche effettuate
– Prenotazioni effettuate
Analisi dei requisiti (2 di 2)



In base agli interessi espressi dall’utente, il gestore può:
– Inviare e-mail ad ogni singolo utente presentando offerte elaborate sulla
base del suo comportamento durante la navigazione nel sito
– Personalizzare l’homepage per ogni singolo utente presentando offerte che
più si addicono ai gusti espressi dall’utente
Gli addetti dell’agenzia possono visualizzare le informazioni raccolte dal
gestore informazioni
Una volta ricevuti gli estremi del pagamento per un viaggio, l’agenzia provvede
ad inviare i biglietti e tutte le informazioni necessarie all’utente via posta
Use Case Diagrams
ud Utenti
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
Registrazione
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
Inv ia mail
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••
Utente Non Registrato
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••
Nav iga nel
sito
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••
Ricerca av anzata
extension points:
ricerca
«extend»
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
Bonifico
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••
Prenota
Pagamento
«include»
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••
Utente Registrato
«include»
Carta di credito
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
••••••••••••••••••••••••••
••••
Autenticazione ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
ud Agenzia
••••••••••••••••••••••••••
••••••••••••••••••••••••
Visualizza
••••••••••••••••••••••••••
••••••••••••••••••••••••
informazioni
raccolte
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
••••••••••••••••••••••••••
••••••••••••••••••••••••
Pagamento
Agenzia
Utente registrato
••••••••••••••••••••••••••
••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
Inv io biglietti
••••••••••••••••••••••••••
••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
ud Gestore info
••••••••••••••••••••••••••
••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••
Nav iga nel sito
••••••••••••••••••••••••••
••••••••••••••••••••
«include»
Raccogli
informazioni
•••••••••••••••••••••••••• ••••••••••••••••••••
«include»
Prenota
•••••••••••••••••••••••••• ••••••••••••••••••••
••••••••••••••••••••••••••
••••••••••••••••••••
Inv ia mail
Gestore informazioni
••••••••••••••••••••••••••
••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••
Homepage
personalizzata
•••••••••••••••••••••••••• ••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••
ud Generale
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Registrazione
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Inv ia mail
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Utente Non Registrato
Ricerca
••••••••••••••••••••••••••
••••••••••••••••••••••••••
av anzata
••••••••••••
Nav iga
nel sito
«extend»
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
extension points:
ricerca
«include»
Raccolta
Informazioni
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••••••
«include»
Inv ia mail
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••
Prenota
Gestore Informazioni
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••••••••••
Utente Registrato
Homepage
«include»
«include»
personaliz
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••••••
Bonifico
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••
Autenticazione
Pagamento
Carta di
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••••••
credito
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Inv io biglietti
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Agenzia
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Visualizza info
raccolte
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••
Scenario Login utente

Sommario: il sistema autentica l’utente

Attore: utente registrato

Precondizioni: in sistema attende che l’utente inserisca login e password

Svolgimento:
1. l’utente inserisce la propria username e la password e procede con
l’autenticazione
2. il sistema controlla che username e password corrispondano
3. se i parametri sono corretti l’utente viene loggato e vengono messe a sua
disposizione le funzionalità proprie degli utenti registrati

Svolgimento alternativo:
3a. se i parametri non sono corretti il sistema comunica la mancata
autenticazione e rimanda alla pagina di login

Postcondizioni: l’utente è stato autenticato
Scenario Prenotazione viaggio (1 di 2)

Sommario: l’utente ricerca un viaggio e ne effettua la prenotazione

Attore: utente registrato

Precondizioni: l’utente richiede di visualizzare i dettagli di un viaggio per poterlo
prenotare

Svolgimento:
1. l’utente inserisce i criteri di ricerca del viaggio e procede con la ricerca
2. il sistema verifica se sono presenti uno o più viaggi con i criteri di specificati
3. il sistema mostra i viaggi che soddisfano le richieste dell’utente
4. l’utente decide di prenotare uno dei viaggi mostratigli e, dopo aver inserito
i dati necessari, prosegue con la prenotazione
5. il sistema verifica se l’utente è loggato
6. il sistema verifica se il viaggio ha ancora posti disponibili
7. viene comunicata l’avvenuta prenotazione
Scenario Prenotazione viaggio (2 di 2)

Svolgimento alternativo:
3a. non sono presenti viaggi che soddisfano le richieste: il sistema chiede
all’utente di modificare i criteri
5a. l’utente non è loggato: il sistema segnala all’utente che è necessaria
l’autenticazione
6a. non ci sono posti disponibili: viene segnalata all’utente l’assenza di posti

Postcondizioni: il viaggio è stato prenotato dall’utente
Class Diagram
cd Class Diagram
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••
partenza
Utente
ricerca
*
0..*
Luogo
Viaggio
arrivo
- idUtente: String
- nome: String
- costo: float
••••••••••••••••••••••••••
••••••••••••••••••••••••••
•••
+
+
prenota() : void
paga() : void
partenza
Data
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••
arrivo
0..*
-
giorno: String
data: Date
••••••••••••••••••••••••••
••••••••••••••••••••••••••
•••
0..*
UtenteRegistrato
-
cognome: String
nome: String
codFiscale: String
indirizzo: String
userName: String
password: String
eMail: String
1
1
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••
*
••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••
Prenotazione
1..*
-
1..*
dataPagamento: Date
Trasporto
Alloggio
••••••••••••••••••••••••••
••••••••••••••••••••••••••
•••
organizza
+ login() : void
••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••
raccoglieInfo
1
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Agenzia
GestoreInfo
••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
State Diagrams
sm Utente
••••••••••••••••••••••••••
•••••••••••••••••••••
leggi /valuta
••••••••••••••••••••••••••
[valutazione negativa]•••••••••••••••••••••
Osserv azione
Ricerca in corso
visualizza risultati
••••••••••••••••••••••••••
•••••••••••••••••••••
esci
[valutazione positiva]
••••••••••••••••••••••••••
•••••••••••••••••••••
Prenotazione
••••••••••••••••••••••••••
•••••••••••••••••••••
[annullamento]
•••••••••••••••••••••••••• •••••••••••••••••••••
[pagamento]
•••••••••••••••••••••••••• •••••••••••••••••••••
Pagamento
•••••••••••••••••••••••••• •••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
sm Viaggio
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Pagato
Libero
Prenotato
••••••••••••••••••••••••••
•••••••••••••••••••••••••
[disp==true] /prenota
[pagamento]
•••••••••••••••••••••••••• •••••••••••••••••••••••••
••••••••••••••••••••••••••
•••••••••••••••••••••••••
[annulla prenotazione]
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Activity Diagrams
Utente
Agenzia
GestoreInfo
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
••••••••••••••••••••••••••!gestoreAttivo
•••••••••••••••••••••••••• •••
Nav iga nel sito
gestoreAttivo
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Raccogli info
nav igazione
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
!esci
!prenota
esci
••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••
prenota
loggato
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
! loggato
••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••
Login
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Inserimento
dati
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
[bonifico]
[else]
!gestoreAttivo
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Verifica pagamento
gestoreAttivo
Paga con
Paga con
••••••••••••••••••••••••••
••••••••••••••••••••••••••
•••
bonifico
carta
Raccogli info
prenotazione
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Inv io biglietti
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• •••
Fase 2 - Design
Class Diagrams
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••••
Alloggio
Luogo
-
nazione: String
città: String
+
setLuogo(String, String) : void
-
tipoAlloggio: String
nomeStruttura: String
indirizzo: String
stelle: int
descrizione: String
sitoweb: String
numPostiAlloggio: int
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
+ getLuogo() : Luogo
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••
Viaggio
Data
- idViaggio: double
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••••
+ setAlloggio(String, String, String, int, String, String,
int) : void
- luogoPartenza: Luogo
- giorno: int
-
anno: int
mese: int
day: String
ore: int
minuti: int
+
+
+
+
+
setData(int, int, int, String, int, int) : void
getDataEU(int, int, int) : String
getDataUS(int, int, int) : String
getOra(int, int) : String
getSystemDate() : String
-
luogoArrivo: Luogo
dataPartenza: Data
dataArrivo: Data
costo: float
alloggio: Alloggio[ ]
trasporto: Trasporto[ ]
disponibilità: int
+
getAlloggio() : Alloggio
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
Trasporto
- codice: String
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••
- tipoTrasporto: String
-
compagnia: String
numPostiTrasporto: int
+
+
setTrasporto(String, String, String, int) : void
getTrasporto() : Trasporto
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
GestioneViaggio
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••
+ visualizzaViaggio(double) : Viaggio
+
+
+
+
+
+
+
+
+
ricercaViaggioPerDataPartenza(Data) : idViaggio[ ]
ricercaViaggioPerDataArrivo(Data) : idViaggio[ ]
ricercaViaggioPerLuogoPartenza(Luogo) : idViaggio[ ]
ricercaViaggioPerLuogoArrivo(Luogo) : idViaggio[ ]
ricercaViaggio(Data, Data, Luogo, Luogo, Trasporto[ ], Alloggio[ ]) : idViaggio[ ]
aggiungiViaggio(Luogo, Luogo, Data, Data, float, Alloggio[ ], Trasporto[ ], int) : idViaggio
checkDisponibilità(double) : boolean
eliminaViaggio(double) : boolean
aggiornaDisponibilità(double) : int
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••
DBViaggi
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••
cd Utente
•••••••••••••••••••••••••• UtenteRegistrato
••••••••••••••••••••••••••
-
idUtente: double
cognome: String
nome: String
codFiscale: String
indirizzo: String
username: String
pwd: String
email: String
loggato: boolean
numCartaCredito: int
numContoCorrente: String
••••••••••••••••••••••••••
••••••••••••••••••••••••••
Utente
-
idUtente: double
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
GestioneUtenteRegistrato
••••••••••••••••••••••••••
••••••••••••••••••••••••••
+ visualizzaUtente(double) : Utente
+
+
+
+
+
+
+
ricercaUtentePerCognome(String) : idUtente[ ]
ricercaUtentePerCodfiscale(String) : idUtente
ricercaUtentePerUsername(String) : idUtente
aggiungiUtente(String, String, String, String, String, String, String, boolean, int, String) : idUtente
eliminaUtente(double) : boolean
login(String, String) : void
checkLogin(String, String) : boolean
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
DBUtenti
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
cd Prenotazione
•••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••
GestioneUtenteRegistrato
+
visualizzaUtente(double) : Utente
+
+
+
+
+
+
ricercaUtentePerCodfiscale(String) : idUtente
ricercaUtentePerUsername(String) : idUtente
aggiungiUtente(String, String, String, String, String, String, String, boolean, int, String) : idUtente
eliminaUtente(double) : boolean
login(String, String) : void
checkLogin(String, String) : boolean
•••••••••••••••••••••••• +••••••••••••••••••••••••••
••••••••
ricercaUtentePerCognome(String) : idUtente[ ]
Prenotazione
- idPrenotazione: double
••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
- dataPrenotazione: Data
-
dataScadenza: Data
pagata: boolean
idUtente: double
idViaggio: double
numPersone: int
descrizione: String
+
+
+
+
+
+
+
+
+
prenota(double, double, int, String) : idPrenotazione
cancellaPrenotazione(double) : boolean
cercaUtente(double) : idPrenotazione[ ]
cercaUtente(String) : idPrenotazione[ ]
cercaViaggio(double) : idPrenotazione[ ]
cercaViaggio(Luogo) : idPrenotazione[ ]
cercaViaggio(Data) : idPrenotazione[ ]
salda(double, int) : void
salda(double, String) : void
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
GestioneViaggio
visualizzaViaggio(double) : Viaggio
•••••••••••••••••••••••• ++••••••••••••••••••••••••••
••••••••
ricercaViaggioPerDataPartenza(Data) : idViaggio[ ]
+
+
+
+
+
+
+
+
ricercaViaggioPerDataArrivo(Data) : idViaggio[ ]
ricercaViaggioPerLuogoPartenza(Luogo) : idViaggio[ ]
ricercaViaggioPerLuogoArrivo(Luogo) : idViaggio[ ]
ricercaViaggio(Data, Data, Luogo, Luogo, Trasporto[ ], Alloggio[ ]) : idViaggio[ ]
aggiungiViaggio(Luogo, Luogo, Data, Data, float, Alloggio[ ], Trasporto[ ], int) : idViaggio
checkDisponibilità(double) : boolean
eliminaViaggio(double) : boolean
aggiornaDisponibilità(double) : int
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
DBPrenotazioni
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
Sequence Diagrams
•••••••••••••••••••••••••• •••••••••••••••••••••••••
sd Inserimento Viaggio
Browser
GestioneViaggio
DBMS
••••••••••••••••••••••••••
•••••••••••••••••••••••••
Agenzia
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Inserimento Viaggio
•••••••••••••••••••••••••• •••••••••••••••••••••••••
FormInserimentoViaggio
••••••••••••••••••••••••••
•••••••••••••••••••••••••
Invio Dati
••••••••••••••••••••••••••
aggiungiViaggio( ) •••••••••••••••••••••••••
insert
•••••••••••••••••••••••••• •••••••••••••••••••••••••
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Esito Inserimento
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
sd Ricerca Viaggio
Browser
GestioneViaggio
DBMS
••••••••••••••••••••••••••
••••••••••••••••••••••••
Utente
•••••••••••••••••••••••••• ••••••••••••••••••••••••
Cerca Viaggio
•••••••••••••••••••••••••• ••••••••••••••••••••••••
FormRicercaViaggio
••••••••••••••••••••••••••
••••••••••••••••••••••••
Invio Dati Ricerca
ricercaViaggio( )
••••••••••••••••••••••••••
••••••••••••••••••••••••
select
•••••••••••••••••••••••••• ••••••••••••••••••••••••
risultato select
•••••••••••••••••••••••••• ••••••••••••••••••••••••
risultato select
•••••••••••••••••••••••••• ••••••••••••••••••••••••
Visualizza Risultati
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
sd Prenotazione Viaggio
Browser
GestioneUtenteRegistrato
Prenotazione
GestioneViaggio
DBMS
••••••••••••••••••••••••••
••••••••••••••••••••••••••
••••••••
UtenteRegistrato
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
Prenota Viaggio
checkLogin( )
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
opt login
[loggato = false]
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
Form Login
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
Invio Dati Login
login(user, pwd)
select
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
boolean
boolean
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
••••••••••••••••••••••••••
Form Prenotazione
•••••••••••••••••••••••••• ••••••••
Invio Dati Prenotazione
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
prenota( )
checkDisponibilità( )
select
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
boolean
boolean
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••
opt update
•••••••••••••••••••••••••• ••••••••••••••••••••••••••
••••••••
[disponibilità==true]
aggiornaDisponibilità( )
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
update
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
boolean
Esito Prenotazione
••••••••••••••••••••••••••
•••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••
sd Pagamento Viaggio
Browser
GestioneUtenteRegistrato
Prenotazione
DBMS
••••••••••••••••••••••••••
•••••••••••••••••••••••••
UtenteRegistrato
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Paga Viaggio
checkLogin( )
••••••••••••••••••••••••••
•••••••••••••••••••••••••
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••
opt login
[loggato==false]
••••••••••••••••••••••••••
•••••••••••••••••••••••••
Form Login
Invio Dati Login
••••••••••••••••••••••••••
•••••••••••••••••••••••••
login(username,pwd)
select
•••••••••••••••••••••••••• •••••••••••••••••••••••••
boolean
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Form Pagamento
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Invio Dati Pagamento
salda(idPrenotazione,numCartaCredito)
•••••••••••••••••••••••••• •••••••••••••••••••••••••
salda(idPrenotazione,numContoCorrente)
•••••••••••••••••••••••••• •••••••••••••••••••••••••
update
boolean
•••••••••••••••••••••••••• •••••••••••••••••••••••••
boolean
••••••••••••••••••••••••••
•••••••••••••••••••••••••
Esito Pagamento
•••••••••••••••••••••••••• •••••••••••••••••••••••••
Grazie per l’attenzione ☺
Scarica

Design UML Agenzia Viaggi Arosio,Cattaneo,Prandi