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 ( il Centro per la Ricerca Scientifica e Tecnologica (ITC-irst) ( e l'università di Trento ( 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: 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

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource I servizi OGC Forestello Luca - Niccoli Tommaso - Sistema Informativo Ambientale AT01 http://webgis.arpa.piemonte.it

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ APP Mobile MIGLIORA LA QUALITÀ DEL RAPPORTO CON I CLIENTI, SCEGLI LA TECNOLOGIA DEL MOBILE CRM INTEGRABILE AL TUO GESTIONALE AZIENDALE

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Informatica I per la. Fisica

Informatica I per la. Fisica Corso di Laurea in Fisica Informatica I per la Fisica Lezione: Software applicativo II Fogli elettronici e Data Base Software: software di sistema (BIOS) sistema operativo software applicativo ROM Dischi

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Relazione introduttiva Febbraio 2006

Relazione introduttiva Febbraio 2006 Amministrazione Provincia di Rieti Febbraio 2006 1 Progetto Sistema Informativo Territoriale Amministrazione Provincia di Rieti Premessa L aumento della qualità e quantità dei servizi che ha caratterizzato

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

I Sistemi Informativi Geografici. Laboratorio GIS 1

I Sistemi Informativi Geografici. Laboratorio GIS 1 I Sistemi Informativi Geografici Laboratorio GIS 1 Sistema Informativo Geografico Strumento computerizzato che permette di posizionare ed analizzare oggetti ed eventi che esistono e si verificano sulla

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Strumenti per la gestione della configurazione del software

Strumenti per la gestione della configurazione del software tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Luigi Suarato candidato Pasquale Palumbo Matr. 534/000021 MANUTENZIONE DEL SOFTWARE Il Configuration

Dettagli

Informatica DR KLOE Calcolo

Informatica DR KLOE Calcolo Informatica DR KLOE Calcolo Progettazione e gestione sotto il sistema operativo Unix di un database per un esperimento che produce almeno 1200 Terabyte. Informatica DR KLOE Calcolo Tutore: Giuseppe Fortugno

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA 8.1 ISTRUZIONI PER IL VALUTATORE Campioni Il processo di valutazione tecnologica si basa su un campione del prodotto, precedentemente

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

DATABASE. nozioni di base

DATABASE. nozioni di base DATABASE nozioni di base Un database è una raccolta di informazioni organizzata in modo da poter essere facilmente accessibile per consultazione, modifiche e aggiornamenti. All'inizio della storia dei

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2012-2013 Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Introduzione ai GIS Le attività dell uomo...... hanno sempre un

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

IL LAVORO CHE TI CERCA

IL LAVORO CHE TI CERCA www.provincia.potenza.it www.futuroincorso.com IL LAVORO CHE TI CERCA FORMAZIONE SERVIZI OSSERVATORIO BACHECA Il portale del lavoro della provincia di Potenza. www.lavoroprovincia.com Scopri tutti i servizi

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative itime itime Il software di rilevazione presenze itime rappresenta lo strumento ideale per l automatizzazione della gestione del personale. L ampia presenza dei parametri facilita l operatore nel controllo

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Retail L organizzazione innovativa del tuo punto vendita

Retail L organizzazione innovativa del tuo punto vendita fare Retail L organizzazione innovativa del tuo punto vendita fareretail è una soluzione di by www.fareretail.it fareretail fareretail è la soluzione definitiva per la Gestione dei Clienti e l Organizzazione

Dettagli

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue Tecnologia e professionalità al servizio del business, dal 1986 Programmare in ambiente Java Enterprise: l offerta Copyright 2006 Infodue S.r.l. La programmazione nell era era del Web Computing L evoluzione

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l.

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l. Open System s.r.l. P.IVA: 00905040895 C.C.I.A.A.: SR-7255 Sede Legale: 96016 Lentini Via Licata, 16 Sede Operativa: 96013 Carlentini Via Duca degli Abruzzi,51 Tel. 095-7846252 Fax. 095-7846521 e-mail:

Dettagli

Insegnare con il blog. Materiale tratto da:

Insegnare con il blog. Materiale tratto da: Insegnare con il blog Materiale tratto da: Weblog La parola "blog" nasce dalla contrazione del termine anglosassone "weblog" che, letteralmente, significa "traccia nella rete". Il blog infatti rappresenta

Dettagli

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare

Dettagli

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com Addition è un applicativo Web che sfrutta le potenzialità offerte da IBM Lotus Domino per gestire documenti e processi aziendali in modo collaborativo, integrato e sicuro. www.xdatanet.com Personalizzazione,

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT TESI DI LAUREA REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT RELATORE: Prof. Michele Moro LAUREANDO: Marco Beggio Corso di laurea Specialistica in Ingegneria

Dettagli

TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI

TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE EDILIZIA TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI TECNICO SUPERIORE PER I

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

WEBGIS 1.0. Guida per l utente

WEBGIS 1.0. Guida per l utente WEBGIS 1.0 Guida per l utente SOMMARIO 1 INTRODUZIONE...3 2 FUNZIONALITA...4 2.1 Strumenti WebGIS... 4 2.1.1 Mappa... 5 2.1.2 Inquadramento mappa... 6 2.1.3 Toolbar... 7 2.1.4 Scala... 9 2.1.5 Legenda...

Dettagli

Software - Software applicativo - Altri campi di applicazione

Software - Software applicativo - Altri campi di applicazione Software - Software applicativo - Altri campi di applicazione Word (word processor) Excel (foglio di calcolo) Power Point (presentazioni) Entourage (posta elettronica e organizer) word processor e editor

Dettagli

WebGis - Piano Comprensoriale di Protezione Civile

WebGis - Piano Comprensoriale di Protezione Civile "S@ve - Protezione dell'ambiente per la gestione ed il controllo del territorio, valutazione e gestione emergenze per il comprensorio del Vallo di Diano" I PRODOTTI: WebGis - Piano Comprensoriale di Protezione

Dettagli

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi InfiXor il software di preventivazione per produttori e rivenditori di infissi di Paolo Audisio SOFTWARE PROGRAMMAZIONE CONSULENZA INFORMATICA sito internet: www.infixor.it Via Carlo Zucchi 19 40134 BOLOGNA

Dettagli

.EVERYWHERE LOGIN. entra nel futuro. partnership signed

.EVERYWHERE LOGIN. entra nel futuro. partnership signed .EVERYWHERE LOGIN entra nel futuro. partnership signed Sinergia per l innovazione. Studio Ferroli e Acknow Per essere competitivi e vincenti in un mercato sempre più dinamico e globalizzato, che richiede

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

3DE Modeling Professional

3DE Modeling Professional 3DE Modeling Professional 3DE Modeling Professional è la parte di 3DE Modeling Suite che si occupa della modellazione 3D automatica di oggetti ed edifici a partire da nuvole di punti ottenute con scanner

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli