Laurea magistrale in Informatica per la comunicazione (Università degli Studi di Milano)
Questo insegnamento introduce le tecniche basilari per la progettazione di sistemi software complessi.
Avvisi
Lingua
Le lezioni sono in italiano.
Orari del corso
Le lezioni si svolgeranno presso il dipartimento di Scienze dell'Informazione, secondo il seguente orario:
Giorno | Ora | Luogo |
---|---|---|
martedì | 9:30 - 11:30 | aula alfa |
giovedì | 12:30 - 14:30 | aula beta |
Eventuali variazioni rispetto al calendario pianificato verranno comunicate in aula e pubblicizzate nel paragrafo Avvisi di questa pagina.
Ricevimento studenti
Su appuntamento, stanza 5015 del Dipartimento di Informatica.
È possibile contattare il docente tramite posta elettronica, avendo cura di leggere preventivamente la guida predisposta dal Prof. Sebastiano Vigna e di specificare chiaramente nell'oggetto del messaggio il nome dell'insegnamento e l'anno accademico. In particolare, si invitano gli studenti a usare sempre come mittente l'indirizzo fornito loro dall'Ateneo (basato cioè sul dominio studenti.unimi.it
) firmando con nome, cognome e matricola e ricordando che i tempi di risposta possono variare in funzione degli impegni del docente.
Materiale didattico
La parte di ingegneria del software fa riferimento al testo: Eric J. Braude, Michael E. Bernstein, Software Engineering -- Modern Approaches, Second Edition, Wiley, 2011 (ISBN 978-0-471-69208-9).
La parte sui design pattern è basata su: Eric Freeman, Elisabeth Freeman, Head First -- Design Patterns, O'Reilly, 2004 (ISBN 0-596-00712-4).
Le trattazione su SWT è presa dai tutorial che riguardano i widget di base e i dispositori predisposti dalla University of Manitoba. I più arditi possono cimentarsi con i widget avanzati.
Gli strumenti di sviluppo introdotti sono descritti nel tutorial su JUnit, nel capitolo 2 e nel capitolo 4 (fino al paragrafo «Advanced Merging» escluso) del volume Version Control with Subversion, nonché nei tutorial Hg Init e An Introduction to the UNIX Make Utility.
Programma
Il programma riguarda gli argomenti dettagliati nel calendario delle lezioni, che corrisponde al materiale trattato sul libro di testo all'interno dei capitoli da 1 a 9.
Calendario delle lezioni
Data | Argomento |
---|---|
08/03/2011 | Introduzione |
15/03/2011 | Strategy |
22/03/2011 | Progettazione orientata agli oggetti e test unitari |
24/03/2011 | Ciclo di vita del software |
29/03/2011 | Singleton e simple factory |
31/03/2011 | Interfacce grafiche |
07/04/2011 | UML |
12/04/2011 | UML |
14/04/2011 | Observer |
19/04/2011 | Change control e version control |
28/04/2011 | Tool di sviluppo |
03/05/2011 | Factory |
05/05/2011 | Template method |
10/05/2011 | Adapter |
12/05/2011 | Façade e decorator |
17/05/2011 | Command |
19/05/2011 | Iterator |
24/05/2011 | Composite |
26/05/2011 | Model-View-Controller |
31/05/2011 | Model-View-Controller |
07/06/2011 | State |
09/06/2011 | Altri pattern |
14/06/2011 | Esercizi riepilogativi |
16/06/2011 | GWT e Model-View-Presenter |
Modalità d'esame
L'esame consiste in una prova orale.
Appelli d'esame
Sessione | Data | |
---|---|---|
giugno | 20/06/2011 | |
luglio | 14/07/2011 | |
settembre | 19/09/2011 | |
ottobre | 12/10/2011 | |
gennaio | 12/01/2012 | |
gennaio | 27/01/2012 |