Progettazione e analisi orientate agli oggetti
- Corso per le lauree specialistiche in Informatica e Tecnologie
dell'Informazione, A.A. 04/05
- Docente: Stefano Mizzaro
- Il corso sarà simile a quello dello
scorso A.A., a cui potete fare riferimento per farvi un'idea del
programma del corso e degli argomenti principali. Probabilmente ci
saranno alcune variazioni, ma niente di sconvolgente.
- È stato creato un gruppo di
discussione per questo corso. Per iscriverti, mandami un email.
- I risultati delle valutazioni della didattica da parte degli
studenti.
- Elenco delle lezioni e degli argomenti (i lucidi usati a lezione,
insieme ad altro materiale, sono sul sito per il materiale
didattico dell'università di Udine):
- 10.1.2005. Introduzione al corso.
- 11.1.2005. Che cosa vuol dire "Object Oriented".
- 12.1.2005. Introduzione a UML.
- 13.1.2005. I diagrammi di UML per il progetto OO: i diagrammi di classe.
- 17.1.2005. I principi del progetto OO - 1: incapsulamento, dipendenza, domini, ingombro, Demeter.
- 18.1.2005. I principi del progetto OO - 2: la legge di Demeter, coesione, spazio degli stati, transizioni, comportamento ed eredità. Javadoc.
- 19.1.2005. I principi del progetto OO - 3: invarianti, pre- e post-condizioni, progetto per contratto, conformità di tipo e comportamento chiuso.
- 20.1.2005. 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).
- 24.1.2005. I design pattern - 1: Introduzione ai pattern di progetto, motivazioni, importanza, classificazione. I primi pattern (Adapter, Facade, Composite, Decorator).
- 25.1.2005. I design pattern - 2: Altri pattern (Bridge, Proxy, Flyweight). Analisi dei pattern strutturali. Esempio.
- 26.1.2005. I design pattern - 3. I pattern creazionali: Factory Method, Abstract Factory, Singleton, Prototype (e Object.clone di Java) e Builder. Breve analisi dei pattern creazionali. Il primo pattern comportamentale (Template Method).
- 27.1.2005. I design pattern - 4: Altri pattern comportamentali (Strategy, State, Command, Observer, Mediator, Memento).
- 31.1.2005. I design pattern - 5. Gli ultimi pattern comportamentali (Iterator, Visitor, Chain of Responsibility, Interpreter). Confronti fra i pattern comportamentali. Confronti, analisi e commenti su tutti i pattern.
- 1.2.2005. I design pattern - 6. Esempio di uso dei pattern: API di un file system. Altri commenti sui pattern. Model View Controller e cenni ai pattern architetturali.
- 2.2.2005. Il Refactoring - 1. Introduzione al Refactoring. Un esempio (si veda anche il codice).
- 3.2.2005. Il Refactoring - 2. Definizioni e
principi generali. Inizio del catalogo di refactoring. Descrizione università italiana.
- 15.2.2005 Il Refactoring - 3. Catalogo di refactoring.
- 17.2.2005. Il Refactoring - 4. Catalogo di "puzze", associazioni
puzze-refactoring, cenni ai big refactoring. Conclusione
esempio. Cenni al FW OO JUnit.
- 21.2.2005. Cenni all'analisi orientata agli oggetti (OOA). Cenni ai pattern di analisi.
- 22.2.2005. Esempio: PAOO di un sistema per la diffusione della cultura scientifica.
- 24.2.2005. Seminario di Paolo Casoto: Introduzione a
XSL. Seminario di Arjuna Del Toso: Introduzione a CVS.
- 3.3.2005. Seminario di Luca Busin su Javadoc ed
estensioni. Discussione su CVS e XSL.
- 8.3.2005. Seminario di Luca Di Gaspero su EasyLocal++: uso dei
design pattern in un Framework OO per la ricerca locale.
- 9.3.2005. Seminario di Mauro Lorenzutti sui Sistemi MultiAgente. Panoramica e cenni a JADE.
- 10.03.2005. Seminario di Giuseppe Fullin e Paolo Zuliani sul
Profiling.
Chiusura del corso: riassunto, esame, informazioni
su tesi di laurea.
Tutto il materiale didattico di mia produzione, accessibile da
queste pagine o sul sito
per il materiale didattico dell'università di Udine,
è disponibile con la licenza Creative Commons, nella
variante Creative Commons Attribution-NonCommercial
License:
This work is licensed under a Creative Commons License.
Stefano Mizzaro
Last modified: Fri Jul 8 14:54:18 CEST 2005