SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Progettazione del Software
(Canale A-L, Ord509, Nettuno)

Lezioni A.A. 2009/10

docente: Giuseppe De Giacomo


Registro delle lezioni

Settimana Argomento Lunedì (ore 15:45:-19:00) Giovedì (ore 17:30-19:00)
1:01-07mar Introduzione

Lezioni 1-4 (Licidi)
- Introduzione alla progettazione
- Ciclo di vita del software
- Le qualità
- La modularizzazione
- Tipi di dato astratto (cap 13 libro Fond. I)
- Schemi realizzativi (cap 13 libro Fond. I)

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

2:08-14mar 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:15-21mar Analisi: 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:22-28mar

Progettazione: 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
- 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..*)

5:29mar-04apr Realizzazione: diagramma delle classi UML
Vacanze Pasqua
Vacanze Pasqua
6:05-11apr Realizzazione: diagramma delle classi UML
Vacanze Pasqua

Lezioni 25,26 (Licidi)
- Realizzazione di ISA e generalizzazioni
- Simulazione dell'ereditarietà multipla in JAVA

7:12-18apr Progettazione: diagramma delle attività

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

Lezioni 31,32 (Licidi)
- Specifica di attività complesse
- Uso di pseudo codice
- Concorrenza in Java - intro

8:19-25apr Realizzazione: concorrenza in Java

Lezioni 33,36
- Concorrenza in Java
- L'interfaccia Runnable (l'eseguibile) e la classe Thread (l'esecutore)
- start
- sleep, interruptedException
- join
- Uso di synchonized

Lezioni 37,38 (Lucidi)
- Uso di synchonized
- wait and notifyAll/notify

9:26apr-02mgg Realizzazione: diagramma delle attività

Lezioni 39,42 (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 43,44(Lucidi)
- Diagrammi degli stati e delle transizioni
10:26apr-02mag Progetto e Realizzazione: diagramma degli stati e delle transizioni

Lezioni 45,48 (Lucidi)
- Realizzazione sequenziale di diagrammi stati e transizioni
- Realizzazione concorrente di diagrammi stati e transizioni

Lezioni 49,50(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
11:03mag-09mag Progetto e Realizzazione: diagramma degli stati e delle transizioni

Lezioni 45,48 (Lucidi)
- Realizzazione sequenziale di diagrammi stati e transizioni
- Realizzazione concorrente di diagrammi stati e transizioni

Lezioni 49,50(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
12:10mag-16mag Interruzione corso
Interruzione corso
Interruzione corso
13:17mag-23mag Progetto e Realizzazione: diagramma degli stati e delle transizioni

Lezioni 51,54 (Lucidi)
- Diagrammi delle Cassi, delle Attività e degli Stati e delle Transizioni

Lezioni 55,56(Lucidi)
- Diagrammi delle Cassi, delle Attività e degli Stati e delle Transizioni
14:23mag-30mag Esercizi d'esame

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

Lezioni 61,62(Lucidi)
- Esercizi d'esame


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