Eclipse e Subversion



Documenti analoghi
Strumenti di gestione del ciclo di vita del software

Il web server Apache Lezione n. 3. Introduzione

Server Galileo.

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A.

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

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

MANUALE PARCELLA FACILE PLUS INDICE

Installare software Linux. Gruppo Linux Macerata - Corso Linux Lez. 5: Installazione dei software Linux

Panoramica: che cosa è necessario

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

Tale attività non è descritta in questa dispensa

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

JOOMLA & I PROJECT BUILD AUTOMATION

Progetto di Ingegneria del Software 2. SWIMv2

Cosa è importante: pom.xml Goal Plug-in Repository

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

Guida alla registrazione on-line di un DataLogger

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Aggiungere le funzionalità ACN in Iatros

Content Manager 2 Manuale utente

2015 PERIODO D IMPOSTA

Selezionando la sezione Avviso Bonario, si apre la schermata seguente:

Office 2007 Lezione 02. Le operazioni più

Test di unità con JUnit4

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

COSTER. Import/Export su SWC701. SwcImportExport

Studio Legale. Guida operativa

DevC++ vers Manuale d uso

Breve guida all'utilizzo di TortoiseSVN

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

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

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Programma applicativo di protezione LOCK Manuale per l utente V2.22-T05

Test e collaudo del software Continuous Integration and Testing

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

App-V Dynamic Suite Composition

BDCC : Guida rapida all utilizzo

Come predisporre i dati per l invio

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

INSTALLAZIONE PROCEDURA 770/2011

Scheda di Notifica Manuale d'uso

Acronis Universal Restore

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

Piano Nazionale Scuola Digitale Liceo A. Moro

Argo Netbook Offline. Raccolta Leggimi degli aggiornamenti Data Pubblicazione Pagina 1 di 7

Gestione dello scadenzario

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Setup e installazione

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

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

GESTIONE CANTINA MANUALE GESTIONE CANTINA 1

Application Server per sviluppare applicazioni Java Enterprise

Database. Francesco Tapparo Informatica e Bioinformatica /16

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

EW1051 Lettore di schede USB

Guida Software GestioneSpiaggia.it

Installazione e caratteristiche generali 1

REGISTRAZIONE. Che applicativi devo scegliere per la registrazione all Osservatorio?...2

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Technical Document Release Version 1.0. Product Sheet. MediaList. Creazione e gestione palinsesto giornaliero

Sistemi per la produzione, gestione e conservazione di contenuti digitali CMS. L12 - Comunicazione e archiviazione digitale A.A

Guida all installazione e all aggiornamento di Virtuemart 2.0.x

Usa le lezioni per la LIM su ActivInspire

MANUALE UTENTE INFOCAR REPAIR ACCESSO SMARTPHONE/TABLET

manuale utente per Viabizzuno online

come fare nas Configurare un NAS per accedere ai propri file ovunque

MANUALE OPERATIVO SOFTWARE INTERFACCIA. GFileT. Plug In CE.DI. Sud Italia srl

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com

Approvazione : Perico Marco. 1 Standard realizzazione moduli intraweb... 2

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Manuale Terminal Manager 2.0

29. Inventari. Software SHOP_NET Manuale d uso Vers Valorizzazione Inventario

Apache 2, PHP5, MySQL 5

Programmazione Java Avanzata

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

ICARO Terminal Server per Aprile

MANUALE DI INSTALLAZIONE OMNIPOINT

Corso sul linguaggio Java

Office 2007 Lezione 09. Contenuto riutilizzabile

Guida all'installazione del CMS DotNetNuke

Transcript:

Eclipse e Subversion

Prerequisito: creare un repository gratuito su http://www.assembla.com

Svn: condivisione progetto

Svn: condivisione progetto

Svn: condivisione progetto

Svn: condivisione progetto

Svn: commit

Svn: commit

Svn: commit

Svn: commit

Svn: checkout

Svn: checkout

Svn: checkout

Svn: checkout

Svn: checkout

Svn: checkout

Gestione dei Progetti

Progetti Software Composti da più moduli. Usano librerie di terze parti. Necessitano di essere tenuti aggiornati LO SVILUPPO NON È SOLO SCRIVERE CODICE

Processo di sviluppo Gestione delle dipendenze Compilazione (building) Testing Creazione dei pacchetti (packaging) Deployment Rapporti e metriche Documentazione

Dobbiamo automatizzare Gli sviluppatori configurano gli strumenti per automatizzare le operazioni frequenti, gli strumenti faranno il resto. Automatizzare le attività permette di risparmiare tempo perché rende tali attività facilmente ripetibili e riproducibili.

L approccio maven Permette di automatizzare le operazioni di gestione dei progetti. Mette a disposizione delle fasi predefinite per supportare il ciclo di sviluppo del software. Facilmente estendibile utilizzando dei plug-in per aumentare le funzionalità.

Gestione dei progetti con maven: concetto di build Composta da diverse fasi 1. Validate 2. Compile 3. Test 4. Package 5. Install 6. Deploy Le fasi sono sequenziali. Ogni fase richiede l esecuzione corretta della fase precedente.

Validate Maven controlla che il progetto sia configurato correttamente. Correttezza del file di configurazione. Disponibilità di tutto ciò che è richiesto dalle altre fasi.

Compile Questa fase compila tutti i file Java contenuti nel progetto. È utile per gestire e separare correttamente le interdipendenze tra le varie parti del progetto.

Test Esegue i test automatizzati e crea un rapporto con il loro esito. Nota: un fallimento in un test bloccherà l esecuzione delle fasi successive.

Package Crea un pacchetto (solitamente un jar) contenente il codice compilato.

Install Copia il pacchetto nel repository locale. Una volta che il pacchetto è installato nel repository locale, può essere utilizzato come una dipendenza per altri progetti.

Deploy Pubblica il pacchetto in un repository remoto in modo che il pacchetto sia disponibile pubblicamente.

Caratteristiche aggiuntive Attraverso l adozione di plug-in è possibile aggiungere altre caratteristiche. Ad esempio: generazione della documentazione, rapporti, metriche,...

Come funziona Maven si basa su una serie di convenzioni: Struttura delle directory standard Stesso modo per gestire tutti i progetti Tutto si configura attraverso un file Project Object Model (POM)

Struttura dei file del Progetto Codice del progetto Test del progetto Altre risorse del progetto... (es. immagini) Pacchetti, altri file generati,... File di configurazione

Un semplice file POM <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>it.polimi.dei</groupid> <artifactid>esercitazioniingegneriadelsoftware</artifactid> <version>0.0.1-snapshot</version> <packaging>jar</packaging> <name>esercitazioniingegneriadelsoftware</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> </properties> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>

Gestione delle dipendenze metodo tradizionale con maven 1. Cercare le librerie sul web 2. Scaricare e configurare le librerie richieste e le loro dipendenze Dire a maven quali librerie servono 3. Ripetere il procedimento per poter eseguire l applicazione

Esempio Vogliamo utilizzare nel nostro progetto la libreria Google guava Tutto ciò che ci serve fare è aggiungere queste linee nel file POM! <dependency> <groupid>com.google.guava</groupid> <artifactid>guava</artifactid> <version>11.0</version> <type>jar</type> <scope>compile</scope> </dependency>

Esempio Come gestisce maven il fatto che una libreria sia richiesta solo al momento del testing? Tutto ciò che ci serve fare è aggiungere queste linee nel file POM! <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.8.1</version> <scope>test</scope> </dependency>

Gestione delle dipendenze Supporto per più versioni delle stesse librerie. Esiste un repository a livello di sistema per evitare che librerie richieste da più progetti siano duplicate. Presenza di repository remoti (pubblici) con una gran quantità di software disponibile.

Compilazione Non è necessario invocare manualmente il compilatore. I progetti sono compilati utilizzando le informazioni contenute nel file POM. Maven è in grado automaticamente di capire dove trovare i file sorgenti, le librerie richeste e altre informazioni necessarie per compilare l applicazione.

Testing Il testing è un attività indispensabile per assicurarsi che l applicazione funzioni correttamente Maven si integra con JUnit Ogni volta che viene ricreato il pacchetto con l applicazione, tutti i test sono eseguiti.

Packaging I file compilati sono pacchettizzati in un unico archivio. Maven supporta diversi tipi di pacchetti: jar, war,... I pacchetti creati sono disponibili nella directory target

Generazione rapporti Rende più semplice generare rapporti e documentazione per i progetti Documentazione API Risultati dei test e copertura del codice Qualità del codice Le informazioni contenute nei rapporti sono essere rese disponibili attraverso un sito web.

Comandi utili package install Compila, esegue i test e genera il pacchetto JAR Crea il package e lo copia nel repository maven locale test Esegue i test di unità clean Cancella la directory target site Genera il sito del progetto

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Maven: esempio

Risorse online su Maven Sito ufficiale: http://maven.apache.org Manuali consultabili online: http://www.sonatype.com/books/mvnref-book/ reference/ http://www.maestrodev.com/better-buildmaven

Revisione progetto: sonar Analisi del software prodotto: Duplicazione del codice Copertura del testing Numero di linee / classi / commenti Rilevamento smell Molto altro... Riferimenti: http://www.sonarsource.org

Sonar: schermata principale