| | | | corso | | |
Ingegneria del software A
Codice: | AA017 | Crediti: | 6 | Semestre: | 1 | Sigla: | Is | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Carlo Montangero
Tel. 0502212799Prerequisiti
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.
English Description
The aim of the course is to prepare to the development of quality
software systems. With respect to the first phases of the
software life-cycle, i.e. analysis and design, we present techniques
and notations to model the static and dynamic facets of the application
domain and of the sytem to develop. With respect to the last phases of
the life-cycle, i.e. coding and release, we present principles and
techniques of software verification.
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 (paragrafo 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 (terza edizione). Nota didattica, 2007.
[E] V. Ambriola, C. Montangero, L. Semini,
Esercizi di Ingegneria del Software (terza edizione) . Nota didattica, 2007.
[T] C. Montangero, L. Semini (a cura di),
Il controllo del software - verifica e validazione. Nota didattica, 2008.
Le note didattiche sono 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 superiore a 15. L'ammissione vale solo per lo stesso appello.
La prova scritta può essere sostituita dal superamento di due verifiche in itinere, ottenuto con voto medio superiore a 15, e voti singoli superiori a 14. L'orale può essere dato in qualunque appello del 2009. La consegna di uno scritto in un appello cancella il beneficio.
Ciascuna prova scritta fa riferimento a uno degli scenari pubblicati in anticipo nella
pagina comune dei corsi di Ingegneria del Software.