Didattica

Ingegneria del software @ UNIMI

Ingegneria del software

Corso della Laurea triennale in Informatica

Appelli

Calendario Appelli

Attenzione

Per richiedere la verbalizzazione bisogna avere superato la prova di laboratorio, avere sostenuto con successo l'orale ed essere iscritti a un appello Sifa. Solo una volta passata la data dell'appello Sifa dovrete mandarmi la email di accettazione con i vostri dati, ad esempio clickando qui

Laboratorio

Video inizio Lab 10



Ho registrato le spiegazioni di come potevano partire nel laboratorio su MVC e mocking:
  • la coppia 1 per implementare e testare una View Testuale
  • la coppia 2 per implementare e testare un Model

Sono da guardare prima del laboratorio

Presenze e valutazioni

Elenco voti parziali e finali 2019

Ritardo correzione III compitino

I risultati del 3° compitino sono finalmente usciti.

Se avete nel frattempom sostenuto esame orale e siete iscritti a appello SIFA passato, potete mandarmi email per verbalizzazione.

La data di verbalizzazione sarà la data dell'appello SIFA a cui vi siete iscritti.

Requisiti per poter usare il proprio computer

Software necessario per poter usare il proprio computer:

Avvisi

Voti laboratorio anni precedenti

2017-18, 2016-17, 2015-16, 2014-15, 2013-14, 2012-13, 2011-12

Materiale 2016-17

Processi

Lezione # Argomento Risorse
LEZ01 Introduzione. Qualità del software Introduzione. Qualità del software

LEZ02 Attività di sviluppo. Modello di ciclo di vita del software Waterfall (Cascata) Attività di sviluppo. Modello di ciclo di vita del software Waterfall (Cascata)

LEZ03 Diversi modelli ciclo di vita del software Diversi modelli ciclo di vita del software

LEZ04 Metodi agili e extreme programming Metodi agili e extreme programming

LEZ05 Introduzione a Open Source e strumenti di versioning Introduzione a Open Source e strumenti di versioning

LEZ06 Introduzione a Open Source Process Introduzione a Open Source Process

LEZ07 Git Workflows. Build automation tools. Bug tracking. CMMI - Capability Maturity Model Git Workflows. Build automation tools. Bug tracking. CMMI - Capability Maturity Model

LEZ08 PSP - Personal Software Process PSP - Personal Software Process

LAB01 Introduzione al TDD con Kata 'Numeri Romani' Introduzione al TDD con Kata 'Numeri Romani'
 ZIP
LAB02 Introduzione al TDD (con JUnit) con Kata 'Bowling Score' Introduzione al TDD (con JUnit) con Kata 'Bowling Score'
  lab02
LAB03 Introduzione al TDD (con git flow) con Kata 'IntLinkedList' Introduzione al TDD (con git flow) con Kata 'IntLinkedList'
  lab03
LAB04 Introduzione al TDD (e refactoring) con Kata 'StringCalculator' Introduzione al TDD (e refactoring) con Kata 'StringCalculator'
  lab04
LAB05 Prova in itinere Prova in itinere   lab05-17
  lab05-18
  lab05-19

Progettazione

Lezione # Argomento Risorse
LEZ08

LEZ09

LEZ10

LEZ11

LEZ12

LEZ13

LAB06 Semplici patterns con Kata 'Feline' Semplici patterns con Kata 'Feline'
  lab06
LAB07 Semplici patterns con Kata 'Feline' (cont) Semplici patterns con Kata 'Feline' (cont)
  lab07
LAB08 Progetto 'KWIC' Progetto 'KWIC'
  lab08
LEZ18 Prosecuzione a lezione progetto 'KWIC' Prosecuzione a lezione progetto 'KWIC'
LAB09 Prova in itinere (il video si riferisce a quella del 2018) Prova in itinere (il video si riferisce a quella del 2018)
  lab09-17
  lab09-18
  lab09-19
LEZ23 seminario prof. Monga su Smalltalk seminario prof. Monga su Smalltalk

Verifica e Convalida

Lezione # Argomento Risorse
LEZ13 Introduzione a Verifica e convalida. Terminologia base Introduzione a Verifica e convalida. Terminologia base

LEZ14 Test unità. Primi criteri di copertura. Analisi statica Test unità. Primi criteri di copertura. Analisi statica

LEZ15 Altri criteri di copertura. Test unità e OO. Test Mutazionale. Test Doubles: Mocking. Test Funzionale Altri criteri di copertura. Test unità e OO. Test Mutazionale. Test Doubles: Mocking. Test Funzionale

LEZ16 Mocking: DEMO con Mockito. Testing funzionale e OO. Ispezione del codice Mocking: DEMO con Mockito. Testing funzionale e OO. Ispezione del codice

LEZ17 Debugging con DEMO debugger Eclipse Debugging con DEMO debugger Eclipse

LAB10 Kata MVC e mocking Kata MVC e mocking   lab10
LAB11 Laboratorio su debugging Laboratorio su debugging   lab11
LAB12 Prova in itinere Prova in itinere   lab12-17
  lab12-18

Specifiche formali con reti di Petri

Lezione # Argomento Risorse
LEZ17 Introduzione reti di petri Introduzione reti di petri

LEZ19 Esempi Reti di Petri. Relazioni tra transizioni. Raggiungibilità, Limitatezza, Conservatività. Vitalità delle transizioni. Capacità dei posti, posti complementari, archi inibitori Esempi Reti di Petri. Relazioni tra transizioni. Raggiungibilità, Limitatezza, Conservatività. Vitalità delle transizioni. Capacità dei posti, posti complementari, archi inibitori

LEZ20 Analisi di reti di Petri. Albero di raggiungibilità e Albero di Copertura (delle marcature raggiungibili). Rappresentazione matriciale. P-Invarianti e T-invarianti. Controllori con specifica a stati proibiti Analisi di reti di Petri. Albero di raggiungibilità e Albero di Copertura (delle marcature raggiungibili). Rappresentazione matriciale. P-Invarianti e T-invarianti. Controllori con specifica a stati proibiti

LEZ21 Reti di Petri Temporizzate Reti di Petri Temporizzate

LEZ22 Analisi di reti di petri temporizzate Analisi di reti di petri temporizzate