Ingegneria del software (2006/2007)

Corso disattivato non visibile

Codice insegnamento
4S00032
Crediti
5
Coordinatore
Luca Vigano'
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Teoria 4 INF/01-INFORMATICA 1° Q Luca Vigano'
Laboratorio 1 INF/01-INFORMATICA 1° Q Monica Reggiani

Obiettivi formativi

Modulo: Teoria
-------

Il corso fornisce nozioni scientifiche e professionali di
base sull'ingegneria del software, affrontando le diverse
fasi (pianificazione, progettazione, collaudo, manutenzione)
dei processi di sviluppo e produzione del software.

Modulo: Laboratorio
-------

Il corso introduce lo studente alla progettazione e realizzazione di sistemi software. Attraverso la sperimentazione nello sviluppo di diversi progetti, vengono apprese una serie di tecniche avanzate per la realizzazione di sistemi software ad oggetti.

Programma

Modulo: Teoria
-------

- Introduzione all'ingegneria del software:
-- Il software: prodotto e processo.
-- Caratteristiche di qualità.
-- Ciclo di vita del software.
-- Fasi ed attività del processo produttivo.
-- Modelli del ciclo di vita dei sistemi software.

- Pianificazione del processo produttivo:
-- Studio di fattibilità.
-- Determinazione di obiettivi e vincoli.
-- Gestione dei rischi.
-- Controllo dei processi di produzione.
-- Gestione delle configurazioni.
-- Versionamento.
-- Amministrazione di progetto.

- Progettazione del software:
-- Cattura ed analisi dei requisiti.
-- Prototipazione rapida di modelli.
-- Specifica e codifica.
-- Verifica di correttezza.
-- Scalabilità.
-- Progettazione basata su componenti.
-- Norme di codifica e di documentazione.

- Validazione e collaudo del software:
-- Metodi e strategie di validazione.
-- Metodi e strategie di collaudo (di unità, di integrazione, funzionale, di sistema).
-- Metodi e strategie di collaudo di software ad oggetti.
-- Metriche di collaudo.

- Valutazione:
-- Metriche del software.
-- Modelli di costo.
-- Misurazione e allocazione delle risorse nei progetti software.
-- Progettazione di qualità.
-- Standard ISO 9001, 9000-3, 9126.




Modulo: Laboratorio
-------

Il corso copre le motivazioni e i benefici dell'uso dei design pattern per la programmazione ad oggetti.
Dopo una introduzione al concetto di design pattern, diversi problemi di esempio sono lo spunto per analizzare in dettaglio il processo di sviluppo e l'applicazione dei design pattern. Nella discussione degli esempi, particolare attenzione viene prestata alla definizione e uso dei principi base della progettazione orientata agli oggetti. Vengono inoltre discussi in dettaglio alcuni dei pattern piu` noti quali Strategy, Observer, State, Adapter e Abstract Factory.
I progetti di programmazione in linguaggio Java permettono agli studenti di acquisire l'esperienza necessaria per l'applicazione di questi pattern.

Modalità d'esame

Modulo: Teoria
-------
La verifica del profitto avviene mediante uno scritto sugli
argomenti del programma. Il superamento della prova porta
all'acquisizione di 4 crediti, a cui si aggiunge 1 credito per il
corso di Laboratorio.


Modulo: Laboratorio
-------
La verifica dell'apprendimento dei concetti proposti avviene mediante lo sviluppo di alcuni progetti in gruppi di lavoro.
Il superamento delle prove porta all'acquisizione di 1 credito che si aggiunge ai 4 crediti del corso di Ingegneria del Software.