INFORMAZIONI SU

Progettazione e analisi orientate agli oggetti (tace a.a. 2013/2014)

Programma dell'insegnamento di Progettazione e analisi orientate agli oggetti - Corso di laurea magistrale in Informatica (2013/14)

Docente

Prof. Stefano Mizzaro sito web

Crediti

6 CFU

Finalità

Il corso, che presuppone la conoscenza di base della programmazione OO (Orientata agli Oggetti), mira ad introdurre i concetti e le tecniche avanzati di analisi e progetto del mondo OO. La trattazione non sarà né formale né eccessivamente pratica, ma soprattutto concettuale. Verranno descritti: il linguaggio di modellazione UML (Unified Modeling Language), i principi di costruzione di un buon software OO e i design pattern. Verranno anche discussi alcuni casi di studio di problemi reali.

Programma

* UML per il progetto. I diagrammi UML usati per la progettazione: 
diagrammi di classe, di collaborazione, di sequenza, degli stati, di attività, dei componenti e del dispiegamento (deployment).
* I principi della progettazione OO. I concetti e le tecniche che consentono di costruire progetti OO di buona qualità, ad esempio: 
domini, ingombro, coesione, spazio degli stati, comportamento, conformità di tipo, progetto per contratti, ecc.
* I design pattern. I design pattern stanno alla progettazione OO come la programmazione strutturata sta alla programmazione imperativa classica. I pattern sono schemi di soluzioni ricorrenti, la cui conoscenza semplifica il progetto di nuovo software OO. Vengono presentati e analizzati i pattern principali.
* UML per l’analisi. Viene completata la presentazione di UML, introducendo i diagrammi di classe concettuali e dei casi d’uso. Vengono discusse le principali tematiche dell’analisi OO con UML.
* Il Refactoring. Viene presentata l'attività del refactoring, volta a migliorare codice già esistente e funzionante.
* Casi di studio e approfondimenti. I concetti e le tecniche introdotti vengono esemplificati in situazioni reali, attraverso un’attività seminariale che può essere svolta, opzionalmente, anche dagli studenti.

Bibliografia

* M. Page-Jones. Progettazione a oggetti con UML, Apogeo, Milano, 2002. ISBN 88-7303803-4.
* E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Addison Wesley, 1997, ISBN: 0201634988.
* M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999, ISBN: 0201485672.
* A. Shalloway and J. Trott, Design Patterns Explained – A New Perspective on Object Oriented Design, 2a edizione, Addison Wesley, 2004, ISBN: 0321247140.
* Altri testi e materiale fornito a lezione.

Modalità d'esame

Orale su appuntamento ed attività extra opzionale (seminario, approfondimento, ecc.)