SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Progettazione del Software

Lezioni A.A. 2013/14

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:24feb-2mar Introduzione

Lezioni 1-4 (Lucidi,cap 13 libro Fond. I)
- Introduzione al corso
- Introduzione alla progettazione
- Ciclo di vita del software
- Le qualità
- La modularizzazione

- Tipi di dato astratto (cap 13 libro Fond. I)

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

2:3-9mar Analisi: diagramma delle classi UML

Lezioni 7-10 (Lucidi)
- Introduzione a UML
- Il diagramma delle classi in UML
- La nozione di classe
- La nozione di attributo
- La nozione di associazione

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

3:10-16mar Analisi & Progettazione: diagramma delle classi UML

Lezioni 13-16 (Lucidi)
- Associazioni n-arie
- Associazioni ordinate
- La generalizzazione
-Esercizi

Lezioni 17-18 (Lucidi)
- La generalizzazione
- Ereditarietà
- Operazioni nella classi UML
- La fase di progettazione

4:17-23mar

Progettazione & Realizzazione: diagramma delle classi UML

Lezioni 19-22 (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 23,24 (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:24mar-30mar Progettazione & Realizzazione: diagramma delle classi UML


LEZIONE CANCELLATA

Lezioni 25,26 (Lucidi)

Realizzazione di associazioni con attributi con responsabilità doppia e molteplicità (0..1) e (0..*)



6:31 mar-6apr

Progettazione: diagramma delle attività

(concorrenza in Java)

Lezioni 27-30 (Lucidi)
- Realizzazione di ISA e generalizzazioni
- Simulazione dell'ereditarietà multipla in JAVA

- Diagrammi delle attività
- Attività atomiche
- Attività concorrenti
- Specifica di operazioni
- Pre e post condizioni

Lezioni 31,32 (Lucidi)
- Specifica di operazioni
- Pre e post condizioni
- Specifica di attività complesse
- Uso di pseudo codice
- Concorrenza in Java
- L'interfaccia Runnable (l'eseguibile) e la classe Thread (l'esecutore)

7:7-13apr

Progettazione: diagramma delle attività

(concorrenza in Java)

Lezioni 33-36 (Lucidi)
- Concorrenza in Java
- start
- sleep, interruptedException
- join
- 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 coppie di processi produttore-cosumatore
- wait and notifyAll/notify
- Coda condivisa limitata (bounded buffer)

8:14-20apr

Realizzazione: diagramma delle attività

(concorrenza in Java)

Lezioni 39,42(Lucidi)
- Realizzazione di diagrammi delle attività
- Pattern Funtore
- realizzazioni di attività atomiche - task
- realizzazione di attività atomiche - I/O
- realizzazione di attività complesse

- Esercizio "Telecomunicazioni"

Lezioni 43,44(Lucidi)

- Esercizi Esame solo con Classi e Attivita (senza Stati-Transizioni)

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

(concorrenza in Java)

VACANZE DI PASQUA


LEZIONE CANCELLATA

10:28apr-4mgg

Analisi e progetto: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 45,48(Lucidi)
- Diagrammi degli stati e delle transizioni
- Specifica degli stati e delle transizioni

Lezioni 49,50(Lucidi)
- Progetto di diagrammi stati e transizioni

- Pattern Observer-Observed

11:5-11mgg Realizzazione: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 51,54(Lucidi)
- Pattern Model View Controller

LEZIONE CANCELLATA
12:12-18mgg Realizzazione: diagramma degli stati e delle transizioni

(programmazione ad eventi)

Lezioni 55,58(Lucidi)
- Realizzazione sequenziale di diagrammi stati e transizioni

- Progetto e realizzazione concorrente di diagrammi stati e transizioni

Lezioni 59,60(Lucidi)
- Progetto e realizzazione concorrente di diagrammi stati e transizioni  
13:19-25mgg Esercizi d'esame

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

NO LEZIONE
14:19-25mgg Esercizi d'esame

Lezioni 65,66(Lucidi)
- Esercizi d'esame

FINE


Home page del corso di Progettazione del Software