LABORATORIO DI INGEGNERIA DEL SOFTWARE

a.a. 2000/01

Docente:  Fausto Giunchiglia
 

Il corso mira a fornire due tipi di competenze: competenze pratiche sull’applicazione di metodi di Ingegneria del Software nello sviluppo di sistemi software; competenze su metodi di misura della qualità del software.
Il corso è centrato sulla sperimentazione in laboratorio di strumenti software che supportano l’uso delle metodologie proposte nel corso. In parallelo verrà richiesto di sviluppare, in parte al di fuori delle ore di lezione, un progetto completo su cui gli studenti saranno valutati in sede d’esame.

Programma
Elementi di Ingegneria del software
Breve introduzione sul processo di sviluppo del software.

Specifica e disegno di un sistema software
Si approfondisce il linguaggio di specifica Unified Modeling Language (UML), standard OMG per la progettazione OO. La parte pratica del corso riguarderà l’applicazione di UML per la specifica dei requisiti e il disegno di sistema con l’uso di design patterns. Si utilizzeranno tools per UML.

 Progetto  e sperimentazionie di tools per il processo
 
Qualità e metriche
Verranno analizzate metriche per il processo di sviluppo del software e metriche di qualità del software.

Convalida e verifica.
Vengono analizzate le problematiche della convalida del software prodotto rispetto alle specifiche utente (ovvero del problema applicativo) e quella della verifica della correttezza del software. Vengono introdotte tecniche di analisi statica e dinamica del software. E’ prevista una parte sperimentale in laboratorio con tools di testing industriali.

Manutenzione.
Vengono introdotti alcuni concetti base sul problema della manutenzione del software, sul la distribuzione (deployment) e su tecniche di configuration management.

Modalità d’esame
L’accertamento prevede:
1. la discussione di una elaborazione personale del progetto assegnato (documento cartaceo preparato dallo studente);
2. superamento di una prova pratica (al computer) di utilizzo dei tools presentati durante il corso;
3. prova orale

Propedeuticità
Informatica: Programmazione 1, Programmazione 2, Ingegneria del software.

Testi Consigliati

· Pagine Web del corso contenente anche il materiale proiettato a lezione
· Ingegneria del software. Progettazione, sviluppo e verifica. A. Fuggetta, C. Ghezzi, S. Morasca, A. Morzenti, M. Pezzè. Mondadori Informatica, 1996.
· UML Distilled: Applying the Standard Object Modeling Language, Martin Fowler, Kendall Scott, Addison-Wesley, 1997

Testi per la consultazione

· WebBook di Ingegneria del Software del Politecnico di Milano (http://www.cefriel.it/~alfonso/WebBook/).
· The Unified Modeling Language. User Manual. J.Rumbaugh, Ivar Jacobson, Grady Booch. Addison-Wesley 1999.
· The Unified Software Development Process. Ivar Jacobson, Grady Booch, J.Rumbaugh. Addison-Wesley 1999.