• Non ci sono risultati.

Strumenti di gestione del ciclo di vita del

N/A
N/A
Protected

Academic year: 2022

Condividi "Strumenti di gestione del ciclo di vita del"

Copied!
26
0
0

Testo completo

(1)

Strumenti di gestione

del ciclo di vita del software

Università degli studi di Padova a.a. 2008/09

Laurea in Informatica

Corso di Ingegneria del Software mod. A.

presenta

Nicola Bertazzo

nicola.bertazzo@gmail.com Venerdì 17 ottobre 2008

(2)

> Sommario

1. Contesto e obbiettivi 2. Processo

3. Conclusioni 4. Esempi

(3)

> Sommario

1. Contesto e obbiettivi 2. Processo

3. Conclusioni 4. Esempi

(4)

Contesto e obbiettivi

> Chi sono io

Neolaureato nella Laurea Specialistica in Informatica Università degli studi di Padova

Allievo del Progetto Formativo Misura D4 dal titolo:

“Studio e applicazione di metodologie e tecniche per misurare e migliorare la qualità del software

Approvato dalla regione Veneto e finanziato dal FSE

1200 ore comprensive di 300 ore di stage

Argomento principale della tesi di laurea

(5)

Contesto e obbiettivi

> Ciclo di vita di prodotto software

(6)

Contesto e obbiettivi

> Ciclo di vita di prodotto software

Stabilire e seguire un  processo di sviluppo  e verifica del software  ripetibile, con lo scopo  di misurare e migliorare  la qualità di prodotto

Applicare Best Practice  e utilizzare strumenti  per implementare un  processo di sviluppo e  verifica del software  standard

(7)

> Sommario

1. Contesto e obbiettivi 2. Processo

3. Conclusioni 4. Esempi

(8)

Processo di sviluppo

> Visione generale

(9)

Visione in dettaglio

> Repository Sorgente

Deposito unico di tutto il codice sorgente

Accesso alla storia completa del software

Documentazione delle modifiche:

Autore

Oggetti modificati

Data e ora

Commenti e motivazioni

Possibilità di gestire più rami diversi di sviluppo contemporaneamente

(10)

Repository Sorgente

> Strumenti

CVS (www.nongnu.org/cvs)

SVN (http://subversion.tigris.org)

Tortoisecvs (http://www.tortoisecvs.org/)

Tortoisesvn (http://tortoisesvn.tigris.org)

Subclipse (http://subclipse.tigris.org)

Subversive (www.eclipse.org/subversive)

(11)

Visione in dettaglio

> Ambiente di lavoro

Luogo dove avviene l attività di sviluppo e verifica del’ prodotto

Vengono realizzati i test di unità

Il processo di costruzione del prodotto deve essere automatico

Il codice prodotto viene inviato frequentemente al Repository dei sorgenti

Dopo la realizzazione di una funzionalità avvengono le altre attività di verifica

(12)

Ambiente di lavoro

> Strumenti di verifica

Unità: Controllo del comportamento di ogni singolo oggetto in isolamento

JUnit (http://www.junit.org/)

JUnitPerf (http://clarkware.com/software/JUnitPerf.html)

Integrazione: Verifica della collaborazione fra più oggetti nel formare un sottosistema, al fine di verificare il comportamento esterno e i contratti di interfaccia

Verifica e validazione: Controllo del soddisfacimento dei requisiti funzionali

Fit (http://fit.c2.com/)

(13)

Ambiente di lavoro

> Tipi di automazioni

Comanded Automation: Eseguire un comando che effettua un insieme di attività (p. es. .sh, .bat)

Sheduled Automation: Commanded Automation che vengono eseguite ad intervalli di tempo prestabiliti (p. es. cron, at)

Triggered Automation: Commanded Automation che vengono eseguite quando accade un evento (p. es. commit del codice

(14)

Ambiente di lavoro

> La costruzione del software ( build )

Caratteristiche del processo

Completo: Indipendente da fonti non specificate nello script di build

Ripetibile: Accede ai file contenuti nel sistema di gestione del codice sorgente: una esecuzione

ripetuta dà lo stesso risultato

Informativo: Fornisce informazioni sullo stato del prodotto

Programmabile: Può essere programmato ad una certa ora e fatto eseguire automaticamente

Portabile: Indipendente il più possibile

(15)

Ambiente di lavoro

> Strumenti di project automation

Automazione di tutte le attività definite e ripetibili

Riduzione errori

Maggiore documentazione

Ant (http://ant.apache.org/)

Linguaggio di script

Semplicità d'uso

Maven (http://maven.apache.org/)

Gestore di progetti (processo di build, documentazione, gestione dipendenze ...)

Si basa su delle convenzioni

(16)

Ambiente di lavoro

> Strumenti di analisi del codice

Imporre il rispetto di convenzioni e stili

Verificare la congruità della documentazione

Controllare metriche ed indicatori (complessità ciclomatica, grafo delle dipendenze, numerosità delle linee di codice)

Ricercare codice copiato in più punti

Ricercare errori comuni nel codice

Misurare la percentuale di codice testato

Ricercare indicatori di parti incomplete (p. es. tag)

http://checkstyle.sourceforge.net/

http://pmd.sourceforge.net/

http://findbugs.sourceforge.net/

http://cobertura.sourceforge.net/

(17)

Visione in dettaglio

> Ambiente di build

c

(18)

Ambiente di build

> Integrazione continua 1/2

Ogni volta che una attività è completata viene creato il prodotto ed eseguiti tutti i test

Lo scopo dell'integrazione continua è assicurare che il prodotto sia in ogni momento in uno stato consistente

Se il processo di costruzione fallisce l'attività non continua fino a che il prodotto non viene riparato

Richiede che il processo di costruzione sia relativamente veloce

(19)

Ambiente di build

> Integrazione continua 2/2

Benefici:

Stabilità del prodotto e del processo di costruzione e verifica

Aumento dell'attività di verifica

Aumento delle informazioni sullo stato del prodotto

Facile individuazione e isolamento degli errori

Semplificazione dell attività di messa in opera del prodotto’

(20)

Ambiente di build

> Strumenti

Cruise Control (http://cruisecontrol.sourceforge.net/)

Più adatto per essere utilizzato con ANT

Configurazione attraverso file XML

Continuum(http://continuum.apache.org/)

Più adatto per essere utilizzato con MAVEN

Configurazione tramite GUI

(21)

Visione in dettaglio

> Repository Prodotti

(22)

Repository prodotti

> Gestore dei prodotti

Unico luogo dove depositare e pubblicare i prodotti

Permette di gestire e associare permessi d accesso sui ’ prodotti

Agisce da intermediario per scaricare prodotti da depositi esterni

Permette di effettuare ricerche, navigare e reperire informazioni riguardanti i prodotti

Permette di effettuare operazioni di ordinaria manutenzione sui permessi e sui prodotti

(23)

Repository prodotti

> Strumenti

Archiva (http://archiva.apache.org/)

Artifactory (http://www.jfrog.org/sites/artifactory/1.2/)

(24)

> Sommario

1. Contesto e obbiettivi 2. Processo

3. Conclusioni 4. Esempi

(25)

Conclusioni

> Processo per migliorare la qualità di prodotto

 Risultati garantiti nel lungo periodo

 Benefici incrementali

Si ottengono vantaggi anche da una applicazione parziale o progressiva

 Tempo di avvio lungo

 Gestione complessa di molte componenti

Manuale che descrive gli strumenti che permettono di realizzare il processo

(26)

> Sommario

1. Contesto e obbiettivi 2. Processo

3. Conclusioni 4. Esempi

Riferimenti

Documenti correlati

ASSESSORATO DELLA DIFESA DELL'AMBIENTE - DIREZIONE GENERALE DELLA DIFESA. SISTEMI INFORMATIVI AMBIENTALI Identificativo

Modello che descrive degli stati-tipo che una determinata categoria di prodotto (o uno qualsiasi dei suoi livelli gerarchici inferiori) può attraversare nel tempo.. Le fasi del

La seconda domenica ci concentreremo sulla figura di Giovanni Battista un bel personaggio che ci insegna a desiderare l’incontro con Gesù, a desiderare che venga nella vita e

I collegamenti e l’installazione vanno effettuati da personale qualificato ed eseguiti a norma EN (o equivalente di Stato membro) per le installazioni in Unione Europea, o in base

22 Eppure nei 10 paesi con i più alti tassi di mortalità neonatale, ci sono, in media, solo 11 operatori sanitari qualificati per ogni 10.000 persone, molto al di sotto del

Costi di transazione del portafoglio 0,00% Impatto dei nostri costi di acquisto e vendita degli investimenti sottostanti per il prodotto.. Altri costi correnti Da 1,78%

In caso di decesso dell’Assicurato, avvenuto successivamente al pagamento della prestazione assicurata relativa alla Garanzia IMG, ai Beneficiari designati per la Garanzia Base

Galaxy Watch Active2 disponibile anche nel modello da 44 mm nel colore nero a 269.- anziché 369.-. 100.-