Ingegneria del software

A.A. 2023/2024
12
Crediti massimi
120
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'obiettivo dell'insegnamento è fornire agli studenti la conoscenza dei modelli e degli strumenti per l'analisi, il progetto, lo sviluppo e il collaudo dei sistemi software, e di metterli in grado di progettare, sviluppare e collaudare sistemi software.
Risultati apprendimento attesi
Lo studente sarà in grado di pianificare lo sviluppo di progetti software di medie dimensioni. Saprà affrontare la modellazione dei requisiti, sviluppare il codice dal modello e convalidarlo.
Avrà acquisito competenze su pattern ricorrenti sia di progettazione che di architetture.
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Periodo
Primo semestre

Programma
1. PRODOTTO E PROCESSO. Proprietà del software. Ciclo di vita del software: fasi di sviluppo del software, modelli di ciclo di vita. Modelli di sviluppo "agile".
2. REQUISITI E SPECIFICHE. Dominio del problema e dominio della soluzione. Linguaggi Operazionali e Dichiarativi per le specifiche.
3. PROGETTAZIONE E IMPLEMENTAZIONE. Design pattern, principi di modellazione orientata agli oggetti. Design by contract.
4. VERIFICA E CONVALIDA. Tecniche di analisi e di testing di unità integrazione e sistema.
Prerequisiti
Prerequisiti del corso sono le competenze acquisite negli insegnamenti di Programmazione 2. Il superamento di tale esame è quindi fortemente consigliato.
Metodi didattici
Lezioni frontali ed esercitazioni in laboratorio, La frequenza è fortemente consigliata.
Materiale di riferimento
· Ghezzi Carlo, Jazayeri Mehdi, Mandrioli Dino. Ingegneria del software. Fondamenti e principi. Pearson Education Italia, 2004, 2ª ed.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di una prova di laboratorio pratica (durata 4 ore) e una prova orale.
La prova pratica consiste nello sviluppo di un progetto software da sviluppare in linguaggio Java a partire dai requisiti forniti dal docente. La prova orale consiste in un colloquio sugli argomenti dell'insegnamento, volto in particolare ad accertare il senso critico sviluppato dallo studente in ordine agli argomenti presentati a lezione.

Al termine della prova orale viene formulata la valutazione complessiva, espressa in trentesimi, tenendo conto dei seguenti parametri: qualità del progetto svolto in laboratorio, grado di conoscenza degli argomenti e degli strumenti presentati durante l'insegnamento, capacità di ragionamento critico, chiarezza espositiva e proprietà di linguaggio.
INF/01 - INFORMATICA - CFU: 12
Laboratori: 48 ore
Lezioni: 72 ore
Turni:
Turno B
Docente: Monga Mattia
Docente/i
Ricevimento:
su appuntamento
ufficio 5006 Via Celoria 18 - Milano
Ricevimento:
Su appuntamento
Uff. 5004, Via Celoria 18, Milano