Obiettivi formativi
Il corso fornisce nozioni introduttive di base su architetture ed
ingegneria del software, affrontando negli aspetti più
salienti di pianificazione, progettazione, collaudo e manutenzione,
i processi di sviluppo e produzione del software, e presentando una
analisi comparata di architetture del software assieme a linguaggi
di modellazione e di specifica delle stesse.
Il programma del corso non prevede prerequisiti, è
cioè del tutto autocontenuto. La conoscenza di un linguaggio
di programmazione qualsiasi e un po' di esperienza di
programmazione sono desiderabili, ma non strettamente
necessarie.
Il programma del corso è fortemente influenzato dalle
direttive del nuovo ordinamento didattico, ed in particolare
esclude contenuti che prevedano un bagaglio di conoscenze
matematiche men che elementari o che contribuiscano
all'arricchimento dello stesso. Ciò non riflette un
giudizio in merito al valore e alla necessità di tali
conoscenze nell'ambito disciplinare e professionale di
questi corsi, bensì solo una scelta di ricollocazione di
detti contenuti nell'ambito dei programmi delle Lauree
specialistiche.
Attività formative
Il corso prevede lo svolgimento di 64 ore di lezioni ed
esercitazioni frontali in aula, e di attività di progetto in
laboratorio, in parte dirette dal docente. Per queste ultime, sono
previste ulteriori 24 ore di esercitazioni di laboratorio in
presenza del docente, di cui 20 con assistenza di tutore, e sono
riservate ulteriori risorse di laboratorio.
L'apprendimento della materia è sostenuto dallo studio
dei materiali didattici di riferimento e dal loro uso nella
realizzazione di progetti in laboratorio. Questi sono organizzati
come progetti componenti un unico progetto formativo, il quale
verte su alcuni temi speciali di interesse proposti dal
docente.
Temi speciali di interesse di questa edizione del corso
sono:
- misurazione e gestione delle risorse nei progetti software
- gestione delle configurazioni del software
- modellazione e specifica dei requisiti in architetture software ad oggetti
nonchè i temi risultanti dalle combinazioni dei temi
suddetti.
Programma del corso
- 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.
- Analisi e specifica di architetture del
software: introduzione all'architettura del software,
tassonomia di architetture del software di uso più
frequente, analisi comparata di architetture del software in casi
di studio, linguaggi di modellazione e di specifica di architetture
del software, UML, OCL.
- 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
documentazione.
- Collaudo del software: metodi di collaudo,
strategie di collaudo (di unità, di integrazione,
funzionale, di sistema), metodi e strategie di collaudo di software
a oggetti, metriche di collaudo.
- Valutazione: metriche del software, modelli di
costo, progettazione di qualità, standard ISO 9001, 9000-3,
9126.
indietro.