SFT
Sommario
INDIVIDUAZIONE DEI REQUISITI FUNZIONALI..................................................................3
Requisiti funzionali...................................................................................................... 3
Requisiti non funzionali............................................................................................... 3
GLOSSARIO DEI TERMINI................................................................................................. 4
CASI D’USO..................................................................................................................... 5
PROGETTAZIONE CONCETTUALE.................................................................................... 6
Diagramma Entità-Relazione....................................................................................... 6
Dizionario delle entità................................................................................................. 6
Dizionario delle relazioni............................................................................................. 8
Dizionario dei vincoli................................................................................................... 8
PROGETTAZIONE LOGICA................................................................................................ 9
Ristrutturazione del modello E/R................................................................................. 9
Traduzione verso il modello logico............................................................................. 10
SCHEMA RELAZIONALE................................................................................................. 13
Chiavi esterne........................................................................................................... 16
REALIZZAZIONE DELL’APPLICAZIONE...........................................................................17
Amministrazione:....................................................................................................... 18
Esercizio.................................................................................................................... 20
Acquisto biglietto:...................................................................................................... 23
Pagine Informative:................................................................................................... 25
..................................................................................................................................... 27
INDIVIDUAZIONE DEI REQUISITI FUNZIONALI
Requisiti funzionali
1) Il sistema dovrà gestire operazioni CRUD sugli utenti;
2) Il sistema dovrà gestire operazioni CRUD sul materiale rotabile;
3) Il sistema dovrà gestire operazioni CRUD sulle prenotazioni;
4) Il sistema dovrà gestire operazioni CRUD sulle richieste di treno extra;
5) Il sistema dovrà permettere ai Clienti soltanto la gestione dei propri dati;
6) Il sistema dovrà prevedere un meccanismo d’accesso e autenticazione all’area
riservata distinta per ruolo dell’utente loggato;
7) Il sistema dovrà gestire il pagamento richiamando il sistema esterno che si
occupa del pagamento appena richiesto dal cliente;
8) Il sistema dovrà gestire il cambio data e cambio posto su una singola
prenotazione;
9) Il sistema dovrà fare necessariamente delle statistiche sull’area privata
dell’amministratore;
10) Il sistema dovrà avere delle pagine web pubbliche dove poter ricercare un
treno, visualizzare il materiale rotabile, le stazioni, la linea storica e informazioni
utili.
Requisiti non funzionali
La progettazione e la realizzazione della Web application prevede il rispetto dei
seguenti requisiti non funzionali che potremmo anche sintetizzare come
semplificazioni e controlli utili per rispettare i requisiti del progetto.
1. Relativamente al controllo del traffico treno, si è scelto, per non incorrere in
codice SQL e script PHP/javascript pesantemente complicati di:
a. di assumere che il treno percorra alla velocità di 50kmh ogni tratto;
b. il sistema si assicura che ogni singolo tratto della linea interessato dal
passaggio del nuovo treno inserito non sia impegnato da altri treni che lo
incrociano o che lo attraversano nella stessa direzione;
c. viene controllato che nella stazione di partenza non ci siano 2 treni nella
stessa direzione ma solo in direzioni opposte;
2. Relativamente alla frequenza giornaliera delle corse:
a. di effettuare solo il controllo del giorno festivo e lavorativo;
b. di limitare alle 2 corse giornaliere a tutti i giorni lavorativi dell’anno;
c. di limitare alle 8 corse giornaliere a tutti i giorni festivi dell’anno;
d. viene fatto un controllo sul materiale rotabile già impegnato tra la
datetime partenza e arrivo.
3. Relativamente alle prenotazioni:
a. è previsto che l’utente possa effettuare cambio data del proprio biglietto
cercando tra le soluzioni alternative (altre corse) nella stessa giornata di
partenza della prenotazione originale (cd. Soluzioni alternative o treni
alternativi);
b. è previsto che l’utente possa effettuare cambio dei posti prenotati, in
questo caso viene effettuato il controllo dei posti in carrozza liberi e viene
permesso di assegnare solo questi ultimi alla prenotazione aggiornata;
4. Durante la fase di prenotazione/cambio posto l’utente può selezionare un
numero massimo di posti pari al numero di posti presenti nella prenotazione o
inseriti nel form di ricerca;
5. durante la fase di prenotazione e cambio posto vengono proposti all’utente
solamente le soluzioni (corse) che prevedono una capacità operativa (intesa
come capacità treno - posti occupati) maggiore rispetto al numero di posti
richiesti;
6. l’utente durante la fase di prenotazione può selezionare i posti nelle varie
carrozze disponibili nel convoglio;
7. durante la fase di convalida richiesta treno extra o inserimento di un nuovo
treno vengono effettuati tutti i controlli sul traffico e sul materiale rotabile fin
qui esposti;
8. durante la fase di richiesta treno extra non vengono fatti controlli sul numero di
treni programmati in quanto si assume che possano essere cancellati in seguito
per mancanza di prenotazioni; viene demandata allo step successivo (ruolo
esercizio) tale controllo in fase di convalida richiesta treno extra;
GLOSSARIO DEI TERMINI
Al fine di evitare ambiguità andiamo adesso a definire un glossario al quale fare
riferimento per i termini maggiormente utilizzati nelseguito della progettazione.
Termine Descrizione Sinoni
mo
TRENI Rappresenta il treno composto da diverse carrozze e
un locomotore, può essere prenotato dai clienti fino
alla sua capacità. Può essere speciale (extra) o
ordinario
LOCOMOTIVE Questa entità è necessaria per rappresentare la
locomotiva necessaria al treno. Esistono diverse
tipologie di locomotive, alcune con posti a sedere
TRANSAZION Rappresenta l’operazione di pagamento del titolo di
E viaggio sulla piattaforma esterna denominata
PAYSTEAM e da cui otteniamo la conferma per poter
considerare il titolo acquistato e la prenotazione
chiusa
TRENO E’ un treno non programmato dall’esercizio ma
EXTRA dall’amministrazione. Il treno extra deve essere
dapprima confermato dall’esercizio che ne verifica
requisiti e disponibilità materiale rotabile e poi infine
programma orari e composizione convoglio
CONVOGLIO E’ l’insieme delle carrozze che costituiscono il singolo
treno. Ogni convoglio ovviamente contiene una o più
carrozze.
CARROZZA La carrozza, come dice lo stesso nome, è alla base
del materiale rotabile disponibile per la composizione
del treno. Ha una capacità di posti, una
denominazione, una storia, un anno di costruzione e
una tipologia di posti diversa.
PRENOTAZIO La prenotazione, a seguito dell’avvenuto pagamento
NE del titolo di viaggio rappresenta la titolarità del posto
assegnato. Inoltre è possibile modificare la data della
prenotazione e del posto prenotato.
AREA E’ una area riservata all’utente loggato e in base al
PRIVATA ruolo mappato. Esistono 3 aree private: una per
esercizio, una per l’amministrazione e una per
l’utente registrato.
CONVALIDA La convalida di un treno extra è quell’operazione
necessaria per poter programmare un treno e
renderlo disponibile in programmazione.
PROGRAMMA La programmazione di un treno (extra e/o ordinario)
è l’operazione con la quale l’esercizio ne dispone in
calend
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.