Progettazione e analisi orientate agli oggetti
- Corso della laurea specialistica in informatica, A.A. 03/04
- Docente: Stefano Mizzaro
- Il programma preliminare
del corso con gli argomenti principali (il programma è
presentato e discusso anche nei lucidi della prima lezione).
- Lucidi usati a lezione (Nota 1: quando trovo
imprecisioni nei lucidi, li modifico. Potreste quindi aver
scaricato una copia non aggiornata. Nota 2. Materiale
distribuito con
la licenza Creative
Commons, nella variante Creative Commons
Attribution-NonCommercial License:
.
):
- 1a lezione (15/1): Introduzione al
corso [PDF]
- 2a lezione (22/1): Che cosa vuol dire
"Object Oriented" [PDF]
- 3a lezione (29/1): Introduzione ai
diagrammi di UML [PDF]
- 4a lezione (5/2): I diagrammi di UML per il progetto OO: i
diagrammi di classe [PDF] [PowerPoint zippato] Soluzioni degli esercizi:
[PDF] [PowerPoint zippato]
- 5a lezione (12/2): I principi del progetto OO - 1: incapsulamento,
dipendenza, domini, ingombro [PDF]
- 6a lezione (19/2): I principi del progetto OO - 2: la legge di
Demeter, coesione, spazio degli stati, transizioni, comportamento ed
eredità [PDF]
- 7a lezione (26/2): I principi del progetto OO - 3: invarianti,
pre- e post-condizioni, progetto per contratto, conformità di
tipo e comportamento chiuso [PDF] [PowerPoint zippato] La lezione
di giovedì 4/3 è annullata.
- 8a lezione (11/3): I principi del progetto OO - 4: Progetto per
contratto in Java, i pericoli di ereditarietà e polimorfismo,
genericità (cenni), ancora sull'interfaccia di una classe
(anelli di operazioni, tipologie di stati e di comportamento), ancora
sulla coesione (di operazione/metodo) [PDF]
[PowerPoint zippato]
- 9a lezione (16/4): I design pattern - 1: Introduzione ai pattern
di progetto, motivazioni, importanza, classificazione. I primi pattern
(Adapter, Facade, Composite, Decorator) [PDF] [PowerPoint
zippato]
- 10a lezione (19/4): I design pattern - 2: Altri pattern (Bridge,
Proxy, Flyweight). Esempi. [PDF] [PowerPoint zippato]
La lezione del 23/4 è annullata per partecipazione a sciopero e
sostituita da una discussione sulla situazione dell'università
italiana.
- 11a lezione (26/4) I design pattern - 3: Analisi dei pattern
strutturali. Intermezzo: cenni a Javadoc. Altri pattern (i pattern
creazionali): Factory Method, Abstract Factory, Singleton, Prototype,
Builder. [PDF] [PowerPoint zippato] [Codice per l'esempio giocattolo su
Javadoc]
- 12a lezione (30/4) I design pattern - 4: Analisi dei pattern
creazionali. I primi pattern comportamentali (Template Method,
Strategy, State, Command). [PDF] [PowerPoint zippato]. Seminario di Mauro
Lorenzutti su JUnit: [lucidi, relazione,
codice]
- 13a lezione (3/5) I design pattern - 5: Un altro pattern
comportamentale (Observer). [PDF] [PowerPoint zippato]. Seminario di
Gianluca Demartini su XP (eXtreme Programming): [lucidi]
- 14a lezione (7/5) I design pattern - 6: Gli ultimi pattern
comportamentali (Mediator, Memento, Iterator, Visitor, Chain of
Responsibility, Interpreter). Confronti fra i pattern. [PDF] [PowerPoint
zippato].
- 15a lezione (10/5) Introduzione al Refactoring. Un
esempio. Definizioni e principi generali. [PDF] [PowerPoint
zippato] [Codice
dell'esempio giocattolo su noleggio film].
AVVISO: A
partire da questa settimana e fino a nuovo avviso, la lezione del
venerdì è spostata al mercoledì, 3a fascia (15:00
- 16:45), aula I.
- 16a lezione (12/5) Seminario di Emanuele Rosso su Servlet e
Tomcat: [PDF] [PowerPoint zippato].
Seminario di Adolfo Bulfoni su Java Server Pages: [PDF] [PowerPoint zippato]
- 17a lezione (17/5) Il Refactoring - 2. Definizioni e principi
generali. Inizio del catalogo di refactoring. [PDF] [PowerPoint
zippato]
- 18a lezione (19/5) Il Refactoring - 3. Catalogo di
refactoring. [PDF] [PowerPoint zippato]
Intermezzo:
Object.clone() [PDF] [PowerPoint zippato]
- 19a lezione (24/5) Seminario di Michele Zennaro su Estensioni Web
di UML [PDF] [PowerPoint zippato].
Il Refactoring - 4. Catalogo di "puzze". Cenni ai "Big
refactoring". [PDF] [PowerPoint zippato]
- 20a lezione (26/5) Seminario di Stefano Valle e Luca Vassena su
J2ME (Java 2 Micro Edition) [PDF] [PowerPoint zippato].
- 21a lezione (28/5) Seminario del dott. Andrea Baruzzo su Diagrammi
UML di qualità [PDF].
- 22a lezione (31/5) Seminario del Prof. Andrea Schaerf e del
dott. Luca Di Gaspero sul framework OO EasyLocal++.
AVVISO:
Sarò assente tutta la settimana per partecipazione a un
convegno; la lezione successiva sarà pertanto lunedì 7
giugno.
- 23a lezione (7/6) Cenni all'analisi orientata agli oggetti (OOA)
[PDF] [PowerPoint zippato].
Introduzione
ai sistemi multiagente. [PDF] [PowerPoint zippato]
- 24a lezione (9/6) Caso di studio: un'applicazione per lo studio
dell'evoluzione di reti neurali selezionate geneticamente.
- 25a lezione (11/6) Cenni ai pattern di analisi [PDF] [PowerPoint
zippato].
Chiusura corso (riassunto, esame, ecc.) [PDF] [PowerPoint
zippato]
- Modalità d'esame: su appuntamento. Mandatemi un email per
accordarci sulla data (non iscrivetevi su Sindy, non lo uso!).
Stefano Mizzaro
Last modified: Fri Jan 07 10:20:31 ora solare Europa occidentale 2005