SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Progettazione del Software

Lezioni A.A. 2011/12

docente: Giuseppe De Giacomo

(Per esercizazioni vedere sito Prof. Mecella)


Registro delle lezioni

Settimana Argomento Lunedì (ore 14:00:-17:15) Giovedì (ore 17:30-19:00)
1:27feb-4mar Introduzione

Lezioni 1-4 (Licidi)
- Introduzione alla progettazione
- Ciclo di vita del software
- Le qualità
- La modularizzazione

Lezioni 5,6 (Licidi,cap 13 libro Fond. I)
- Tipi di dato astratto (cap 13 libro Fond. I)
- Schemi realizzativi (cap 13 libro Fond. I)
- Schemi realizzativi privilegiati
- Realizzazione in Java di astrazione di valori
- Realizzazione in Java di astrazione di entità
- overriding di equals() / hashCode()
- clone()

2:5-11mar Analisi: diagramma delle classi UML
Lezioni 7-10 (Licidi)
- Introduzione a UML
- Il diagramma delle classi in UML
- La nozione di classe
- Le associazioni

Lezioni 11,12 (Licidi)
- Proprietà di associazioni
- Ruoli
- Vincoli di molteplicità

3:12-18mar Analisi & Progettazione: diagramma delle classi UML

Lezioni 13-16 (Licidi)
- Associazioni n-arie
- Associazioni ordinate
- La generalizzazione
- Ereditarietà
- Operazioni nella classi UML

Lezioni 17,18 (Lucidi)

- La fase di progettazione
- Responsabilità sulle associazioni
- Strutture di dati e tipi

4:19-25mar

Progettazione & Realizzazione: diagramma delle classi UML

Lezioni 19-22 (Lucidi)
- Realizzazione di tipi con side-effect e funzionale
- Gestione delle precondizioni- Realizzazione di Classi singole (senza associazioni: overriding di equals(), hashcode(), clone() nella realizzazione di classi UML
- Realizzazione di associazioni senza attributi con responsabilità singola e molteplicità (0..1) e (0..*)

Lezioni 23,24 (Lucidi)
- Realizzazione di associazioni con attributi con responsabilità singola e molteplicità (0..1) e (0..*) : TipoLink
- Esercizio su diagramma delle classi UML, progetto e realizzazione

5:26mar-1apr Progettazione & Realizzazione: diagramma delle classi UML Lezioni 25-26 (Licidi)
- Realizzazione di associazioni senza attributi con responsabilità doppia e molteplicità (0..1) e (0..*)
- Realizzazione di associazioni con attributi con responsabilità doppia e molteplicità (0..1) e (0..*) - Realizzazione di ISA e generalizzazioni
- Simulazione dell'ereditarietà multipla in JAVA
Lezione annullata
6:2-8apr Progettazione: diagramma delle attività

Lezioni 27-30 (Licidi)
- Diagrammi delle attività
- Attività atomiche
- Attività concorrenti
- Specifica di operazioni
- Pre e post condizioni
- Specifica di attività complesse
- Uso di pseudo codice

- Concorrenza in Java

Vacanze Pasqua
7:9-15apr Realizzazione: concorrenza in Java
Vacanze Pasqua

Lezioni 31,32 (Lucidi)
- Concorrenza in Java
- L'interfaccia Runnable (l'eseguibile) e la classe Thread (l'esecutore)
- start
- sleep, interruptedException
- join

8:16-22apr Realizzazione: diagramma delle attività
Lezione annullata

Lezioni 33,34(Lucidi)
- Concorrenza in Java
- Accesso ad oggetti/risorse condivise
- Synchonized
- Deadlock
- Realizzazione di coppie di processi produttore-cosumatore
- wait and notifyAll/notify
- Coda condivisa limitata (bounded buffer)

9:23-29apr Realizzazione: diagramma delle attività

Lezioni 35,38(Lucidi)
- Realizzazione di diagrammi delle attività
- Il pattern funtore
- realizzazioni di attività atomiche - task
- realizzazione di attività atomiche - I/O
- realizzazione di attività complesse

 

Lezioni 39,40 (Lucidi)
- Diagrammi degli stati e delle transizioni
- Specifica delle transizioni

 

10:30apr-6mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni
Lezione annullata
Lezioni 41,42(Lucidi)
- Realizzazione concorrente di diagrammi stati e transizioni  
11:7-13mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni

Lezioni 43,46 (Lucidi)
- Realizzazione concorrente di diagrammi stati e transizioni

Lezioni 47,48(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
12:14-20mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni Lezioni 49,52(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
Lezioni 53,54(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
13:21-27mgg Esercizi d'esame

Lezioni 55,58(Lucidi)
- Esercizi d'esame

Lezioni 59,60(Lucidi)
- Esercizi d'esame


Home page del corso di Progettazione del Software
Laurea in Ingegneria Informatica, SAPIENZA Università di Roma.