IDE – Ambiente di sviluppo IDE - Integrated Development Environment ¾ e’ un Ambiente di Sviluppo Integrato che consente di creare in modo semplice “progetti” composti da molti file e di compilarli con un solo click ¾ semplifica l’iter dello sviluppo eliminando la necessità di compiere operazioni ripetitive ¾ normalmente contiene un debugger grafico che consente di eseguire l’applicazione passo-passo per vedere come si comporta (Æcorrezione degli errori) Telematica II 5. Esercitazione/Laboratorio 1 Corso di Laurea in Ingegneria Informatica A.A. 2009-2010 2° Semestre Prof. Giovanni Pascoschi 2 Eclipse – introduzione #1 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Eclipse – introduzione #2 Eclipse è un IDE multilinguaggio (JAVA, C/C++, PHP, ecc) open source sviluppato inizialmente da IBM utilizzando JAVA Progetti portati avanti dal consorzio di Eclipse ¾ La piattaforma eclipse ( Eclipse Platform ) ¾ Il toolkit di sviluppo java ( Java Development ToolKit, JDT) ¾ Il toolkit di sviluppo C/C++ ( C++ Development ToolKit, CDT) ¾ L'ambiente di sviluppo di plug-ins (Plugin Development Environment, PDE) Successivamente il progetto fu reso open source e ceduto nel 2004 ad un consorzio no-profit indipendente che include tra le varie aziende: IBM, Borland, Merant, QNX Software, Rational, Red Hat, SuSE, TogetherSoft, Oracle, HP, Sybase La sola IBM ha investito in Eclipse circa 40 milioni di $ prima di renderlo open source IBM continua lo sviluppo di Eclipse tramite una società sussidiaria chiamata OTI (Object Technologies International) 3 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 4 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Eclipse – introduzione #3 Installazione JDK 6.0 per installare JDK6 update 20 (File Size: 76.67 MB) Architettura a plug-in ¾ Core : funzionalità di base ¾ Plug-in : sfruttano le funzionalità offerte dallo strato “core” e cooperano tra loro per offrire servizi all’utente ¾ Eclipse richiede l’esecuzione di una JVM ¾ i plug-in potrebbero essere numerosi, ma viene utilizzata una politica di caricamento “on demand” per minimizzare la quantità di memoria necessaria (non necessari per i nostri scopi) 5 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni http://java.sun.com/javase/downloads/index.jsp ¾ seguire le istruzioni per l’installazione ¾ requisiti S.O. : Windows (XP, Vista, Server 2003/2008, Win7); Solaris (diverse versioni); Linux (diverse versioni) per installare la documentazione di Java SE 6 Documentation : Java SE Development Kit Documentation 6u18 jdk-6u18-docs.zip (File Size: 56.30 MB) ¾ decompattare nella sottocartella docs 6 Installazione Eclipse Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Eclipse - avvio eseguire il file eclipse.exe per installare Eclipse andare dal website Eclipse Downloads “Eclipse IDE for JAVA Developers” (File Size: 92 MB) scompattare il file in una directory. Cio’ è sufficiente per usare Eclipse Æ non occorre nessuna procedura addizionale di installazione lo scopo fondamentale del workspace è la gestione delle risorse di utente che sono organizzate in uno o più progetti di massimo livello gerarchico tutorial su Eclipse (inglese) http://www.vogella.de/articles/Eclipse/article.html ogni progetto è associato ad una cartella del “workspace” di eclipse (per comodità si puo’ conservare la stessa impostazione per tutti i progetti) 7 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 8 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Eclipse - perspectives Eclipse - views per uno stesso workspace esistono piu’ perspectives (contenitore visuale), che raggruppano funzionalità (view) in base all’operatività scelta dall’utente, p.e.: 9 Java sviluppo di codice sorgente Debug debug del programma Fondamenti di Informatica II – A.A. 2008-2009 le views sono schede visualizzate nelle perspectives che offrono alcune funzionalità correlate allo sviluppo del software le views possono essere ridimensionate/spostate nel workspace a cura di Pascoschi Giovanni 10 Workspace Eclipse views Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Introduzione Eclipse perspectives Progetti, File sorgenti JAVA In Eclipse i programmi sviluppati hanno la seguente organizzazione views views 11 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 12 File sorgenti (JAVA source file) E’ un programma (estensione .java) in JAVA che implementa una determinata classe Progetti (Projects) Nel caso di sviluppo di programmi con piu’ classi è necessario distribuire il codice su più file. In questi casi tutti i file che logicamente costituiscono un programma devono essere raggruppati insieme. Un progetto (project) è una cartella dove vengono conservati tutte le classi appartenenti a uno stesso programma. Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Creazione di un nuovo progetto JAVA Creazione di una nuova classe JAVA Creare una nuova classe (FileÆNewÆClass) Creare un nuovo progetto di tipo “Java Project” (FileÆNewÆProject) Specificare il nome (p.e. Topolino) della classe e impostare il check box per la creazione del metodo main Inserire il nome del progetto (p.e. HelloWorld) e terminare il wizard (finish) Indicare inoltre package da usare il è possibile generare in automatico lo scheletro della classe (main, interfacce, superclasse, ecc.) 13 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 14 Compilazione Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Esecuzione Ci sono due possibilità : compilazione automatica (Project Æ Build automatically) Æ segnala in tempo reale gli errori rilevati compilazione on-demand (ProjectÆBuild all o Build project) 15 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 16 per poter eseguire un programma ci sono diverse possibilità 1) Run Æ Run configurations per impostare una nuova configurazione di esecuzione di tipo “Java Application” , indicare il nome del progetto, indicare la main class Æ Run 2) cliccando con il tasto destro del mouse sul progetto e scegliendo Run as Æ Java application Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Esempio di output del programma Eclipse Debug in Eclipse l’output del programma è visualizzato nella views Console (in maniera simile al Visual C++) 17 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni e’ possibile verificare il funzionamento del programma tramite la funzionalità di Debug tramite il Debug è possibile eliminare malfunzionamenti di un programma cio’ è fattibile analizzando lo stato di esecuzione del programma tramite breakpoints in punti prestabiliti il debugging verrà analizzato piu’ in dettaglio in una lezione successiva 18 Dimostrazione pratica Eclipse 19 a cura di Pascoschi Giovanni Esercitazione di laboratorio Eclipse Vengono illustrati i vari passi per creare progetti con Eclipse (editing, compilazione, running) Vengono illustrati alcuni esercizi assegnati nelle scorse lezioni con le relative soluzioni in Eclipse (esercizio n.1, n.2 e n.3) Fondamenti di Informatica II – A.A. 2008-2009 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 20 Svolgimento di un esercizio assegnato con Eclipse ¾ Cambiare l’esercizio 1 passando i valori dei due numeri tramite parametri nella linea di comando Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Fine della lezione Esercizio n.4 Realizzare l'implementazione della classe la cui specifica è riportata in seguito: public class Stack { // attributi public final int MAX = 100; // dimensione dell’array private int testa; // testa della pila private int[ ] vett = new int[MAX]; // array della pila // metodi Stack( ) { // costruttore testa = MAX; } public int pop( ); // estrazione di un elemento public void push(int val); // inserimento di un elemento public int top ( ); // legge l’elemento di testa senza estrarlo public boolean full( ); // verifica che la pila è piena (true se vero) public boolean empty( ); // verifica che la pila è vuota (true se vero) public int get_num( ); // da’ il numero di elementi presenti nella pila }; Domande? 21 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni Esercizio n.5 Realizzare l'implementazione della classe la cui specifica è riportata in seguito: class Coda { // attributi public final int MAX = 100; // dimensione dell’array private int fine; // indicatore riempimento della coda private int[ ] vett = new int[MAX]; // array della coda // metodi Coda( ) { // costruttore fine = -1; } public int pop( ); // estrazione di un elemento public void push(int val); // inserimento di un elemento public int top ( ); // legge l’elemento di inizio coda senza estrarlo public boolean full( ); // verifica se la coda è piena (true se vero) public boolean empty( ); // verifica se la coda è vuota (true se vero) public int get_num( ); // da’ il numero di elementi presenti nella coda }; 23 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni 22 Fondamenti di Informatica II – A.A. 2008-2009 a cura di Pascoschi Giovanni