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 nel seguito della progettazione.
| Termine | Descrizione | Sinonimo |
|---|---|---|
| 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 | |
| Transazione | Rappresenta l’operazione di pagamento del titolo di viaggio sulla piattaforma esterna denominata PAYSTEAM e da cui otteniamo la conferma per poter considerare il titolo acquistato e la prenotazione chiusa | |
| Treno extra | È un treno non programmato dall’esercizio ma 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 | È 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. | |
| Prenotazione | La prenotazione, a seguito dell’avvenuto pagamento del titolo di viaggio rappresenta la titolarità del posto assegnato. Inoltre è possibile modificare la data della prenotazione e del posto prenotato. | |
| Area privata | È una area riservata all’utente loggato e in base al 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.