• Non ci sono risultati.

4.2 Architettura del client

4.2.5 Modulo “Chart”

Il modulo “Chart” ha il compito di generare i grafici richiesti dall’utente.

Il modulo “Chart” riceve i valori da rappresentare dal modulo “Main”. Se il grafico da realizzare è un grafico di tipo statistico a barre, relativo ad un periodo di tempo, utilizzando l’intervallo di date impostato, il modulo crea un array contenente tutte le date del periodo e lo rappresenta sull’asse delle ascisse.

45

Le date sono rappresentate con il solo numero del giorno ma, nel caso la data corrisponda al primo giorno di un nuovo mese, la numerazione viene sostituita da un’abbreviazione del mese.

Al di sotto dell’asse delle ascisse di un grafico è sempre presente una legenda che permette all’utente di identificare facilmente la relazione tra le barre rappresentate ed i dati richiesti.

Un dettaglio dell’asse delle ascisse, completo delle date, e della legenda è possibile osservarlo in Figura 4.9.

Figura 4.9 – Particolare dell’asse delle ascisse di un grafico

L’ampiezza dell’asse delle ordinate è calcolata ed impostata in modo tale da ottimizzare la visualizzazione e rendere pratica la consultazione del grafico. Ciò è possibile grazie a funzioni matematiche create appositamente per evitare di generare intervalli di riferimento non interi, come è possibile osservare in Figura

4.10.

46

Ogni grafico di tipo statistico a barre è corredato, in basso, da bottoni tramite i quali l’utente può spostare la finestra di vista sul grafico ed osservare i valori relativi a giorni successivi (pulsante “Destra”) o antecedenti (pulsante “Sinistra”) rispetto all’intervallo attualmente mostrato sul display.

L’utente può altresì aumentare (pulsante “Zoom-“) oppure diminuire (pulsante “Zoom+”) il periodo di giorni i cui dati sono rappresentati sul display.

Un esempio dei bottoni con i quali l’utente può interagire col grafico è rappresentato in Figura 4.11.

Figura 4.11 – Particolare dei bottoni per l’interazione con il grafico

Nel caso che il grafico di cui è stata scelta la rappresentazione sia relativo alle statistiche delle tecnologie utilizzate dai terminali per eseguire le attività di polling, l’utente può scegliere di includere oppure escludere dal grafico i dati relativi ad una o più di esse agendo sulle relative caselle di selezione, mostrate nel dettaglio in

Figura 4.12.

Figura 4.12 – Dettaglio dello strumento per l’inclusione nella rappresentazione grafica dei dati relativi alle tecnologie utilizzate

Nel caso che l’utente richieda il disegno della collocazione di una cella sulla mappa, il modulo “Chart” provvede alla generazione di una mappa, utilizzando librerie fornite dal servizio Google Maps, ed alla sovrapposizione, su di essa, di un segnaposto, posizionato alle coordinate approssimate della cella. All’apertura la mappa viene mostrata utilizzando un’animazione con effetto di zoom crescente e quindi centrata sul segnaposto della cella.

47

Se l’utente ha richiesto la visualizzazione della posizione della cella attualmente in uso, tramite la selezione dell’opzione mostrata in Figura 4.7, allora il modulo si mette in ascolto su un particolare servizio ed, ogni volta che il terminale aggancia una nuova cella, si occupa di aggiornare la mappa ed i segnaposto.

Un esempio di una cella localizzata ed identificata da un segnaposto è osservabile in

Figura 4.13.

Figura 4.13 – Dettaglio di una cella in uso, localizzata con un segnaposto sulla mappa ©GoogleMaps, 2014

Durante la visualizzazione della mappa l’utente viene informato graficamente anche in merito alle celle adiacenti a quella a cui il proprio terminale è attualmente agganciato.

Ciò può avvenire secondo le seguenti 3 modalità:

1. se l’utente ha scelto di visualizzare la mappa tramite il bottone “mappa celle” allora il modulo “Chart” richiede al modulo “Main” di eseguire una nuova interrogazione al database del progetto OpenCellID, al fine di ottenere le informazioni relative alle dieci celle più adiacenti;

2. se l’utente ha scelto di visualizzare la mappa tramite il bottone “Portolan - mappa”, ed il telefono in uso supporta la funzionalità di identificare le celle nelle vicinanze tramite il segnale radio che ne riceve, allora il modulo “Chart” raccoglie tali dati identificativi e richiede, al modulo “Main”, di eseguire, per ciascuna delle celle interessate, una nuova interrogazione al database del progetto OpenCellID, al fine di ottenere le informazioni ad esse relative e poterne così mostrare la posizione geografica sulla cartina;

48

3. se l’utente ha scelto di visualizzare la mappa tramite il bottone “Portolan - mappa”, ed il telefono in uso non supporta la funzionalità di identificare le celle nelle vicinanze tramite il segnale radio che ne riceve, allora il modulo “Chart” mostra sulla mappa la posizione della cella attualmente agganciata e la posizione della cella precedentemente in uso.

Una cella nelle vicinanze ma non in uso è identificata sulla mappa da un segnaposto grigio, come evidenziato in Figura 4.14.

Figura 4.14 – Dettaglio di una cella non utilizzata, localizzata mediante un segnaposto sulla mappa - ©GoogleMaps, 2014

Al tocco del segnaposto rappresentativo di una cella, il modulo “Chart” risponde con la creazione di un fumetto contenente le informazioni riepilogative inerenti alla cella toccata, come mostrato nell’esempio in Figura 4.15.

Figura 4.15 – Dettaglio del fumetto generato al tocco di una cella in uso ©GoogleMaps, 2014

49

Nel caso l’utente abbia deciso di visualizzare le informazioni relative alle celle visitate da un utente all’interno di un determinato intervallo di tempo allora, al tocco di una barra del grafico ottenuto, il controllo dell’esecuzione torna al modulo “Main” il quale, utilizzando la data relativa alla barra selezionata, esegue una nuova richiesta al database del progetto Portolan.

Tale richiesta permette al modulo “Chart” di ottenere e rappresentare, in un nuovo grafico a barre, i dati relativi al numero di utenti, utilizzatori di Portolan, i cui dispositivi mobili hanno agganciato il segnale radio delle medesime celle, nel giorno selezionato dall’utente.

L’utente, toccando la barra relativa al numero di utenti che si sono agganciati ad una data cella, causerà il ritorno del flusso di esecuzione al modulo “Main” al fine di ottenere le informazioni necessarie a poter raffigurare la cella interessata su di una mappa.

Documenti correlati