Sei sulla pagina 1di 7

II PROVA D’ESAME di INFORMATICA E SISTEMI E RETI

Si vuole realizzare un servizio di noleggio biciclette implementabile su Comune. Utile alla


realizzazione e alla fruibilità di questo, sono:
• STAZIONI di “noleggio e riconsegna” dislocate sul territorio cittadino e dotate di 50 SLOT,
uno per BICICLETTA. La stazione avrà inoltre, in dotazione, un LETTORE per la lettura
delle smartcards degli utenti iscritti al sito web fruitori del servizio, e uno a radiofrequenza
(RFID reader) per la lettura, sia in uscita che in ingresso, del codice univoco (RFID)
identificativo del singolo mezzo. Alla lettura della smartcard una delle biciclette disponibili
in stazione in quello stesso momento, si sblocca;
SEDE CENTRALE che, dotata di un server e di pc, riceverà dati relativi al monitoraggio, al
controllo e alla tariffazione del servizio.
Attraverso le sedi sopraelencate sarà possibile fornire all’utente fruitore una panoramica della
situazione, in tempo reale, delle stazioni e lo stato dei relativi slot. Non sarà assolutamente
necessario che la bicicletta venga riconsegnata nella stessa stazione in cui la stessa è stata
precedentemente noleggiata.

SCHEMA GENERALE
SCHEMA SEDE CENTRALE
Nella soluzione
formulata è risultato
opportuno dividere la
SEDE CENTRALE in
zone delimitate a
livello fisico e logico.
Presente, infatti, è un
server su cui è
opportunamente
installato Apache
HTTP Server per la
gestione della pagina
web del servizio, un
motore server Script
Engine PHP e un
DBMS MySql per
l'archiviazione delle
informazioni che
confluiscono dalle
stazioni sparse sul
territorio. A questo,
posto nell’area DMZ,
preceduta da un
firewall, potrebbe essere assegnato l’indirizzo IP 192.168.23.3, subnetmask 255.255.255.0; certo è
che questo debba essere assegnato staticamente in modo che sia fisso e renda il server facilmente
raggiungibile da tutti gli host. Come la rete LAN della sede centrale con ipotetici indirizzi a partire
da 192.168.24.0/24 assegnati dal server DHCP implementato ai pc, il server HTTPS è collegato ad
un router perimetrale che sia da interfaccia alla rete internet al quale il sistema si collega tramite
opportuna fibra ottica certamente disponibile, almeno in FTTC (collegamento alla cabina), e
opportuno protocollo HTTPS. Importante è specificare la presenza di uno switch (a numero di porte
variabile) per l’instradamento dei pacchetti nella rete LAN. Utile alla garanzia del servizio in
termini di tolleranza e guasti è l’implementazione di gruppi di continuità.

CENNI TEORICI CONTENUTO SCHEMA CENTRALE


• Server DHCP è un server utile alla assegnazione di indirizzi IP, subnetmasks e gateway nel
range di indirizzi indicato nella configurazione. Al momento della avvenuta assegnazione il
server aggiornerà la propria tabella nel quale memorizza anche il tempo di lease;
DMZ è l'area in cui solitamente vengono installati i server. Questa è utile in quanto in essa è
strettamente limitato il traffico dati attraverso controlli sui pacchetti. Viene a crearsi attraverso
l'utilizzo di firewall e rende, insieme ad esso, difficoltoso un attacco;
Firewall è un componente hardware/software utilizzato per la sicurezza delle reti. Esso la divide in
una zona interna, solitamente una LAN in cui risiedono i dispositivi collegati e da proteggere, e una
zona esterna con la quale solitamente si indica invece la rete internet.
Router è un dispositivo di terzo livello che ha il compito di instradare i pacchetti tra reti
direttamente collegate o meno;
Switch è un dispositivo di secondo livello che, come il router, si occupa dell’instradamento. Questo
però è limitato e riguarda pacchetti destinati a restare nella LAN in cui sono generati.
SCHEMA STAZIONE TIPO

La STAZIONE TIPO è dotata di collegamento ad internet tramite ADSL, convenzionalmente


fornita dallo stesso provider che, in SEDE CENTRALE, provvederà a fornire il collegamento in
Fibra. L’istallazione di una ADSL permetterà di inviare dati relativi agli slot liberi e occupati con
sblocco elettronico comandato da un microcontrollore Arduino, al server in SEDE CENTRALE. Al
momento della lettura della smartcards dell’utente uno specifico applicativo software sarà in grado
di comandare ad Arduino lo sblocco di una delle biciclette disponibili e aggiornerà quella che sarà
la struttura più adatta all’archiviazione momentanea delle informazioni riguardanti lo stato della
stazione. L’applicativo software provvederà, infatti, a raccogliere quelli che sono i segnali in entrata
e in uscita ad e da Arduino, per la memorizzazione degli slot occupati e liberi. Questa struttura verrà
inviata alla centrale ogni 45 secondi in modo da rendere il servizio il più efficiente e in tempo reale
possibile. Un wireless router la cui password di accesso è conosciuta ai fruitori del servizio è posta
per permettere agli utenti di collegarsi ad internet e visitare il sito web. Utile però alla sicurezza e
alla limitazione del traffico nei confronti del computer non presieduto in stazione è un firewall.
Anche per la stazione il protocollo utilizzato sarà HTTPS.

CENNI TEORICI CONTENUTI SCHEMA STAZIONE TIPO


• ADSL è un componente che permette, grazie al doppino telefonico, la connessione ad
internet, ovviamente basata su rete telefonica, tramite stipulazione di contratti con un
provider;
• Connessione wireless è la tipologia di connessione che avviene senza fili. La più
comunemente diffusa oggi è quella funzionante ad onde radio;
• Arduino è un dispositivo hardware (microcontrollore) che se, preventivamente
programmato, permette di automatizzare processi.
SCHEMA NELLA SUA TOTALITÀ

MODELLO CONCETTUALE

TABELLA LOGICA TIPO


UTENTE
TIPO LUNGHEZZA REFERENZE NULL AUTOINCREMENT

ID_Utente INT 11 PK NO SI
Generalita VARCHAR 40 NO NO
username VARCHAR 40 NO NO
password VARCHAR 40 NO NO

create table utente


( ID_Utente INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
generalita VARCHAR(40) NOT NULL,
username VARCHAR(40) NOT NULL,
password VARCHAR(40) NOT NULL
);
SCHEMA RELAZIONALE

SCHEMA PAGINE WEB

Pagina index.php Pagina gestore.php


Elenco delle stazioni con relative Pagina per la visualizzazione, in riguardo alle bici in
bici libere. uso, di:
٠utenti che l’hanno utilizzata;
٠stazione dalla quale è stata prelevata.
CODICE index.php
<html>
<head>
</head>
<body>
<?php
echo "
<div class='container'>
<div id='label'>&nbsp&nbsp<strong>Elenco stazioni</strong></div><br>
<br>
$host =’localhost’;
$user =’root’;
$database = ‘bikesharing’;
$password = ’’;
$CONNESSIONE = mysql_connect($host, $user, $password, $database);
$query = “Select Stazioni.Id_Stazione From Stazioni”;
$M_Query = mysqli_query ($CONNESSIONE, $query);
$num_staz = mysqli_num_rows ($M_Query);
if ($num_staz >0){ where($visual = mysqli_fetch_array($M_Query)) { echo”.
$visual[“stazione.ID_Stazione ”].”; } }
else{ echo“Nessuna stazione disponibile.”;};
</div>";
?>
</body>
</html>

SECONDA PARTE
Esercizio II
a. DATO IL CODICE 134 DELLA BICICLETTA

SELECT utente.ID_Utente, utente.generalita


FROM utente INNER JOIN bicicletta INNER JOIN noleggio ON
utente.ID_Utente=noleggio.ID_Utente AND noleggio.ID_Bicicletta=bicicletta.ID_Bicicletta
WHERE bicicletta.Codice=134

a. CREATE VIEW AS QUERY2(


SELECT stazione.ID_Stazione,stazione.via, COUNT(*)
FROM stazione INNER JOIN noleggio on
stazione.ID_Stazione=noleggio.staz_noleg
WHERE noleggio.data BETWEEN '2019-03-01' AND '2019-03-31'
GROUP by stazione.ID_Stazione);

SELECT MAX(query2.COUNT(*)) , stazione.ID_Stazione,stazione.via


FROM query2
Esercizio III
Considerata e analizzata la relazione non normalizzata
QUADRO (Cod_Quadro{PK}, Cod_Museo, Titolo_Quadro, Nome_Museo, Citta_Museo, Prezzo, DataInizioEsposizione, DataFi-
neEsposizione)
risulta chiave primaria (PK) dell'entità QUADRO l'attributo Cod_Quadro. Da questa non dipendono gli attributi Nome_Museo, Cit-
tà_Museo, DataInizioEsposizione e DataFineEsposizione.
Come da metodo indicato, per rendere normalizzata la relazione, bisogna rispettare la terza forma normale attraverso la creazione di
nuove entità che contengano gli attributi non chiave da cui nascono dipendenze transitive. L’obiettivo è, attraverso questa pratica, ot-
tenere entità che funzionino secondo dipendenze funzionali.

FORMA NORMALIZZATA
QUADRO (Cod_Quadro{PK}, Titolo_Quadro, Cod_Museo, Prezzo)
MUSEO (Cod_Museo{PK}, Nome_Museo, Città_Museo, DataInizioEsposizione, DataFineEsposizione)