Ingegneria del software (2012/2013)

Codice insegnamento
4S00032
Docente
Luca Vigano'
Coordinatore
Luca Vigano'
crediti
6
Altri corsi di studio in cui è offerto
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
II semestre dal 4-mar-2013 al 14-giu-2013.

Orario lezioni

II semestre
Giorno Ora Tipo Luogo Note
martedì 8.30 - 11.30 laboratorio Laboratorio didattico Delta  
mercoledì 8.30 - 10.30 lezione Aula A  
giovedì 8.30 - 11.30 lezione Aula B  

Obiettivi formativi

Introdurre i principi scientifici e professionali di base dell'ingegneria del software, affrontando le diverse fasi di sviluppo e produzione del codice: pianificazione, progettazione, modellazione e specifica, implementazione, collaudo e verifica, valutazione, manutenzione. Le esercitazioni in laboratorio compendiano la parte teorica con la progettazione e realizzazione di sistemi software complessi su larga scala ("in the large").

Programma

- Il software: prodotto e processo.
- Caratteristiche di qualità.
- Ciclo di vita del software.
- Fasi ed attività del processo produttivo.
- Pianificazione del processo produttivo:
- Studio di fattibilità.
- Determinazione di obiettivi e vincoli.
- Gestione dei rischi.
- Controllo dei processi di produzione.
- Gestione delle configurazioni e versionamento.
- Amministrazione di progetto.
- Progettazione del software:
- Elicitazione ed analisi dei requisiti.
- Prototipazione rapida di modelli.
- Specifica e codifica.
- Verifica di correttezza.
- Scalabilità.
- Progettazione basata su componenti.
- Riuso del software.
- Design Patterns.
- Architetture software.
- Standard di implementazione e documentazione.
- Il linguaggio standard UML 2 per la modellazione del software.
- Linguaggi formali di specifica del software
- Implementazione di codice su larga scala ("in the large").
- Valutazione, validazione e collaudo del software.

Modalità d'esame

La verifica del profitto avviene mediante uno scritto sugli argomenti del programma. Il superamento della prova porta all'acquisizione di 5 crediti, a cui si aggiunge 1 credito per il laboratorio di ingegneria del software.
La verifica dell'apprendimento dei concetti proposti nel laboratorio avviene mediante lo sviluppo di alcuni progetti in gruppi di lavoro, composti da 3 o 4 studenti.

È facoltà del docente sostituire la prova scritta con una prova orale, in particolare nel caso in cui non sia possibile evitare che gli studenti accedano ad appunti, libri, fotocopie. La prova scritta deve, infatti, essere svolta senza l'ausilio di appunti o altro.