a.a. 2000/01
Docente: Prof. Fausto Giunchiglia
Il corso si sviluppa attorno ad una delle tematiche centrali dell’ingegneria
del software, ovvero il processo di sviluppo del software. Verranno approfondite
metodologie utilizzate in fasi critiche del processo quali specifica dei
requisiti e progettazione.
Il corso mira a fornire competenze pratiche, applicabili anche nello
sviluppo di piccoli progetti software, sia attraverso l’analisi di case
studies che con la sperimentazione in laboratorio di strumenti software
che supportano l’uso delle metodologie proposte nel corso.
Programma
1. Elementi di Ingegneria del software
Breve introduzione e analisi di un case study.
2. Il ciclo di vita del software
Viene esaminato il concetto di sviluppo del software e quello di prodotto,
e le problematiche ad essi connesse. Si analizzano i fattori di qualità
del software e i modelli del ciclo di vita del software.
3. Il concetto di specifica e UML
Vengono analizzate diverse tipologie di linguaggi di specifica: linguaggi
formali e non. Si approfondisce il linguaggio di specifica Unified Modeling
Language (UML), standard OMG per la progettazione OO, concentrandosi su
alcuni diagrammi base (use cases, class diagram, sequence diagram). La
parte pratica del corso riguarderà l’applicazione di UML per la
specifica dei requisiti e il disegno di sistema, utilizzando tools per
UML.
4. Approfondimenti
4.1 Modelli di processo di sviluppo del software avanzati. Esempi:
modelli incrementali, a spirale.
4.2 Benchmark di processo: il Capability Maturity Model.
4.3 Il linguaggio di specifica Z.
4.4 Case Sudies dall’industria
Modalità d’esame
L’accertamento prevede:
1. la discussione di alcuni esercizi basati sull’uso di UML;
2. superamento di una prova pratica (al computer) di utilizzo dei tools
presentati durante il corso;
3. prova orale
Propedeuticità
Ingegneria delle telecomunicazioni: Informatica.
Informatica: Programmazione 1, Programmazione 2.
Testi Consigliati
· Pagine Web del corso contenente anche il materiale utilizzato
a lezione (http://mnemosyne.itc.it:1024/perini/html/corso-se/se99.html
- DA SOSTITUIRE CON NUOVA URL!!)
· Ingegneria del software. Progettazione, sviluppo e verifica.
A. Fuggetta, C. Ghezzi, S. Morasca, A. Morzenti, M. Pezzè. Mondadori
Informatica, 1996.
· UML Distilled: Applying the Standard Object Modeling Language,
Martin Fowler, Kendall Scott, Addison-Wesley, 1997
Testi per la consultazione
· WebBook di Ingegneria del Software del Politecnico di Milano
(http://www.cefriel.it/~alfonso/WebBook/).
· The Unified Modeling Language. User Manual. J.Rumbaugh, Ivar
Jacobson, Grady Booch. Addison-Wesley 1999.
· The Unified Software Development Process. Ivar Jacobson, Grady
Booch, J.Rumbaugh. Addison-Wesley 1999.