Corso Vittorio Emanuele II, 39 - Roma 0669207671

MOOC Massive Open Online Courses (Anno Accademico 2019/2020)

Ingegneria del Software


CFU: 5
Lingua contenuti:Italiano
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
Nessun Docente attualmente disponibile per questo corso
Docenti video
Prof. Mauro Pezzè - Università di Milano (Milano - Italy)
Elenco delle lezioni
Mauro Pezzè
    •  Lezione n. 2: Principi  Vai alla lezione
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
    •  Lezione n. 11: Progetto  Vai alla lezione
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
    •  Lezione n. 25: Ispezione  Vai alla lezione
Mauro Pezzè