| | | corso | | | | | |
Ingegneria del software B
Codice: | 271AA | Crediti: | 6 | Semestre: | 1 | Sigla: | IS | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Laura Semini
Tel. 0502212783Prerequisiti
Programmazione 2 o metodologie di programmazione
Obiettivi di apprendimento
Introduzione alle tecniche di modellazione in ingegneria del software.
Conoscenze. Lo
studente conoscerà i principali modelli di processi di sviluppo
software, e le tecniche di modellazione proprie delle varie fasi.
Capacità. Lo
studente saprà utilizzare notazioni di modellazione come UML 2 per
l'analisi dei requisiti e la progettazione sia architettonica sia di
dettaglio di un sistema software.
Descrizione
Il corso prepara allo sviluppo di sistemi software con caratteristiche
di qualità. Per quanto riguarda le fasi alte del ciclo di vita del
software, analisi e progettazione, vengono presentate tecniche e
notazioni di modellazione degli aspetti statici e dinamici del dominio
applicativo e del sistema da sviluppare. Per quanto riguarda le fasi
basse del ciclo di vita, codifica e rilascio, si trattano principi e
tecniche di verifica.
Programma
- Processo di sviluppo software: Problemi della produzione del software. Modelli di ciclo di vita.
- Analisi del domino e dei requisiti: modelli statici (classi, casi d'uso) e dinamici (attività, macchine a stati, narrazioni).
- Architetture software: viste strutturali, comportamentali, logistiche. Stili architettonici.
- Progettazione architettonica: Realizzazione dei casi d'uso, specifica di componenti e connettori.
- Progettazione di dettaglio: Progettazione di componenti orientata agli oggetti.
- Verifica: Progettazione delle prove - criteri funzionali e strutturali.
- Standard per la modellazione: Unified Modelling Language (UML 2).
Ore lezione: | 34 | Ore esercitazione: | 14 | | | |
Bibliografia
[A] J. Arlow, I. Neustadt, UML 2 e Unified Process, (seconda edizione italiana), McGraw-Hill, 2006.
Capitoli 1,2, 3-5, 7-13 (tranne 8.2, 10.4, 10.5), 16 (paragrafi 3, 4, 5, 11.3, 12), 17, 19-20 (tranne 20.5) e 22.
[F] A. Binato, A. Fuggetta, L. Sfardini, Ingegneria del Software - Creatività e metodo, Addison Wesley, 2006.
Capitoli 7 e 8 (pp 147-158).
[S] L. Semini, Architetture software (quarta edizione). Nota didattica, 2009, Vedere avvisi nella pagina del corso.
[E]
V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del
Software (quarta edizione). Nota didattica: 2009, Vedere avvisi nella
pagina del corso.
[T] C. Montangero, L. Semini (a cura di), Il controllo del Software - verifica e validazione, Nota didattica, 2008.
Le
note didattiche sono (saranno) anche disponibili in fotocopia presso il
Servizio Editoriale Universitario, via Curtatone e Montanara 6, Pisa.
Modalità di esame
La valutazione avviene mediante prova scritta e prova
orale. Per l'ammissione all'orale si deve ottenere un voto pari o superiore a
16. L'ammissione vale solo per lo stesso appello.
Ciascuna prova scritta fa riferimento a uno degli scenari pubblicati in anticipo nella
pagina comune dei corsi di Ingegneria del Software.