SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Progettazione del Software

Lezioni A.A. 2010/11

docente: Giuseppe De Giacomo

(Per esercizazioni vedere sito Prof. Mecella)


Registro delle lezioni

-->
Settimana Argomento Lunedì (ore 14:00:-17:15) Mercoledì (ore 12:00-13:30)
1:14-20mar 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:21-27mar 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:28mar-03apr 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:04-10apr

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:11-17apr Progettazione: diagramma delle attività Lezioni 25-28 (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
Lezioni 29,30 (Licidi)
- Diagrammi delle attività
- Attività atomiche
- Attività concorrenti
- Specifica di operazioni
- Pre e post condizioni
- Specifica di attività complesse
- Uso di pseudo codice
6:18-24apr Realizzazione: concorrenza in Java

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

Lezioni 35,36 (Lucidi)
- Accesso ad oggetti/risorse condivise
- Synchonized
- Deadlock

7:25apr-01mgg Realizzazione: concorrenza in Java
Vacanze Pasqua

Lezioni 37,38 (Lucidi)
- Realizzazione di coppie di processi produttore-cosumatore
- wait and notifyAll/notify
- Coda condivisa limitata (bounded buffer)

8:02-08mgg 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

Lezione annullata
9:09-15mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni

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

 

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

 

10:16-22mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni
Sospensione della didattica
Lezioni 49,50(Lucidi)
- Realizzazione concorrente di diagrammi stati e transizioni  
11:23-29mgg Progetto e Realizzazione: diagramma degli stati e delle transizioni

Lezioni 51,54 (Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni

Lezioni 55,56(Lucidi)
- Diagrammi delle Attività e Diagrammi degli stati e delle transizioni
12:30mgg-05giug Esercizi d'esame
Sospensione della didattica
Lezioni 57,58(Lucidi)
- Esercizi d'esame
13:06-12giug Esercizi d'esame

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

 


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