SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Progettazione del Software

Lezioni A.A. 2012/13

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:25feb-3mar Introduzione



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

2:4-10mar Analisi: diagramma delle classi UML Lezioni 3-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()

Lezioni 7,8 (Licidi)
- Introduzione a UML
- Il diagramma delle classi in UML
- La nozione di classe

3:11-17mar Analisi & Progettazione: diagramma delle classi UML

Lezioni 9-12 (Licidi)
- Le associazioni
- Proprietà di associazioni
- Ruoli
- Vincoli di molteplicità

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

4:18-24mar

Progettazione & Realizzazione: diagramma delle classi UML

Lezioni 15-18 (Lucidi)

- La fase di progettazione
- Responsabilità sulle associazioni
- Strutture di dati e tipi
- 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

Lezioni 19,20 (Lucidi)


- Realizzazione di associazioni senza attributi con responsabilità singola e molteplicità (0..1) e (0..*)
- Realizzazione di associazioni con attributi con responsabilità singola e molteplicità (0..1) e (0..*) : TipoLink

5:25mar-31apr Progettazione & Realizzazione: diagramma delle classi UML Lezioni 21,24 (Lucidi)

- 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..*)
- Esercizio su diagramma delle classi UML, progetto e realizzazione
Vacanze Pasqua
6:1-7apr Progettazione & Realizzazione: diagramma delle classi UML
Vacanze Pasqua


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

7:8-14apr

Progettazione: diagramma delle attività

(concorrenza in Java)

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

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

8:15-21apr

Realizzazione: diagramma delle attività

(concorrenza in Java)

Lezioni 33,36(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)

Lezioni 37,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

9:21-28apr Realizzazione: diagramma delle attività

(concorrenza in Java)

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
-Esercizi

 

Vacanza Anniversario della Liberazione

 

10:29apr-5mgg

Analisi e progetto: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 43,46(Lucidi)
- Diagrammi degli stati e delle transizioni
- Specifica degli stati e delle transizioni

Lezioni 47,48(Lucidi)
- Progetto di diagrammi stati e transizioni
11:6-12mgg Realizzazione: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 49,52 (Lucidi)
- Realizzazione sequenziale di diagrammi stati e transizioni

Lezioni 53,54(Lucidi)
- Progetto e realizzazione concorrente di diagrammi stati e transizioni  
12:13-19mgg Realizzazione: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 55,58(Lucidi)
- Progetto e realizzazione concorrente di diagrammi stati e transizioni
- Diagrammi delle Classi, Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
- Esercizi d'esame

Lezione cancellata
13:20-26mgg Esercizi d'esame

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

FINE


Home page del corso di Progettazione del Software