Descrizione dell'insegnamento |
L’ingegneria del software è un insieme di principi, tecniche e attività organizzate in un processo in cui un gruppo di tecnici sviluppano software che dovrà essere disponibile in piu’ versioni e configurazioni. Questo corso caratterizza l’ingegneria del software come disciplina, discute l’organizzazione di un processo di sviluppo e presenta principi, tecniche e attività fondamentali. |
Prerequisiti |
Conoscenza dei principi della programmazione e di uno o più linguaggi di programmazione.
Esperienza pratica di sviluppo di semplici programmi e conoscenza di semplici ambienti di supporto allo sviluppo di software.
Conoscenze informatiche di base. |
Scopi |
Introdurre lo studente ai principi e alle tecniche di ingegneria del software e metterlo in grado di affrontare il lavoro in un gruppo di sviluppo. Comprendere l’organizzazione di un processo di sviluppo software e i principali elementi del processo: gestione delle versioni, analisi e specifica dei requisiti, progetto e codifica, verifica e convalida. |
Contenuti |
Il processo di sviluppo del software: qualità del software, principi dell'ingegneria del software, il ciclo di vita e i processi agili.
Il controllo di versioni e configurazioni.
Analisi e specifica dei requisiti: specifiche e dominio, approcci informali e formali alla specifica.
Progetto del software: design pattern e alcune classi di pattern principali.
Attività di convalida e verifica: il processo di qualità, test funzionale, test combinatorio, test basato su modelli, test strutturale, ispezione di codice. |
Testi |
Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, Second Edition,2002 Paerson Ed. ISBN 0-13-305699-6.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. 1995, Addison-Wesley. ISBN 0-201-63361-2.
Mauro Pezzè and Michal Young, Software Testing and Analysis: Process, Principles, and Techniques, 2008, John Wiley & Sons, ISBN-13: 978-0471455936 |
Esercitazioni |
Gli studenti svolgeranno un progetto contestualmente allo svolgimento del corso. L’attività di progetto consisterà nell’applicazioni dei metodi e tecniche presentate nel corso ad un caso di studio concordato con i docenti.
Le esercitazioni consisteranno nella verifica e discussione del materiale prodotto durante lo svolgimento del corso. A completamento delle discussioni possono essere forniti dal tutor esercizi addizionali da svolgere. |
Docente/Tutor Responsabile insegnamento |
Massimo Poncino
|
Docenti video |
Prof.
Mauro Pezzè
- Università di Milano (Milano - Italy)
|
Elenco delle lezioni |
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Marco Torchiano
|
|
|
Marco Torchiano
|
|
|
Marco Torchiano
|
|
|
Marco Torchiano
|
|
|
Marco Torchiano
|
|
|
Marco Torchiano
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|
|
Maurizio Morisio
|
|