FOUND IT FABRIZIO SCHMIDT. Classe 5A Informatica sezione Scientifica Fabrizio

Documenti analoghi
liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Le metodologie utilizzate saranno interattive e affiancate dalla realizzazione di project work utili a rendere concrete le lezioni teoriche.

SISTEMA GESTIONE TOMBINI

Basi di Dati. Concetti e Principi Generali. Maria Mirto

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

Istituto Tecnico Tecnologico G. Marconi Rovereto ESAME DI STATO TechUp! Giulio Lasta. Classe V D informatica Anno Scolastico 2014/2015

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

DBMS. Alice Pavarani

PerElmec Mobile App. Guida sull utilizzo della App mobile del PerElmec. Autore: Uff. Sviluppo Web Rev. Dicembre Sviluppo Web e Mobile

Javascript e CSS nelle pagine WEB

Utilizzo collegamento remoto

U88 Automatico. Versione 3.0

Ski Ways Documento di Progettazione. Ingegneria del Software, A.A. 2016/2017 Andrea Boscaro, Michele Dal Ben, Alberto Carraro, Davide Niero

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

HTH HIP - Healt In Prison Applicazione Mobile per la Gestione Carceri. Manuale Utente

Ministero della Salute

SendMed Client v Manuale d uso-

Corso di formazione sull uso delle Google Apps

1.1. Come funzionano le pagine Web.

ICT-Progetti Offerta formativa. Catalogo corsi 2017 per i privati

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

Manuale d uso della Posta TBS. Oracle Collaboration Suite

GUIDA RAPIDA PRODUTTORI

INDICE Immagini e registrazioni presenti nella galleria... 23

Competenze digitali Scheda per l'autovalutazione

Business Community Confindustria

ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

SOCIETÀ ENERGETICA LUCANA

IMPOSTAZIONI SITO. Figura 1. Figura 2. CSI Area Portale Pagina 1

GUIDA ALL UTILIZZO DEL FASCICOLO INPS

Struttura di un applicazione Instant Developer

Funzioni Principali dell APP ENTR

Repertorio Dispositivi Medici. Profilo Aziende Sanitarie

Le aree protette. G u i d a c r e a t a d a m a r t e p e r h t t p : / / j i m d i n g 3. j i m d o. c o m Pagina 1

ICE TAG SUOMY. Manuale d istruzioni. Suomy Spa

UNIVERSITA CA FOSCARI VENEZIA - CT0090 INGEGNERIA DEL SOFTWARE 2016/2017 ARRIFORNISCETE. Documento di Analisi e Specifica 1.

CardioChek Link Manuale d'uso

Guida Google Cloud Print

INTRODUZIONE ALL INFORMATICA CORSO DI LAUREA IN BIOLOGIA A.A. 2015/2016

Elena Baralis 2007 Politecnico di Torino 1

Sommario Prefazione xiii Modulo 1 Concetti di basedell ICT

Manuale operativo di amministrazione del Portale Aziende BPM

Google Drive per lavoro condiviso Manuale d uso

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Guida alla connessione

ISTRUZIONI PER LA REGISTRAZIONE E L ACCESSO AL SERVIZIO

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Progetto di laboratorio e progettazione web. A cura di Antonio Sammartino (505312) e Francesca Bernadette Marchitelli (523232).

In sintesi ad ogni professionista è richiesta la comunicazione del cronoprogramma relativo ai propri progetti

Manuale per la gestione dei calendari delle attività formative Piani formativi approvati e presenti su PG2F. Soggetti Presentatori

Servizio E-learning di Ateneo Piattaforma Moodle e L2L

Ripasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3

Certificati di postazione

Istanze On Line - Passaggio da Ambito a scuola

Istanze On Line- Richiesta Ricostruzione Carriera

Servizio Conservazione No Problem

ACCEDERE ALLA PROPRIA

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

FlyHigh. Progetto realizzato per l'esame di Laboratorio e Progettazione Web. Corso di Laurea in Informatica Umanistica. Italo Dei

10 Creare. collegamenti ipertestuali

Sistema per la gestione dell accreditamento e monitoraggio della formazione continua in medicina (ECM_L) Guida all applicazione

GUIDA APPLICATIVA DICHIARAZIONE RLS INTERMEDIARIO

Procedura di autodiagnosi per problemi di invio o ricezione della posta elettronica.

BIBL.ÌO (I servizi personalizzati ed il Mio spazio) BREVE GUIDA ALLA REGISTRAZIONE E ALL USO

COME UTILIZZARE IL SERVIZIO HELPDESK DI MAGGIOLI INFORMATICA

Firma Digitale Procedura Rinnovo

IL SITO WEB. Concetti generali

ISTRUZIONI IN BREVE SULL USO DEL SITO JOOMLA FASE 1 : REGISTRARSI

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Errore. Il segnalibro non è definito.

MANUALE UTENTE ACCESSO PORTALE SERVIZI DAIT

Cookie di analisi di servizi di terze parti

ArcGIS for Windows Mobile

Manuale utente PIATTAFORMA WEB M3S

Manuale Utente. Support Regola Servizio di Assistenza Tecnica. Versione 05 09/2017. MU-A: Mod. MU rev 2-08/2016 1/11

Guida all uso del sistema gestionale schede online per attività commerciali e turistiche

MS Access: Tutorial Tabelle, Relazioni

PIEMME G.U. Note di Rilascio (Visura assicurazione sistema SIC) Caratteristiche

Sommario. 1. Internet subito Le FAQ di Internet 13. Sommario vii

Mon Ami 3000 Spesometro Comunicazione delle fatture emesse e ricevute

Configurazione database remoto MySQL

Nascita di Internet. Come il mondo ha cambiato aspetto. Danilo Colonna Autunno 2016 NASCITA DI INTERNET

Sommario. A proposito di A colpo d occhio 1. Novità e miglioramenti 5. Introduzione a Excel Ringraziamenti... xi Autore...

Gestione credenziali application to application (A2A) Scambio dei flussi via Internet per le segnalazioni di Anagrafe Soggetti e Centrale dei Rischi

Portale ING Commercial Card. Scheda di guida rapida del titolare della carta

RE Genitori e Alunni

GUIDA OPERATIVA DELLA CARTA FLASH AL PORTATORE RICARICABILE (CARTA)

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Cloud GDrive, Dropbox

inserire un proprio indirizzo , oppure se si possiede una di Google si può accedere direttamente con essa.

Utilizzo delle Maschere in Microsoft Access

PRO. Investi qualche minuto del tuo tempo per valorizzare la tua attività su

Nuove pagine e collegamenti

Piattaforma E-LEARNING

Informativa estesa sull utilizzo dei cookie

FIPSAS. Denuncia sinistri on-line

Programma Master Programmatore Java

TS-CNS. Tessera Sanitaria Carta Nazionale dei Servizi. Manuale di installazione e configurazione. Versione del

Transcript:

FOUND IT FABRIZIO SCHMIDT Classe 5A Informatica sezione Scientifica Fabrizio Schmidt

Sommario INTRODUZIONE... 2 DISCIPLINE COINVOLTE... 3 C#... 3 SQL... 3 HTML5... 3 CSS... 3 ASP.NET... 4 JAVASCRIPT... 4 CRITICITÀ... 5 FUNZIONAMENTO... 6 DATABASE... 6 SITO WEB... 8 APPLICAZIONE... 10 CONCLUSIONI...12 Fabrizio Schmidt 5Ais Pagina 1

Introduzione L idea principale del mio progetto è nata durante le lezioni in classe, in particolare quelle di laboratorio. Molte volte, dopo una lezione in laboratorio,qualcuno dimentica la propria chiavetta USB e non ricorda dove e in quale laboratorio la abbia dimenticata; da qui mi è balenata l idea di creare un sito web che permetta di rintracciare tramite geolocalizzazione la propria chiavetta. Guardando sul Web, ho trovato vari siti e numerosi forum che prendono in esame il problema e che suggeriscono come cercare di evitarlo mediante il ricorso a programmi per crittografare i dati all interno dei dispositivi in questione. In altre parole, la soluzione individuata dai blogger si limitava a fornire consigli per salvaguardare il diritto alla privacy, per garantire la tutela dei dati personali, per realizzare concretamente i principi del decreto legislativo196 del 2003. Altri siti, invece, propongono un metodo che permette, semplicemente tramite l autenticazione dell utente, la lettura dei dati. In tal modo, la cifratura dei dati avrebbe impedito senz altro a terzi l accesso a dati privati, tuttaviarimaneva in piedi il problema oggettivo dello smarrimento temporaneo o definitivo della chiavetta.da qui il mio tentativo di esplorare soluzioni alternative e potenzialmente originali, ovvero l idea di creare un sistema che permettesse di rintracciare il dispositivo. Al fine di realizzare una simile idea, ho costruito un sito web in grado di visualizzare tramite una mappagoogle dove si trovi la pen-drive. Non solo: ho anche allestito un database che contenga le informazioni necessarie al reperimento del dispositivo come le coordinate geografiche e l ultimo collegamento ad un pc, nonché le informazioni per autenticare un utente in riferimento alla propria chiavetta. Per poter inserire la mappa all interno del sito ho utilizzato le API(Application Programming Interface) di Google Maps che permettono di aggiungere le informazioni dell utente sulla mappa prestabilita di Google. Le API sono sostanzialmente delle funzionalità messe a disposizione di tutti per implementare applicazioni e programmi in modo da disporre di una base di partenza senza dover sviluppare interamente il software. Inoltre, per consentire la geolocalizzazione ho creato un programma da caricare sulle chiavette in grado di inviare le informazioni al database. Fabrizio Schmidt 5Ais Pagina 2

Discipline coinvolte Le discipline su cui è incardinato il mio progetto sono essenzialmente quelle caratterizzanti il mio percorso di studi, vale a dire Informatica, Sistemi e Tecnologie. Del linguaggio informatico ho sfruttato C# per creare l applicazione da caricare sulla chiavetta e sql per la creazione del database. C# C# è un linguaggio di programmazione orientato ad oggetti che la realizzazione di software. SQL SQL (Structured Query Language) è un linguaggio per database che si basa sul modello relazionale si divide in quattro sezioni tematiche per: creare e modificare schemi di database (DDL - Data Definition Language); inserire, modificare e gestire dati memorizzati (DML - Data Manipulation Language); interrogare i dati memorizzati (DQL - Data Query Language); creare e gestire strumenti di controllo ed accesso ai dati (DCL - Data Control Language). HTML5 Per la creazione del sito e per l accesso al database ho sfruttato HTML, oggetto di analisi all interno della disciplina Sistemi. HTML5 è un linguaggio di markup(insieme di regole che descrivono i meccanismi di rappresentazione di un testo utilizzabile su più supporti) per la strutturazione delle pagine web. HTML5 è la versione più recente sul mercato che definisce gli stili delle pagine in documenti separati dal resto del codice. Viceversa, per quanto attiene alla gestione degli eventi all interno delle pagine web mi sono avvalso dijavascript, linguaggio di scripting; per quanto attiene al formato delle pagine web, ho utilizzato i fogli di stile CSS (argomento affrontato in Tecnologie), asp.net un linguaggio che permette di legare tra di loro parti di codice html e C#, nonché googlemaps per il rilevamento dei terremoti (modalità operativa appresa lo scorso anno scolastico nel programma di Tecnologie). CSS CSS (Cascading Style Sheets) è un linguaggio usato per definire la formattazione di documenti HTML,ad esempio i siti web e relative pagine web.l'introduzione del CSS si è resa necessaria per separare i contenuti dalla formattazione e permettere una programmazione più chiara e facile da utilizzare, sia per gli autori delle pagine HTML che per gli utenti, garantendo contemporaneamente anche il riuso di codice ed una sua più facile manutenzione. Fabrizio Schmidt 5Ais Pagina 3

Asp.Net Asp.net è un insieme di tecnologie di sviluppo di software per il web. Attraverso il ricorso di tali tecnologie gli sviluppatori possono realizzare applicazioni Web. Tale metalinguaggio possiede la particolarità di collegare l architettura del sito web con parti di codice che permettono l implementazione di metodi e funzioni per il sito stesso. JavaScript Javascript è un linguaggio di scripting utilizzato per la gestione degli eventi. Ѐ comunemente adoperato nella programmazione web lato client per la creazione, all interno di siti e di applicazioni web, di effetti dinamici invocati da eventi innescati a loro volta dall'utente sulla pagina web. Fabrizio Schmidt 5Ais Pagina 4

Criticità Le principali criticità che ho riscontrato nella progettazione di questo sistema si riferiscono alla geolocalizzazione. In altre parole,nel fare ricorso ad aspx.net mi sono trovato nella condizione di sperimentare soluzioni originaliper l inserimento della mappa google sul sito, per veicolare le informazioni da visualizzare, nonchéper adattare le coordinate al sistema di rilevamento di google. Innanzitutto, per richiamare la funzione in Javascript solamente ad un preciso evento, ho utilizzato la sintassi sopra riportatain modo da eseguire il popolamento della mappa solo a login effettuato.dopodiché,eseguendo vari testdi funzionamento, ho notato che, anche immettendo le coordinate esatte, esse non erano in grado di localizzare la posizione che desideravo. Pertanto, in séguito a un autoaggiornamento nin merito, ho scoperto che il sistema di Google Maps faceva distinzioni sull uso della virgola e del punto. Ecco perché ho previsto l introduzione di CultureInfo.InvariantCulture.NumberFormat, un istruzione che non modifica i dati in base al Paese, ma li mantiene inalterati.in tal modo il punto utilizzato solitamente nella latitudine e nella longitudine non viene più trasformato in virgola. Un altro aspetto da non sottovalutare è la precisione con cui viene rintracciata una chiavetta che varia in base al provider che ci offre la connessione. Questo perché i metodi per il recupero dei dati si basano sui sistemi GPS integrati nelle macchine.infatti, per ovviare a questo problema, ho aggiunto il nome della macchina su cui è stata collegata la pen-drive. Tale accorgimento garantisce un'ulteriore riferimento all individuazione del luogo esatto di smarrimento del dispositivo, un aspetto questo non banale in un contesto come quello scolastico, caratterizzato dalla presenza di innumerevoli computer. Fabrizio Schmidt 5Ais Pagina 5

Funzionamento Database Come evidenziato precedentemente, il progetto si articola in tre parti: un sito web, un database e un programma. La creazione del database è stato lo step più semplice. Infatti, per questo tipo di progetto, ho dovuto utilizzare solamente due relazioni: una per le informazioni riguardanti la chiavetta e l altra per le informazioni dei vari utenti registrati. Al fine di ottimizzare le prestazioni e di assicurare l efficienza del database, ho aggiunto delle store procedure tali da garantire l univocità del nickname. Tale procedura evita l esistenza di due utenti con lo stesso identificativo e, al contempo, è in grado di verificare se inseriamo dati corretti mentre facciamo il login. Creazione del database e delle relazioni Fabrizio Schmidt 5Ais Pagina 6

La store procedure DuplicateRegiviene richiamata durante la registrazione dell utente e verifica che non esista un altro UserName identico a quello appena inserito. Nel caso esistesse già, esso provvede a inviare al sito un valore che attiva un messaggio di avviso all utente di cambiare UserName. Creata con lo stesso meccanismo è la store procedure LoginCorrect.Essa viene richiamata non solo dal sito, ma anche dall applicazione che illustrerò in un paragrafo dedicato. In questo caso, l attenzione si pone suidati inseriti dall utente durante l accesso nel caso di erronea digitazione. Sia il sito che l applicazione avviseranno l utente. Definizione della store procedure Fabrizio Schmidt 5Ais Pagina 7

Sito Web Ho creato il sito web utilizzando Html5 e asp.net, i quali mi hanno permesso agevolmente ed efficacemente di collegare tra di loro pagine html e parti di codice C#. Per la Homepage ho scaricato un Template Online di cui ho modificato lo sfondo, provvedendo a inserire ilink alle varie pagine. In virtù del ricorso a un Template, ho avuto a disposizione un file CSS con il quale ho potuto mantenere unostile omogeneo per le altre pagine e adattarlo ad alcune mie esigenze come l aspetto delle scritte e dei pulsanti, nonché la posizione all interno delle pagine. La prima operazione prevista dal sito è evidentemente la registrazione, la quale chiede all utente il proprio nome e cognome, un UserName e una Password, tutti dati necessari per identificare l utente al momento del login. Dopodiché, viene spiegato all utente l iter da seguire per utilizzare il programma e in che modo poter visualizzare la mappa. Successivamente, l avvenuto login permette l accesso alla mappa per localizzare la chiavetta. La mappa è gestita in modo da inserire un marcatore che identifica il luogo approssimativo in cuisi trova il nostro dispositivo. Se clicchiamo su di esso, si aprirà una schermata (InfoWindow) con annotate le coordinate geografiche, la data in cui i dati sono stari registrati e il nome del computer a cui è stata collegata. In tal modo l utente possiede tutti i dati per recuperare il proprio dispositivo. Fabrizio Schmidt 5Ais Pagina 8

Gestione dei dati e visualizzazione su mappa di marker e InfoWindow Fabrizio Schmidt 5Ais Pagina 9

Applicazione Il programma da caricare sulla chiavetta USB permette all utente di avviare la procedura di localizzazione non appena inserisce la propria chiavetta ad un pc. L unico limite è rappresentato dalla necessità della connessione ad internet: in assenza di connessione, infatti,questo procedimento non funziona e, conseguentemente, non è possibile localizzare il dispositivo. L applicazione, prima di inviare le informazioni, identifica l utente chiedendogli nickname e password, dopodiché comunica al database le coordinate del pc, la data di inserimento e il nome del pc a cui siamo collegati. Nel caso ci trovassimo a scuola, l applicazione identificherebbe che la chiavetta è stata dimenticata all interno dell Istituto, ma non sarebbe in grado di identificareil laboratorio e la macchina. Inoltre, questa applicazione verifica se nel database esistano già dei dati relativiall utente. In tal caso, le informazioni presenti vengono aggiornate con le nuove mediante sovrascrittura, altrimenti si provvede ad aggiungerle. Al momento di trovare le coordinate geografiche, l applicazione non chiede all utente l autorizzazione a rilevare la sua localizzazione. Questo perché l utente è consapevole di ciò che sta andando a fare; se così non fosse i dati di geolocalizzazione vengono cancellati nel momento in cui UserName o Password non fossero corretti. Fabrizio Schmidt 5Ais Pagina 10

Parte di codice C# per comunicare con il database e controllare se è il primo accesso dall applicazione Fabrizio Schmidt 5Ais Pagina 11

Conclusioni Al fine di ottimizzare la modalità di recupero dati, un possibile miglioramento potrebbe essere quello di aggiungere una procedura che permetta all applicazione di auto avviarsi non appena il dispositivo viene collegato ad una macchina. Inoltre, una sfida interessante potrebbe consistere nel prevedere la capacità di inviare automaticamente le informazioni di localizzazione al database, senza dovere eseguire l accesso ogni qualvolta utilizziamo la chiavetta. Per il momento possiamo accontentarci di sfruttare le potenzialità e le risorse di questo progetto, finché non verranno introdotte nuove chiavette, munite di un cip integrato per la localizzazione. Fabrizio Schmidt 5Ais Pagina 12