UNIVERSITÀ DEGLI STUDI DI TRENTO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI TRENTO"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea (triennale) in INFORMATICA Elaborato finale Funzionalità Avanzate per la Visualizzazione e Trasmissione di Dati Georeferenziati Relatore: Prof. Ronchetti Marco Correlatori: Laureando: Andreolli Michele Ing. De Amicis Raffaele Ing. Conti Giuseppe Ing. Piffer Stefano Anno Accademico

2 L unica difesa contro il Mondo è conoscerlo Bene John Locke ( ) Ai miei Genitori 2

3 Ringraziamenti Ormai è più di un anno che sono in GraphiTech. É stato un anno impegnativo, trascorso tra gli ultimi esami, tra uno stage interminabile, tra la EuroGraphics Conference, l insegnamento alla scuola elementare e conclusosi con questa tesi. Un anno di grandi cambiamenti, costellato da nuove preoccupazioni, nuovi impegni e responsabilità, ma anche da momenti belli ed intensi che non sarebbero stati tali senza la presenza di persone veramente speciali. Per prima cosa voglio ringraziare la mia famiglia, che mi ha sempre appoggiato durante questi anni, che ha sopportato i miei (altalenanti) ritmi di studio e che ha reso finanziariamente possibile questo risultato, quindi grazie a mamma Lorenza e papà Pier Giorgio. Per quanto riguarda la stesura di questa tesi vorrei ringraziare il mio professore Marco Ronchetti che mi ha fatto conoscere GraphiTech. Un grazie enorme va a Raffaele De Amicis e Giuseppe Conti, per avermi accettato, prima come stagista, nonostante le mie pressoché nulle conoscenze di Computer Graphics, e dopo come tesista. Non posso dimenticare di ringraziare Stefano Piffer e Gabrio Girardi, per l aiuto indispensabile che mi hanno dato, sia durante lo sviluppo del progetto, che nella fase di scrittura dell elaborato e per i tanti consigli. Un grazie anche a Martin Witzel, per aver sopportato le mie lacune ad inizio stage e per avermi invogliato e inserito nei progetti, rispondendo alle molte, forse troppe, domande. Un grazie a tutti gli amici conosciuti Olga, Bita, Gianpaolo, Consuelo, Michael, Augusta, Arben, e Andrea con i quali ho trascorso, con chi più e con chi meno, questo anno di lavoro, tra stage e tesi. Ed eccoci ai ringraziamenti meno formali e più goliardici verso gli amici di università e non. Grazie a Secco, Perzem, Paru compagni inseparabili nelle lunghe e troppo mattutine trasferte verso la facoltà di Povo e nei lunghi e troppo mattutini rientri a casa post-serata. Grazie a tutta la Calimocho Boys Band (+Giò) e ai Daft Punk (il più bel concerto di sempre ) per aver trasformato questa estate, all inizio poco invitante, in una estate indimenticabile. Grazie a Cesenatico Grazie agli amici ormai di vecchia data, quelli veri, che hanno arricchito la mia vita e che continuano a farlo: Massimella, Mit, Toss, Mecchenzie, Otzi, Bettina, Matteo, Giulia, Cannamozza, le sorelle Gamberinus, Toldo Veramente grazie a Giulia, per esserci sempre (o quasi), per ricordarmi la bellezza delle piccole cose, per l entusiasmo che sai metter in tutto, ma soprattutto Grazie per le traduzioni. Potrei continuare con i ringraziamenti per molte pagine, ma sono sicuro che chi non ho citato non se la prenderà se lo segni e me lo ricordi alla prossima Laurea! Michele 3

4 Indice 1. Introduzione Definizioni, Acronimi e Abbreviazioni Riferimenti Anteprima Requisiti e Tools di Sviluppo Java e IDE Utilizzati Eclipse JBuilder PostgreSQL OpenGL JOGL Stato dell Arte GIS Applicativi GoogleEarth API WorldWind Funzionalità Avanazate per la Trasmissione di Dati Georeferenziati Introduzione allo Standard GeoRSS Specifiche GeoRSS Applicazione per la Gestione di Dati GeoRSS attraverso Database OpenGL Introduzione a OpenGL Modello di Macchina a Stati 5.3. Principali Primitive Texturing Blending JOGL OpenGL per Java Personalizzazione Ambiente Tridimensionale Gestione Trasparenze Tematismo Gestione Informazioni GeoRSS Conclusioni Campi d Impiego Possibili Sviluppi ScreenShots Bibliografia 87 4

5 1. Introduzione Il corso di studi in Informatica dell Università di Trento, prevede lo svolgimento di uno stage, per permettere agli studenti una più completa formazione universitaria in vista di un futuro inserimento nel campo lavorativo. Dopo un interessante colloquio con il mio tutor universitario, professor Ronchetti Marco, ed aver deciso l ambito del tirocinio, su suggerimento dello stesso, mi sono messo in contatto con la Fondazione GraphiTech. La Fondazione GraphiTech, Center for Advanced Computer Graphics Technologies, è stata costituita come joint venture tra la Fondazione INI- GraphicsNet (www.inigraphics.net), il Centro per la Ricerca Scientifica e Tecnologica (ITC-irst) (www.itc.it) e l'università di Trento (www.unitn.it) al fine di incentivare sul territorio trentino iniziative di ricerca scientifica e tecnologica nel campo della computer graphics e di favorire il trasferimento tecnologico e lo sviluppo della cultura imprenditoriale in questo settore disciplinare. La Fondazione, collabora con enti, società sia pubblici che privati, sia italiani che stranieri, per promuovere e organizzare attività ed iniziative di ricerca scientifica e tecnologica, di trasferimento delle conoscenze, di promozione e sviluppo della cultura imprenditoriale, dello sviluppo economico, sociale e culturale, il tutto con preminente riferimento all area della Provincia Autonoma di Trento, ma senza che ciò comporti limitazioni territoriali. Le attività ed iniziative spaziano anche nel campo imprenditoriale, volte ad agevolare ed incentivare l implementazione, l applicazione e l industrializzazione, sia nel mondo delle imprese sia della pubblica amministrazione, di idee, innovazioni, konw-how, tecnologie, esperienze e competenze sviluppati dall Università, da altri istituti o enti che abbiano svolto attività di ricerca. A tale fine, l azienda partecipa anche a progetti finanziati dall Unione Europea (UE), dalla Repubblica Italiana (RI) e da altri enti e organizzazioni, sia pubblici che privati che mirano a favorire il trasferimento tecnologico alle imprese facilitandone l avviamento e lo sviluppo. GraphiTech è un azienda orientata principalmente all innovazione, Ricerca e Sviluppo nella vasta area della Advanced Computer Graphics (ACG), della Virtual Reality (VR), della Mixed Reality (MR) e delle tecnologie dell informazione e della comunicazione Information and Comunication Systems (ICS). Dopo aver svolto l attività di stage sul progetto europeo Improve, riguardante la visualizzazione e la comunicazione tra clients in ambiente virtuale collaborativo ( ), ho deciso di continuare il mio percorso di formazione in GraphiTech, svolgendo anche il mio progetto di tesi. L ambito progettuale sul quale ci si è indirizzati è stata la modifica e implementazione di alcune funzionalità del software base World Wind per permettere la visualizzazione e la trasmissione di dati georeferenziati. Il prodotto derivato prenderà nome di Project Anna. Project Anna è una personalizzazione e ottimizzazione della libreria open-source World Wind, sviluppata dalla NASA, che permette di visualizzare immagini e oggetti tridimensionali di qualsiasi zona del pianeta, combinando foto satellitari, aeree e dati SRTM (Shuttle Radar Topography Mission). 5

6 Numerosi sono i software per la visione e navigazione delle mappe satellitari, La parte riguardante la trasmissione dei dati georeferenziati, invece, avviene grazie al supporto dell innovativo formato GeoRSS. Si tratta di un formato leggero e basato su XML ideato con lo scopo di georeferenziare il contenuto dei feed RSS. Il percorso di sviluppo di tesi è stato sostanzialmente diviso in due parti: 1. La fase di implementazione dell applicazione per la gestione di un database di dati GeoRSS. 2. La fase di sviluppo di Project Anna per supportare alcune nuove funzionalità rispetto alla versione base. Entrambi le fasi sono state precedute da un periodo di ricerca e comprensione degli obiettivi finali da raggiungere e delle tecniche migliori da adottare per affrontare lo sviluppo dell applicazione. Nella prima parte le lacune su alcuni concetti dell interazione tra linguaggio Java e database sono stato abbastanza rapidamente colmate, invece le difficoltà pervenute in Project Anna sono state decisamente più consistenti e sono state superate con diversi tentativi pratici e con lo studio del codice, molto vasto e a tratti complicato. Gli obiettivi preposti sono stati, comunque, raggiunti e saranno una buona base per un ulteriore sviluppo del progetto che GraphiTech continuerà a portare avanti Definizioni, Acronimi e Abbreviazioni API (Application Programming Interface): insieme di procedure disponibili al programmatore, raggruppate a formare un set di strumenti specifici per un determinato compito. ARB (Architectural Review Board): consorzio indipendente fondato nel 1992 che governa le specifiche OpenGL e che ha approvato la più famosa ed utilizzata tra le librerie di estensioni, denominata appunto ARB. Essa comprende funzioni e comandi stabili, supportati dalla maggior parte degli hardware. BSD (Berkeley Software Distribution): famiglia di licenze permissive per software. Molte sono considerate libere ed open source. Il loro nome deriva dal fatto che la licenza BSD originale fu usata originariamente per distribuire il sistema operativo Unix Berkeley Software Distribution, una revisione libera di UNIX sviluppata presso l'università di Berkeley. CVS (Concurrent Versioning System): sistema per il controllo delle versioni di un progetto software. Molto utilizzato in ambiente GNU/Unix, ed ovviamente in ambiente Linux, sta acquistando molta popolarità tra gli sviluppatori di tutto il mondo in quanto utilizzato da tutti i maggiori team di sviluppo dei progetti GNU. CVS permette di creare una history di tutti i sorgenti, registrando ogni modifica, ed associando ad ogni sorgente un numero di revisione comprensivo di un breve commento sulle modifiche apportate. Con CVS, è inoltre possibile recuperare, in ogni momento, qualsiasi versione precedente del progetto per poterla modificare, ed è stato disegnato per essere utilizzato da un team di sviluppo, garantendo che i sorgenti restino sempre consistenti, impedendo che le modifiche apportate da uno sviluppatore vengano soprascritte da altri. Infine, permette di esportare le differenze fra due release diverse dello stesso progetto, creando i famosi file di patch. DBMS (Database Management System): sistema software progettato per consentire la creazione e manipolazione efficiente di database, ovvero di collezioni di dati strutturati. 6

7 DirectX (in origine chiamata "Game SDK"): è una collezione di API per lo sviluppo semplificato di videogiochi per Windows. Il kit di sviluppo (SDK) è disponibile gratuitamente sul sito della Microsoft. Le DirectX venivano distribuite dai produttori di giochi stessi insieme al videogioco, ma sono ora incluse direttamente in Windows. DOM (Document Object Model): un interfaccia neutrale che permette ai programmi e agli script di accedere dinamicamente ai documenti. Tale interfaccia permette di aggiornare il contenuto, la struttura e lo stile dei documenti. DTM (Digital Terrain Model): modello digitale del terreno, raster (griglia) o vettoriale, ricavato dalla scansione di fotografie aeree o satellitari. GEORSS (Geographically Encoded Objects for RSS feeds): formato leggero e basato anch esso su XML ideato con lo scopo di georeferenziare il contenuto dei feed RSS. GIS (Geographic Information System): sistema informativo computerizzato che permette l'acquisizione, la registrazione, l'analisi, la visualizzazione e la restituzione di informazioni derivanti da dati geografici georeferenziati. GL (Graphics Library): libreria OpenGL di base, contiene codice per oggetti geometrici primitivi, attributi, trasformazioni, colore, illuminazione... GLU (Graphics Library Utilities): contiene codice per oggetti non primitivi di uso comune (es. sfere), ed altre funzioni di utilita', implementate su GL. GLUT (Graphics Library Utility Toolkit): funzionalità minimali per dotare un programma che fa grafica in OpenGL di un'interfaccia utente in un ambiente a finestre. GML (Geography Markup Language): grammatica XML definita dal OGC per esprimere oggetti geografici. Serve come linguaggio di modellazione e di interscambio di dati via Internet. Molto più ampio del formato GeoRSS. GUI (Graphical User Interface): paradigma di sviluppo che mira a consentire all'utente di interagire col calcolatore manipolando graficamente degli oggetti, svincolandolo dall'obbligo di imparare una serie di comandi da impartire con la tastiera. È lo strato di un'applicazione software che si occupa del dialogo con l'utente del sistema utilizzando un ambiente grafico. IDE (Integrated Development Environment): software che aiuta i programmatori nello sviluppo del software. Normalmente consiste in un editor di codice sorgente, un compilatore e/o un interprete, un tool di building automatico, (solitamente) un debugger e designer per GUI. 7

8 JDBC (Java DataBase Connectivity): middleware per database che consente l'accesso alle basi di dati da qualsiasi programma scritto con il linguaggio di programmazione Java, indipendentemente dal tipo di DBMS utilizzato. È costituito da una API, raggruppata nel package java.sql, che serve ai client per connettersi a un database. Fornisce metodi per interrogare e modificare i dati. È orientata ai database relazionali ed è Object Oriented. JDK (Java Development Kit): è il corredo di sviluppo del Java, comprende compilatore Java e alcuni applicativi che permettono agli utenti di generare le applicazioni in Java. JOGL (Java OpenGL): libreria a basso livello per la programmazione OpenGL con supporto Java simile alla libreria GLUT per il C++. Khronos Group: consorzio industriale focalizzato nella creazione di API a standard aperto COLLAD, OpenGL ES, OpenMAX, OpenVG, OpenSL ES e OpenML per rendere possibile l'authoring e l'accelerazione di elementi multimediali dinamici su una grande varietà di piattaforme e dispositivi. KML (Keyhole Markup Language):un linguaggio basato su XML creato per gestire dati geospaziali in tre dimensioni nei programmi Google Earth, Google Maps e Google Mobile. La parola keyhole è un vecchio nome che viene dal software da cui deriva Google Earth. NASA (National Aeronautics and Space Administration): agenzia governativa civile responsabile per il programma spaziale degli Stati Uniti d'america e per la ricerca aerospaziale civile e militare. Obiettivo delle API è ottenere un'astrazione, di solito tra l'hardware e il programmatore, o tra software a basso ed alto livello. OGC (Open Geospatial Consortium): organizzazione internazionale no-profit, basata sul consenso volontario, che si occupa di definire specifiche tecniche per i servizi geospaziali e di localizzazione (location based). OGC è formato da oltre 280 membri (governi, industria privata, università) con l'obiettivo di sviluppare ed implementare standard per il contenuto, i servizi e l'interscambio di dati geografici che siano "aperti ed estensibili. OpenGL (Open Graphics Library): specifica che definisce una API per più linguaggi e per più piattaforme per scrivere applicazioni che producono computer grafica 2D e 3D. Pipeline: Il termine pipeline in informatica e in elettronica si riferisce a un manufatto composto da più elementi. Ogni elemento provvede a ricevere in ingresso un dato o un segnale, ad elaborarlo e poi a trasmetterlo all'elemento successivo. RAD (Rapid Application Development): metodologia di sviluppo del software introdotta inizialmente da James Martin negli anni ottanta. Questa metodologia coinvolge modelli di sviluppo iterativi, la costruzione di prototipi e l'utilizzo di strumenti CASE 8

9 Raster: Metodologia per la codifica delle informazioni che utilizza come elemento base una matrice ordinata di righe e colonne composta da celle (o pixel) aventi forma regolare (generalmente quadrata). A ogni cella viene associato un valore relativo a un determinato attributo. Le immagini digitali hanno struttura raster. Rasterizing: La rasterizzazione è il lavoro di convertire un immagine bidimensionale descritta da vettori (in grafica vettoriale), in un immagine raster o bitmap, ovvero formata da pixels. Questo lavoro è effettuato sia per ottenere un immagine proiettabile su dispositivi video, come i monitors, sia per la stampa. RDF(Resource Description Framework.): formato strutturato per la diffusione delle informazioni sul web. Creato secondo le direttive del W3C per la descrizione dei metadati relativi alle risorse. Questa struttura è una delle proposte alla base del cosiddetto web semantico e permette la condivisione di informazioni via web. RSS (RDF Site Summary e Really Simple Syndication): uno dei più popolari formati, per la distribuzione di contenuti Web, basati su XML, da cui ha ereditato semplicità, l'estensibilità e la flessibilità. SAX (Simple API for XML): interfaccia standard per il parsing XML basato su eventi, sviluppato in collaborazione dai membri della mailing list XML-DEV, attualmente presentato da OASIS. Shapefile ESRI: è un popolare formato vettoriale per sistemi informativi geografici. Emesso come (quasi) open source, allo scopo di accrescere l'interoperabilità fra i sistemi ESRI e altri GIS. Di fatto è diventato uno standard per il dato vettoriale spaziale, e viene usato da una grande varietà di sistemi GIS. SQL (Structured Query Language): linguaggio creato per l'accesso e la manipolazione delle informazioni memorizzate in database. SWT (Standard Widget Toolkit): libreria di classi Java derivata da Eclipse che permette di creare interfaccie grafiche native, utilizzando quindi oggetti del sistema operativo utilizzato. Syndication: usato in termini giornalistici indica la vendita attraverso un agenzia di stampa. In termini informatici indica il contratto tra chi pubblica e chi diffonde notizie via web. TIN (Triangulated Irregular Networks): è una struttura dati vettoriale basata su triangoli con maglia irregolare, capace di fornire elevata risoluzione solo dove questa è necessaria. UML (Unified Modeling Language): linguaggio di modellazione e specifica basato sul paradigma objectoriented. USGS (United States Geological Survey): è un'agenzia scientifica del Governo degli Stati Uniti. Gli scienziati dell'usgs studiano il territorio degli USA, le sue risorse naturali e i rischi naturali che lo minacciano. L'organismo si suddivide in dipartimenti che trattano quattro maggiori discipline scientifiche, biologia, geografia, geologia e idrologia. 9

10 W3C(World Wide Web Consortium): associazione, di circa 300 membri, tra cui le più famose multinazionali informatiche, con lo scopo di migliorare i protocolli e linguaggi esistenti per il World Wide Web e favorire lo sviluppo del Web stesso aiutandolo a mettere in mostra tutte le sue potenzialità. WMS (Web Map Service): con WMS si intende una specifica tecnica definita dall'ogc: OpenGIS Web Map Service Implementation Specification. Un OGC Web Map Service (WMS) produce dinamicamente mappe di dati spazialmente riferiti a partire da informazioni geografiche. Questo standard internazionale definisce una "mappa" come rappresentazione di informazioni geografiche restituendo un'immagine digitale idonea ad essere visualizzata sullo schermo di un computer. XML (extensible Markup Language): metalinguaggio creato e gestito dal W3C. La struttura dell'xml è composta da tag creati dallo sviluppatore, che hanno due caratteristiche: devono essere comprensibili e devono rispettare le regole di assegnazione dei nomi alle variabili, comuni a tutti i linguaggi di programmazione. XSD (XML Schema Definition): schema di definizione della struttura di un documento XML realizzato dal W3C. In pratica un documento XML rispetterà la struttura, definita nello Schema XML Riferimenti Descrizione del progetto. A cura della Fondazione GraphiTech. Documentazione per Sviluppatori del progetto World Wind. A cura della NASA. 10

11 1.3. Anteprima In sezione 2, si riportano i Requisiti da soddisfare per utilizzare l applicazione e i Tools di sviluppo adottati. In sezione 3, si illustra lo Stato dell Arte del progetto. In sezione 4, si illustra il formato GeoRSS e l applicazione sviluppata per la gestione del Database. In sezione 5, si riportano le caratteristiche principali della libreria grafica OpenGL e di quella JOGL per Java. In sezione 6, si descrive la Personalizzazione dell Ambiente Tridimensionale sviluppato. In sezione 7, si traggono le Conclusioni, i Futuri Sviluppi e i possibili Campi d Impiego. In sezione 8, vengono riportati alcuni ScreenShot dell applicazione. In sezione 9, si delinea la Bibliografia di riferimento. 2. Requisiti e Tools di Sviluppo Di seguito vengono riportate caratteristiche principali, requisiti e tools utilizzati durante la fase implementativa del progetto di tesi. Alcune caratteristiche elencate vengono riportate per una completa visione d insieme degli strumenti adottati, ma non rientrando nell ambito del progetto non sono state utilizzate Java e IDE Utilizzati Il modello classico di programmazione, conosciuto come paradigma procedurale, può essere riassunto in due parole: Divide et Impera ossia dividi e conquista. Difatti secondo questa filosofia, un problema complesso viene suddiviso in problemi più semplici in modo che siano facilmente risolvibili mediante programmi procedurali. E chiaro che in questo caso, l attenzione del programmatore è accentrata al problema con le limitazioni che l architettura del calcolatore impone. A differenza del primo, il paradigma Object Oriented accentra l attenzione verso i dati. L applicazione viene suddivisa in un insieme di oggetti in grado di interagire tra di loro e codificati in modo tale che la macchina sia in gradi di comprenderli. Il primo cambiamento evidente è quindi a livello di disegno della applicazione. Di fatto l approccio Object Oriented non è limitato a linguaggi come Java o C++. Molte applicazione basate su questo modello sono state scritte con linguaggi tipo C o Assembler. Un linguaggio Object Oriented semplifica il meccanismo di creazione degli Oggetti allo stesso modo con cui un linguaggio procedurale semplifica la decomposizione in funzioni. Gli elementi fondamentali di tale paradigma sono gli oggetti che vengono, in un primo momento definiti, descrivendone le caratteristiche, poi creati e allocati in memoria ed infine vengono usati in relazione l'uno con l'altro. L analisi delle modalità di interazione tra gli oggetti permetterà di riunire gli oggetti a formare l applicazione. È possibile, quindi, stabilire una basilare distinzione tra i due metodi di programmazione: Nella programmazione tradizionale (o imperativa), i problemi vengono affrontati rivolgendo l'attenzione alle operazioni da svolgere: si cerca una decomposizione funzionale del problema. 11

12 Nella programmazione ad oggetti, si vuole innanzitutto stabilire quali sono le entità che interagiranno tra loro, ricreando un modello adatto per descrivere il problema da risolvere. Tali entità sono gli oggetti con determinate caratteristiche (attributi) e determinate funzionalità (metodi). Con l aumento delle prestazione dei calcolatori e di conseguenza con l aumento della complessità delle applicazioni, l approccio procedurale ha iniziato a mostrare i propri limiti rendendo necessario definire un nuovo modello e nuovi linguaggi di programmazione. I linguaggi come Java e C++ forniscono il supporto ideale al disegno ad oggetti di applicazioni fornendo un insieme di regole sintattiche e semantiche che aiutano nello sviluppo di oggetti. Evoluzione del Modello di Programmazione Il linguaggio Java inizia la sua evoluzione durante l aprile del 1991, quando un gruppo di impiegati della Sun Microsystem, conosciuti come Green Group, iniziarono a studiare la possibilità di creare una tecnologia in grado di integrare le allora attuali conoscenze nel campo del software con l elettronica di consumo. Avendo subito focalizzato il problema sulla necessità di avere un linguaggio indipendente dalla piattaforma (il software non doveva essere legato ad un particolare processore) il gruppo iniziò i lavori nel tentativo di creare un linguaggio che estendesse il C++ (la sintassi infatti è simile). La prima versione del linguaggio fu chiamata Oak e, successivamente per motivi di royalty??, Java. Cronologia Versioni Java Rilasciate JDK Settembre 1997 J2SE Maggio 2000 JDK Dicembre 1997 J2SE Maggio 2001 JDK Aprile 1998 J2SE Febbraio 2002 JDK Settembre 1998 J2SE Settembre 2002 JDK Aprile 1999 J2SE Giugno 2003 J2SE Dicembre 1998 J2SE 5.0(1.5.0) 29 Settembre 2004 J2SE Marzo 1999 Java SE 6 (1.6.0) 11 Dicembre 2006 J2SE Luglio 1999 Java SE 7 (1.7.0) Prevista per il 2008 Attraverso una serie di eventi, quella che era la direzione originale del progetto subì vari cambiamenti ed il target fu spostato dall elettronica di consumo al world wide web. Il 23 Maggio del 1995 la Sun ha prsentato formalmente Java. Da quel momento in poi il linguaggio è stato adottato da tutti i maggiori vendors di software incluse IBM, Hewlett Packard e Microsoft. 12

13 Java fu inizialmente rilasciato come Java Development Kit 1.0 (JDK 1.0). Java Development Kit è un insieme di strumenti ed utilità ed è messo a disposizione gratuitamente da tanti produttori di software. L insieme base o standard delle funzionalità è supportato direttamente da Sun Microsystem ed include un compilatore (javac), una Java Virtual Machine (java), un debugger e tanti altri strumenti necessari allo sviluppo di applicazioni Java. Inoltre il JDK comprende, oltre alle utilità a linea di comando, un completo insieme di classi pre-compilate e relativo codice sorgente. Successivamente, Sun fornì un pacchetto che comprendeva solo Java Runtime, chiamato Java RunTime Environment (JRE) che permetteva agli utenti finali di far girare applicazioni scritte in Java. Normalmente gli utenti si riferiscono ad una particolare versione di Java attraverso la versione del JDK (es. JDK 1.4) Le versioni JDK 1.2 e successive sono spesso chiamate Java 2. il nome ufficiale è quindi diventato Java(TM) 2 Platform, Standard editino (J2SE). Dalla prima versione del JDK il linguaggio non è stato sottoposto a grandi cambiamenti, ma la libreria di classi che viene fornita con JDK è stata progressivamente ampliata e modificata in alcune parti ed è stata creata una grande quantità di documentazione per poter usufruire al meglio della vastità di classi già implementate. La documentazione è generalmente distribuita separatamente, è rilasciata in formato HTML e scaricabile dal sito: e copre tutto l insieme delle classi rilasciate con il JDK. Java è stato creato cercando di tenere presente alcuni concetti fondamentali che stavano emergendo agli inizi di quegli anni e che sono, successivamente, diventati suoi punti di forza. Diamo ora una veduta d insieme delle principali e più famose caratteristiche di Java: 1. Affinità con il C e il C++ La similitudine sintattica con il più diffuso linguaggio di programmazione è grande; per esempio, le istruzioni for, if, else sono del tutto analoghe a quelle del C. Inoltre, per rendere il linguaggio più semplice e lineare, sono state eliminate in Java alcune caratteristiche del C e del C++, come le funzioni di allocazione e di liberazione della memoria e l'ereditarietà multipla. Altra caratteristica di Java sono le dimensioni ridotte del software, in modo che esso possa funzionare anche su sistemi molto piccoli. L'interprete, le classi e le "librerie" Java di base non superano nel loro complesso i 250 Kbytes. 2. Semplicità Il linguaggio Java è stato progettato per essere semplice. I programmatori della Sun ritengono che il C++ sia un linguaggio ridondante. Esso infatti deriva dal C, che non è orientato all'oggetto, a cui sono state aggiunte le classi al fine di creare un linguaggio orientato all'oggetto. La conseguenza di ciò è che inevitabilmente il C++ possiede caratteristiche che appartengono al C e che non rientrano nella filosofia dei linguaggi orientati all'oggetto. Per questa ragione, tutte le caratteristiche del C++ ritenute ridondanti sono state tolte da Java, in modo che quest'ultimo potesse divenire un linguaggio di programmazione più snello e facile da leggere. 3. Linguaggio orientato all'oggetto (Object-oriented) Per essere considerato orientato all'oggetto, un linguaggio di programmazione in linea di principio deve possedere almeno questi quattro requisiti: Incapsulamento: è possibile rendere riservata o astratta parte dell'informazione. Polimorfismo: gli stessi dati passati a oggetti differenti hanno effetti diversi a seconda dell'oggetto coinvolto. Ereditarietà: si possono definire classi sulla base di altre classi. Collegamento dinamico: gli oggetti possono provenire da qualsiasi luogo, compresa la rete. Java soddisfa piuttosto bene a queste quattro esigenze. 13

14 4. Gestione automatica della memoria In ogni programma Java è sempre attivo un thread a bassa priorità, detto Automatic Garbage Collection, che provvede ad analizzare la memoria e a liberare quella che non è utilizzata. Una volta che un oggetto è stato creato, il Garbage Collector in fase di esecuzione osserva la vita dell'oggetto e provvede a liberare la memoria occupata quando essa non viene più utilizzata dall'oggetto in questione. Ciò solleva il programmatore dal provvedere alla gestione della memoria, compito questo che in C e C++ conduce spesso all'introdurre errori che si verificano in fase di esecuzione dei programmi. 5. Neutralità all'architettura La neutralità dell'architettura rappresenta una caratteristica importante in un mondo informatico sempre maggiormente popolato dai più svariati sistemi hardware e sistemi operativi. Con la fortissima crescita delle reti telematiche questa esigenza è divenuta ancora più pressante. Inoltre, per sviluppare prodotti software per il World Wide Web, la neutralità dall'architettura costituisce un parametro assolutamente indispensabile. Java tenta di risolvere il problema adottando lo slogan: Write once, Run everywhere e affida l'esecuzione dei suoi programmi ad una macchina virtuale. Più specificatamente, un sorgente Java viene tradotto dal compilatore Java (javac) non in istruzioni macchina reali, ma in istruzioni macchina virtuali, i bytecodes. Sarà compito poi della macchina virtuale Java (l'interprete Java) di leggere ed eseguire queste istruzioni tramite la generazione "run time" del codice macchina reale specifico per il sistema su cui il programma Java viene eseguito. Portabilità del Codice Java 6. Linguaggio Robusto L'assenza di puntatori, il fatto che stringhe e array siano oggetti e la gestione automatica della memoria, conferiscono a Java una robustezza particolare. Oltre a ciò, il compilatore Java individua molte situazioni in cui un programma potrebbe provocare problemi e grazie ad un sistema per la gestione delle eccezioni riesce ad evitare moltissimi errori di esecuzione. 7. Dinamicità Java, permette di aggiornare le "librerie" di classi senza costringere gli utenti alla ricompilazione dei programmi. Alle classi in "libreria" si possono infatti aggiungere metodi e variabili senza che questo abbia effetto sui vecchi programmi. Ciò è possibile grazie al fatto che ogni classe in Java ha anche una rappresentazione "runtime" (bytecodes), la quale permette di individuare comunque il tipo di oggetti che l'utente richiede. 14

15 8. Sicurezza Siccome Java è stato progettato per funzionare in ambienti distribuiti o di rete, la sicurezza è un parametro molto importante. In fatto di sicurezza, Java offre innanzitutto la sue caratteristiche strutturali, ma oltre a ciò, Java è stato dotato di altre caratteristiche che provvedono ad aumentarne la sicurezza: la verifica dei bytecodes, la verifica durante il caricamento delle classi, l interfacciamento sicuro con i protocolli Internet ed in fine la crittografia. 9. Linguaggio distribuito Java possiede molte librerie (class java.net.*) che permettono facilmente l'accesso a risorse remote tramite protocolli basati sul TCP/IP, come lo HTTP. Tramite URL (class java.net.url) una applicazione Java può accedere a oggetti remoti come se essi fossero collocati su file presenti nel sistema ove essa funziona. 10. Linguaggio MultiThreading Java è un linguaggio Multi-Threaded. Il Multi-Threading consente ad applicazioni Java di sfruttare il meccanismo di concorrenza logica. Parti separate di un programma possono essere eseguite come se fossero (dal punto di vista del programmatore) processate parallelamente. 11. Interazione con i Browser per Internet Java possiede una classe apposita classe (class Applet) che permette di inserire in un documento HTML riferimenti ad applicativi (Applet) che possono essere eseguiti a distanza dai più diffusi browser. 12. Vasta scelta di Librerie e Standardizzazione Java possiede un enorme libreria di classi standard che forniscono al programmatore la possibilità di operare su funzioni comuni di sistema come la gestione delle finestre, dei collegamenti in rete e dell input/output. Il pregio fondamentale di queste classi sta nel fatto che rappresentano un astrazione indipendente dalla piattaforma, per un ampia gamma di interfacce di sistema utilizzate comunemente. Grazie ad alcune delle caratteristiche che il linguaggio offre, soprattutto per quel che riguarda la distribuzione su World Wide Web e grazie alla scelta di numerose librerie utilizzabili, GraphiTech ha deciso di appoggiarsi a Java per sviluppare il suo progetto e di conseguenza il lavoro di tesi si è basato su questo linguaggio. La versione Java adottata è l ultima finora rilasciata J2SE 6 con JRE scaricabile dal sito ufficiale della Sun Microsystem: Per sviluppare programmi in Java è teoricamente sufficiente un qualsiasi editor di testo. Per un programmazione abbastanza estesa e complicata esistono diversi IDE (Integrated Development Environment, ambiente di sviluppo integrato), alcuni gratuiti ed altri a pagamento Eclipse Eclipse è un progetto open source legato alla creazione e allo sviluppo di una piattaforma di sviluppo ideata da un consorzio di grandi società quali Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP e Serena Software, chiamato Eclipse Foundation, e creata da una comunità strutturata sullo stile dell'open source. Pur essendo orientata allo sviluppo del progetto stesso, questo IDE è utilizzato anche per la produzione di software di vario genere. Si passa infatti da un completo IDE per il linguaggio Java ad un ambiente di sviluppo per il linguaggio C++ e a plug-in che permettono di gestire XML, PHP e persino di progettare graficamente una GUI per un applicazione JAVA, rendendo di fatto Eclipse un ambiente RAD. 15

16 Il programma è scritto in linguaggio Java, ma anziché basare la sua GUI sulla libreria Swing di Java, il toolkit grafico di Sun Microsystems, si appoggia sul SWT, librerie di nuova concezione che conferiscono ad Eclipse una straordinaria reattività. Eclipse è strutturato con un'architettura a plug-in che permette l'aggiunta di ulteriori funzionalità semplicemente scaricando ed installando il relativo pacchetto. Inoltre grazie alla sua licenza open source chiunque può sviluppare e modificare i vari plug-in apportando così migliorie e nuove caratteristiche ad una piattaforma già notevolmente avanzata. Nella versione base è possibile programmare in Java, usufruendo di comode funzioni di aiuto quali: completamento automatico, suggerimento dei tipi di parametri o dei metodi, possibilità di accesso diretto a CVS e riscrittura automatica del codice in caso di cambiamenti nelle classi. Nel progetto di tesi, Eclipse è stato utilizzato come software principale per la personalizzazione dell ambiente virtuale di Project Anna, in quanto già adottato da GraphiTech per altri progetti. Essendo scritto in Java, Eclipse è disponibile per le piattaforme Linux, HP-UX, AIX, MacOSX e Windows. La versione di Eclipse è scaricabile dalla pagina web: JBuilder Uno degli IDE commerciali più diffusi è JBuilder prodotto dalla Borland. JBuilder è un IDE per lo sviluppo in Java prodotto da Borland e disponibile per i sistemi operativi Windows, Linux e Solaris. Fu introdotto sul mercato nel 1997, e da allora ha ricevuto numerosi premi internazionali come IDE più avanzato per lo sviluppo in Java. Dal progetto JBuilder sono anche derivati altri strumenti di successo, come JDeveloper di Oracle (basato su JBuilder) e Together (inizialmente concepito come plug-in di JBuilder e poi evoluto a prodotto indipendente). Per lo sviluppo della gestione database, contenente i dati georeferenziati, e per la creazione dell interfaccia grafica dell applicazione è stato utilizzato, grazie al suo designer integrato, Borland JBuilder 2006 in licenza gratuita Personal Edition e scaricabile dal sito: Al già avanzato IDE di JBuilder, in questa versione si aggiungono, capacità di collaborazione peer-to-peer che consentono ai team sempre più distribuiti di utilizzare la "programmazione tra colleghi virtuali", un importante aggiornamento del suo ambiente, leader di mercato, progettato per velocizzare lo sviluppo di applicazioni Java aziendali di classe industriale. JBuilder inoltre consente agli sviluppatori di ottimizzare migliaia di plug-in di terze parti, nonché di creare miglioramenti personalizzati. È possibile creare processi di workflow flessibili e personalizzati per attività quali change management o individuazione dei difetti, in modo da ottimizzare la produttività senza l'imposizione di rigide strutture. I team possono inoltre configurare personalità IDE per semplificare e personalizzare l'interfaccia di ogni progetto. La famosa case produttrice di JBuilder, la Borland è stata fra i membri fondatori della Eclipse Foundation, infatti la nuova versione di JBuilder 2007 è basata sulla piattaforma open source Eclipse, nonostante resti un prodotto commerciale a tutti gli effetti. 16

17 2.2. PostgreSQL PostgreSQL è un completo database relazionale ad oggetti con licenza libera stile (BSD). PostgreSQL è un'ottima alternativa rispetto ad altri prodotti a codice chiuso come Oracle, Informix o DB2. Offre caratteristiche uniche nel suo genere che lo pone per alcuni aspetti all'avanguardia nel settore dei database. PostgreSQL usa il linguaggio SQL per eseguire delle query sui dati. Questi sono conservati come una serie di tabelle con chiavi esterne che servono a collegare i dati correlati. La programmabilità di PostgreSQL è il suo principale punto di forza ed il principale vantaggio verso i suoi concorrenti: PostgreSQL rende più semplice costruire applicazioni per il mondo reale, utilizzando i dati prelevati dal database. I database SQL conservano dati semplici in tabelle, richiedendo che sia l'utente a prelevare e raggruppare le informazioni correlate utilizzando le query. PostgreSQL permette agli utenti di definire nuovi tipi basati sui normali tipi di dato SQL, permettendo al database stesso di comprendere dati complessi. PostgreSQL, inoltre, permette l'ereditarietà dei tipi, uno dei principali concetti della programmazione orientata agli oggetti. Inoltre la logica relazionale viene applicata direttamente dal server di database in una volta, riducendo il passaggio di informazioni tra il client ed il server incrementando le prestazioni. L incremento dell'affidabilità, è dovuto, invece alla centralizzazione del codice di controllo sul server, non dovendo gestire la sincronizzazione della logica tra molteplici client e i dati memorizzati sul server. Inserendo livelli di astrazione dei dati direttamente sul server, il codice del client può essere più snello e semplice. Questi vantaggi fanno di PostgreSQL, probabilmente, il più avanzato sistema database dal punto di vista della programmabilità, il che aiuta a spiegare il suo successo. Utilizzare PostgreSQL può ridurre fortemente il tempo totale di programmazione di molti progetti, con i vantaggi suddetti che crescono con la complessità del progetto stesso. In particolare, nel caso affrontato, PostgreSQL è stato introdotto sia per la sua caratteristica di avvicinamento alla programmazione ad oggetti, sia per la plug-in di supporto per la dichiarazione di dati georeferenziati, PostGIS. Grazie a PostGIS, sviluppato dalla Refractions Research Inc. come progetto di ricerca sulla tecnologia spaziale per i database, si possono manipolare ed usare diverse geometrie: point, line, polygon, multipoint, multiline, multipolygon e geometrycollections. Attualmente PostGis è integrato al database PostgreSQL scaricabile dal sito ufficiale: La plug-in per la georeferenziazione è scaricabile anche separatamente dalla pagina web: Per il progetto di tesi, si è deciso di avvalersi anche di PGAdminIII, software per la visualizzazione e gestione grafica dei database PostgreSQL. PGAdminIII è un tool gratuito ad interfaccia grafica, sviluppato da una comunità di esperti PostgreSQL, scaricabile dal sito: di notevole aiuto per la facilità d uso e la velocità di inserimento dei dati OpenGL OpenGL è una potente libreria grafica che risolve si pone il compito di interfacciarsi con l'hardware e fornire al programma client una serie di primitive, più o meno essenziali, per lo sviluppo di applicazioni nel campo del rendering tridimensionale. 17

18 Queste primitive comprendono funzioni per la manipolazione dei pixel, per la proiezione di poligoni in 3D e per la gestione del movimento degli stessi, per la rappresentazione di luci e colori, per il Texture mapping etc. Il prefisso Open sta ad indicare che OpenGL è una architettura aperta, ciò significa che il suo sviluppo è curato non da una singola azienda, ma da una associazione di industrie leader del settore (ATI, Compaq, IBM, nvidia, Hewlett- Packard, Silicon Graphics) che hanno dato vita all'arb (Architectural Review Board). Questa organizzazione, nata nel 1992, ha avuto il compito di sviluppare e standardizzare gli aggiornamenti di OpenGL fino al 2006, quando gli standards OpenGL sono entrati a far aperte del Khornos Group che sostituisce la funzione della precedente associazione ARB. Una delle peculiarità di OpenGL che la distingue immediatamente dalle sue rivali (ad esempio DirectX di Microsoft) è la portabilità. Infatti è disponibile su tutte le piattaforme più diffuse, Unix, Linux, Windows, Mac, Solaris etc. OpenGL è oggi una delle più valide e potenti librerie grafiche disponibili e lo dimostra il fatto che grandi Software House specializzate nel campo dei videogames l'hanno scelta per sviluppare i propri prodotti. Tra i titoli targati OpenGL troviamo Quake2, Quake3 e Doom III della ID Software, Unreal Tournament 1 e 2 della Epic Games, oppure Half Life e tanti altri. Per quanto riguarda la possibilità di utilizzare OpenGL nel proprio linguaggio preferito, nonostante essa sia stata sviluppata inizialmente per essere utilizzata attraverso il linguaggio C, è disponibile in un'ampia varietà di linguaggi tra i quali C++, Java, Delphi e il neonato C# (C sharp di Microsoft). OpenGL è scaricabile gratuitamente dai siti ufficiali delle aziende facenti parte dell ARB, ovviamente ogni azienda ha personalizzato le versioni della libreria a seconda delle proprie esigenze lasciando comunque inalterate le funzionalità base della specifica JOGL Jogl è una libreria wrapper che consente l uso delle librerie OpenGL con il linguaggio di programmazione Java. Il progetto Jogl deve essere ancora completato e la libreria è ancora sotto sviluppo da parte del Game Technology Group presso la Sun Microsystem. Jogl è l implementazione di riferimento per JSR-231 (Java Binding for OpenGL), un API disegnata a supporto delle versioni più recenti di Java dalla release J2SE 1.4 alle successive. L albero sorgente di JOGL nella sua forma corrente è, appunto, uno spazio di lavoro sperimentale per il JSR-231 Java Bindings per OpenGL. JOGL quindi, non è l implementazione ufficiale di riferimento, ma uno spazio di lavoro in evoluzione. Questa è stata la libreria di riferimento per il progetto di tesi, scaricabile dal sito web: https://jogl.dev.java.net con una vasta documentazione, numerosi esempi di utilizzo e forum. 3. Stato dell Arte Lo sviluppo continuo di tecnologie informatiche ed elettroniche permettono oggi, ad un numero sempre più elevato di persone, di utilizzare sistemi basati su realtà virtuale sempre più complessi. L utilizzo di tali ambienti spazia dai più articolati software di simulazione scientifica ai comuni videogiochi. 18

19 Sono sempre più, i campi applicativi che richiedono l ausilio di particolari software in grado di rappresentare diverse tipologie di dati all interno di scenari tridimensionali virtuali. Quest ultima area, grazie ad un enorme diffusione e un conseguente abbattimento dei costi, ha permesso di sviluppare sistemi per la simulazione di ambienti virtuali con scenari di ampi spazi aperti. Oggi questi sistemi permettono la visualizzazione d informazioni territoriali finora accessibili solo in maniera cartacea e con uno spreco di risorse elevato. Attualmente, grazie all integrazione di dati GIS con informazioni correlate a luoghi od elementi presenti su un determinato territorio, è possibile ottenere sistemi in grado di legare tali dati alla corrispettiva area geografica. La navigazione tridimensionale, la visualizzazione di mappe tematiche, la pianificazione di business in determinate regioni, sono solo alcuni aspetti facenti parte di una vasta gamma di applicazioni connesse all informazione georeferenziata. Uno dei settori che ha tratto un sicuro vantaggio dallo sviluppo di queste tecnologie è il settore turistico, che utilizza questi software per pubblicizzare e valorizzare luoghi naturali e culturali poco conosciuti GIS La definizione per delineare caratteristiche, componenti e funzionalità di un sistema GIS non è mai stata univoca, ma ha subito diverse variazioni, anche a seconda delle nuove tecnologie sviluppate e dei nuovi concetti di lavoro collaborativo tra diversi sistemi. Quella che forse esprime meglio un sistema GIS è quella di P.A.Burrough del 1986: Il GIS è composto da una serie di strumenti software per acquisire, memorizzare, estrarre, trasformare e visualizzare dati spaziali dal mondo reale. Dagli anni 80 fino ad oggi il concetto di Sistema Informativo Geografico si è evoluto, dando così di volta in volta un diverso significato alla S finale dell acronimo GIS, e cambiando anche l ambito di utilizzo del sistema: Anni 1980: Geographic Information Systems. Tecnologia per l acquisizione e la gestione di dati spaziali. software per uso professionale, es. cartografi Anni 1990s: Geographic Information Science. messa a punto dei modelli concettuali di descrizione dei dati e dei processi nello spazio e nel tempo. Teoria e modelli concettuali su cui si basa la tecnologia. Anni 1990s: Geographic Information Studies. Definizione degli aspetti sociali, legali ed etici associati all uso e all applicazione dei GIS. Anni 2000s: Geographic Information Services. Siti Web e servizi web per gli utenti (es. Siti cartografici delle regioni, interrogazioni su percorsi, ecc ). L acronimo GIS (Geographic Information System), è possibile ormai definirlo come un ambiente informativo in grado di rappresentare, organizzare e processare dati georeferenziati. Il GIS offre uno strumento completo adatto alla rappresentazione del territorio ed al trattamento delle informazioni associate agli oggetti georeferenziati: 19

20 Geographic: tratta oggetti per i quali è possibile stabilire una localizzazione sulla superficie terreste. A questi oggetti (punti, linee, aree) sono assegnate le coordinate spaziali congruenti con la base cartografica di riferimento. Information: gestisce dati relativi agli oggetti geografici e consente di recuperare informazioni (analisi, valori, ecc ). System: la sua struttura è costituita da numerosi elementi che si integrano e concorrono al raggiungimento degli obiettivi finali. Esempio di Struttura GIS In particolare un applicazione GIS è un prodotto che permette di visualizzare delle informazioni tipo: Modelli digitali del terreno (DTM); Ortofoto satellitari o aeree; Geometrie. Prima di poter essere utilizzate, tali informazioni devono subire un processo di geo-referenziazione,vengono trovate delle corrispondenze e successivamente sfruttate per poter eseguire una perfetta sovrapposizione. Il mondo reale può essere rappresentato in un sistema informativo geografico attraverso due tipologie principali di dato: il dato vettoriale e il dato raster: Il dato raster permette di rappresentare il mondo reale attraverso una matrice di celle, generalmente di forma quadrata o rettangolare, dette pixel. A ciascun pixel sono associate le informazione relative a ciò che esso rappresenta sul territorio. La dimensione del pixel (detta anche pixel size), generalmente espressa nell'unità di misura della carta (metri, chilometri etc.), è strettamente relazionata alla precisione del dato.generalmente vengono rappresentati in questo formato il DTM e le immagini. I dati vettoriali sono costituiti da elementi semplici quali punti, linee e poligoni, codificati e memorizzati sulla base delle loro coordinate. Un punto viene individuato in un sistema informativo geografico attraverso le sue coordinate reali (x1, y1); una linea o un poligono attraverso la posizione dei sui nodi (x1, y1; x2, y2;...). A ciascun elemento è associato un record del database informativo che contiene tutti gli attributi dell'oggetto rappresentato. Questo formato è utile per rappresentare oggetti e percorsi. I dati vettoriali e i dati raster si adattano ad usi diversi. La cartografia vettoriale è particolarmente adatta alla rappresentazione di dati che variano in modo discreto (ad esempio l'ubicazione dei cassonetti dei rifiuti di una città o la rappresentazione delle strade o una carta dell'uso del suolo), la cartografia raster è più adatta alla rappresentazione di dati con variabilità continua (ad esempio un modello digitale di elevazione o una carta di acclività del versante). Per la rappresentazione dei dati in un GIS occorre formalizzare un modello rappresentativo flessibile che si adatti ai fenomeni reali, ne esistono difatti diverse tipologie di informazioni per una più facile strutturazione del modello: Geometrica: relative alla rappresentazione cartografica degli oggetti rappresentati; quali la forma (punto, linea, poligono), la dimensione e la posizione geografica; Topologica: riferite alle relazioni reciproche tra gli oggetti (connessione, adiacenza, inclusione ecc ); Informativa: riguardanti i dati (numerici, testuali ecc ) associati ad ogni oggetto. 20

RELAZIONE DI FINE TIROCINIO

RELAZIONE DI FINE TIROCINIO Dipartimento di Ingegneria Civile Laura Magistrale in Ingegneria Civile per la Protezione dai Rischi Naturali A.A. 2014-2015 RELAZIONE DI FINE TIROCINIO INTRODUZIONE ALL'USO DEL SOFTWARE GIS UDIG Tirocinante:

Dettagli

GIS più diffusi. Paolo Zatelli. Dipartimento di Ingegneria Civile ed Ambientale Università di Trento. GIS più diffusi

GIS più diffusi. Paolo Zatelli. Dipartimento di Ingegneria Civile ed Ambientale Università di Trento. GIS più diffusi GIS più diffusi GIS più diffusi Paolo Zatelli Dipartimento di Ingegneria Civile ed Ambientale Università di Trento Paolo Zatelli Università di Trento 1 / 19 GIS più diffusi Outline 1 Free Software/Open

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

Introduzione al GIS (Geographic Information System)

Introduzione al GIS (Geographic Information System) Introduzione al GIS (Geographic Information System) Sommario 1. COS E IL GIS?... 3 2. CARATTERISTICHE DI UN GIS... 3 3. COMPONENTI DI UN GIS... 4 4. CONTENUTI DI UN GIS... 5 5. FASI OPERATIVE CARATTERIZZANTI

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Cartografia di base per i territori

Cartografia di base per i territori Cartografia di base per i territori L INFORMAZIONE GEOGRAFICA I dati dell informazione geografica L Amministrazione Regionale, nell ambito delle attività di competenza del Servizio sistema informativo

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Soggetto proponente (docente, gruppo di docenti e struttura didattica) Facoltà di Pianificazione del Territorio, prof.

Soggetto proponente (docente, gruppo di docenti e struttura didattica) Facoltà di Pianificazione del Territorio, prof. Soggetto proponente (docente, gruppo di docenti e struttura didattica) Facoltà di Pianificazione del Territorio, prof. Luigi Di Prinzio Titolo del master Informazione Ambientale e Nuove Tecnologie II livello

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Cognome/i nome/i Castelli Flavio Email flavio.castelli@gmail.com Sito web personale http://www.flavio.castelli.name Nazionalità Italiana Data di nascita

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

Dettagli

Studio di retribuzione 2014

Studio di retribuzione 2014 Studio di retribuzione 2014 TECHNOLOGY Temporary & permanent recruitment www.pagepersonnel.it EDITORIALE Grazie ad una struttura costituita da 100 consulenti e 4 uffici in Italia, Page Personnel offre

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Mario Polito IARE: Press - ROMA

Mario Polito IARE: Press - ROMA Mario Polito info@mariopolito.it www.mariopolito.it IMPARARE A STUD IARE: LE TECNICHE DI STUDIO Come sottolineare, prendere appunti, creare schemi e mappe, archiviare Pubblicato dagli Editori Riuniti University

Dettagli

Posta Elettronica. Claudio Cardinali claudio@csolution.it

Posta Elettronica. Claudio Cardinali claudio@csolution.it Posta Elettronica Claudio Cardinali claudio@csolution.it Posta Elettronica: WebMail Una Webmail è un'applicazione web che permette di gestire uno o più account di posta elettronica attraverso un Browser.

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

DigitPA egovernment e Cloud computing

DigitPA egovernment e Cloud computing DigitPA egovernment e Cloud computing Esigenze ed esperienze dal punto di vista della domanda RELATORE: Francesco GERBINO 5 ottobre 2010 Agenda Presentazione della Società Le infrastrutture elaborative

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting.

explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting. explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting.it Procedura di gestione per Laboratori di Analisi Cliniche Pag.

Dettagli

Prospettive di collaborazione: dall anagrafe agli authority file

Prospettive di collaborazione: dall anagrafe agli authority file Prospettive di collaborazione: dall anagrafe agli authority file di Marco Paoli Eccellenze, autorità, colleghi bibliotecari, già con la firma dell Intesa fra CEI e MiBAC (18 aprile 2000) relativa alla

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testualilezione 2 Le principali tecniche di analisi testuale Facendo riferimento alle tecniche di data mining,

Dettagli

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONNECTING FIRST AND SECOND LIFE Università degli studi di Catania Facoltà di Ingegneria 26 Gennaio 2009 Sommario 1 Introduzione 2 Middleware Middleware:

Dettagli

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

Dettagli

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

Dettagli

Istituto per l Energia Rinnovabile. Autori: David Moser, PhD; Daniele Vettorato, PhD. Bolzano, Gennaio 2013

Istituto per l Energia Rinnovabile. Autori: David Moser, PhD; Daniele Vettorato, PhD. Bolzano, Gennaio 2013 Istituto per l Energia Rinnovabile Catasto Solare Alta Val di Non Relazione Versione: 2.0 Autori: David Moser, PhD; Daniele Vettorato, PhD. Coordinamento e Revisione: dott. Daniele Vettorato, PhD (daniele.vettorato@eurac.edu)

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231

LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED ANALYTICS WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it www.technologytransfer.it ADVANCED ANALYTICS

Dettagli

Plesk Automation. Parallels. Domande tecniche più frequenti

Plesk Automation. Parallels. Domande tecniche più frequenti Parallels Plesk Automation Primo trimestre, 2013 Domande tecniche più frequenti Questo documento ha come scopo quello di rispondere alle domande tecniche che possono sorgere quando si installa e si utilizza

Dettagli

RELAZIONI TRA SERVIZI PER L IMPIEGO

RELAZIONI TRA SERVIZI PER L IMPIEGO RELAZIONI TRA SERVIZI PER L IMPIEGO E AZIENDE-UTENTI L IMPATTO DELLE PROCEDURE INFORMATIZZATE a cura di Germana Di Domenico Elaborazione grafica di ANNA NARDONE Monografie sul Mercato del lavoro e le politiche

Dettagli

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi Il portafoglio VidyoConferencing Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi La qualità HD di Vidyo mi permette di vedere e ascoltare

Dettagli

CA Business Intelligence

CA Business Intelligence CA Business Intelligence Guida all'implementazione Versione 03.2.00 La presente documentazione ed ogni relativo programma software di ausilio (di seguito definiti "Documentazione") vengono forniti unicamente

Dettagli

GESTIONE ATTREZZATURE

GESTIONE ATTREZZATURE SOLUZIONE COMPLETA PER LA GESTIONE DELLE ATTREZZATURE AZIENDALI SWSQ - Solution Web Safety Quality srl Via Mons. Giulio Ratti, 2-26100 Cremona (CR) P. Iva/C.F. 06777700961 - Cap. Soc. 10.000,00 I.V. -

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali AlboTop Software di gestione Albo per Ordini Assistenti Sociali Introduzione AlboTop è il nuovo software della ISI Sviluppo Informatico per la gestione dell Albo professionale dell Ordine Assistenti Sociali.

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012 Marco Giorgi Palazzo di Giustizia di Torino 30 marzo 2012 Post mortem (Dopo lo spegnimento del sistema) Si smonta il dispositivo e lo si collega ad un PC dedicato all'acquisizione Live forensics (Direttamente

Dettagli

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis 2 Intervento immediato con Bosch Intelligent Video Analysis Indipendentemente da quante telecamere il sistema utilizza, la sorveglianza

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli