Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto...

6
Ingegneria del software Modulo 4 - Processi software Unità didattica 2 - eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 – Progettazione

Transcript of Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto...

Page 1: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Ingegneria del software

Modulo 4 - Processi software

Unità didattica 2 - eXtreme Programming

Ernesto Damiani

Università degli Studi di Milano

Lezione 3 – Progettazione

Page 2: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Progettazione

• Pagamento in corso d’opera

• Interruzione quando necessario

• “Non è veramente necessaria”

• “La cosa più semplice che possa funzionare”

• “Una volta e solo una volta”

Page 3: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Refactoring

• Migliorare la struttura del codice senza influenzare il suo comportamento esterno

• Eseguito in piccoli passi

• Supportato da test unitari, progettazione semplice e programmazione a coppie

• Ricerca eseguita una volta e una volta sola

Page 4: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Esempio di refactoring

Page 5: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Adozione di XP

• Alcune pratiche possono essere eseguite singolarmente, altre da un team, altre ancora richiedono che gli utenti vengano aiutati

• Coinvolgimento utente

• Test funzionali e test unitari

• Progettazione semplice e refactoring

• Programmazione a coppie

Page 6: Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –

Differenza con altri approcci

• UML: XP lo usa sulla whiteboard (se proprio)

• RUP: XP ha molti meno ruoli e documenti; XP enfatizza il team sugli artefatti

• SCRUM: compatibile XP

FINE