| | | corso | | | |
Ingegneria del Software I
(Corso di Laurea in Informatica (quinquennale))
Codice: | 4I075 | Crediti: | 6 | Semestre: | 1 | Sigla: | IS | |
Docente
Obiettivi di apprendimento
Il corso fornisce i concetti di base dell'ingegneria del software
presentando problematiche e metodologie proprie della realizzazione
"industriale" di prodotti software.
Descrizione
Il corso presenta dei metodi di produzione di sistemi software,
descrive i problemi e le soluzioni relativi all'analisi, alla
progettazione, alla codifica e alla verifica dei sistemi software.
English Description
The aim of the course is to present the basic concepts of
software engineering. In particular, the course presents methods for
software development, describes the issues related to the analysis,
design, coding, and verification of software systems.
Programma
- Introduzione. Ciclo di vita del software.
- Requirements Capture (Modelli di base). Metodi di raffinamento dai
modelli alla codifica.
- Analisi (verifica e sperimentazione) di modelli astratti e di codice.
- Macchine astratte
(ASM) e notazioni UML.
- Esercitazioni: Casi di Studio (disegno di
linguaggi (illustrato su Java), di
macchine virtuali (illustrato sulla Java Virtual Machine), di programmi
di analisi
(illustrato su un Debugger), di software di controllo di impianti
industriali (come Lift,
Production Cell, etc.), di programmi di gestione commerciale).
Ore lezione: | 25 | Ore esercitazione: | 15 | | | |
Bibliografia
Materiale messo a disposizione su http://www.di.unipi.it/~boerger e
articoli specifici
dalla letteratura che vengono indicati durante le lezioni.
I due testi
di riferimento sono:
- C. Ghezzi, A. Fuggetta, S. Morasca, A. Morzenti, M. Pezze:
Ingegneria del software, Mondadori Informatica, 1991.
- R.Staerk, J. Schmid, Egon Boerger: Java and the Java Virtual Machine -
Definition, Verification, Validation. springer-Verlag 2001. Cf.
http://www.inf.ethz.ch/~jbook/
Modalità di esame
Scritto e orale