Progettazione model driven del software

A.A. 2016/2017
Insegnamento per
6
Crediti massimi
60
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
Il corso presenta i principi, i processi e le tecniche per la progettazione model-driven di applicazioni software. L'obiettivo del corso è quello di introdurre le più moderne tecniche di progettazione basate sull'uso di modelli, a diversi livelli di astrazione sia PIM (platform independent model) che PSM (platform specific model), l'uso delle trasformazioni di modelli per la codifica, e design pattern architetturali per un design a componenti.
Alla fine del corso lo studente sarà in grado di affrontare la progettazione e la documentazione di progetti software di medie dimensioni. Avrà imparato a produrre la specifica completa in termini di modelli UML partendo dai requisiti informali. Avrà acquisito competenze su pattern ricorrenti sia di progettazione che di architetture. Sarà inoltre in grado di sviluppare la codifica in Java partendo dalla modellazione UML

Struttura insegnamento e programma

Edizione attiva
Moduli o unità didattiche
Unita' didattica laboratorio
INF/01 - INFORMATICA - CFU: 1
Laboratori: 24 ore

Unita' didattica lezioni
INF/01 - INFORMATICA - CFU: 4
Lezioni: 36 ore

Informazioni sul programma
Alla fine del corso lo studente sarà in grado di affrontare la progettazione e la documentazione di progetti software di medie dimensioni. Avrà imparato a produrre la specifica completa in termini di modelli UML partendo dai requisiti informali. Avrà acquisito competenze su pattern ricorrenti sia di progettazione che di architetture. Sarà inoltre in grado di sviluppare la codifica in Java partendo dalla modellazione UML.
Propedeuticità
Programmazione, Algoritmi e Strutture Dati
Prerequisiti e modalità di esame
Le conoscenze ed i concetti forniti dai corsi di Programmazione, Algoritmi e Strutture Dati.
Scritto e prova pratica
Metodi didattici
Lezioni frontali
Unita' didattica lezioni
Programma
1. MODEL-DRIVEN ENGINEERING. Principi dell' MDE. Modello e meta modello. Contesti di applicazione dell' MDE: MDA (model-driven architecture), Profili UML per la specifica di Domain-Specific Languages.
2. MODELLAZIONE UML: SPECIFICA STRUTTURALE. Modellare con le classi (diagramma delle classi, diagramma degli oggetti). Specifica dei vincoli: OCL. Uso dei Design pattern.
3. MODELLAZIONE UML: SPECIFICA COMPORTAMENTALE. Modellare interazioni e comportamento (diagrammi di interazione, macchine di stato, diagrammi di attività).
4. PROCESSO UP (UNIFIED PROCESS) E SPECIFICA DI ARCHITETTURE SW. Il processo UP. Principi guida per lo sviluppo di architetture SW. Modellazione UML dell' architettura (diagramma delle componenti, digramma di dislocamento). Pattern architetturali.
Metodi didattici
Lezioni frontali
Materiale didattico e bibliografia
· Martin Fowler. UML distilled. Guida rapida al linguaggio di modellazione standard, Pearson Education Italia, 2010, 4ª ed.
· Luciano Baresi, Luigi Lavazza, Massimiliano Pianciamore. Dall'idea al codice con UML 2. Guida all'utilizzo di UML attraverso esempi. Con CD-ROM., Pearson Education Italia, 2006.
· Timothy C. Lethbridge and Robert Laganière. Object-Oriented Software Engineering: Practical Software Development using UML and Java. Second Edition. McGraw Hill.
· Craig Larman. Applying UML and Patterns. An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) - Prentice Hall (2004).
Unita' didattica laboratorio
Programma
1. MODEL-DRIVEN ENGINEERING. Principi dell' MDE. Modello e meta modello. Contesti di applicazione dell' MDE: MDA (model-driven architecture), Profili UML per la specifica di Domain-Specific Languages.
2. MODELLAZIONE UML: SPECIFICA STRUTTURALE. Modellare con le classi (diagramma delle classi, diagramma degli oggetti). Specifica dei vincoli: OCL. Uso dei Design pattern.
3. MODELLAZIONE UML: SPECIFICA COMPORTAMENTALE. Modellare interazioni e comportamento (diagrammi di interazione, macchine di stato, diagrammi di attività).
4. PROCESSO UP (UNIFIED PROCESS) E SPECIFICA DI ARCHITETTURE SW. Il processo UP. Principi guida per lo sviluppo di architetture SW. Modellazione UML dell' architettura (diagramma delle componenti, digramma di dislocamento). Pattern architetturali.
Metodi didattici
Lezioni frontali
Materiale didattico e bibliografia
· Martin Fowler. UML distilled. Guida rapida al linguaggio di modellazione standard, Pearson Education Italia, 2010, 4ª ed.
· Luciano Baresi, Luigi Lavazza, Massimiliano Pianciamore. Dall'idea al codice con UML 2. Guida all'utilizzo di UML attraverso esempi. Con CD-ROM., Pearson Education Italia, 2006.
· Timothy C. Lethbridge and Robert Laganière. Object-Oriented Software Engineering: Practical Software Development using UML and Java. Second Edition. McGraw Hill.
· Craig Larman. Applying UML and Patterns. An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) - Prentice Hall (2004).
Periodo
Secondo semestre
Periodo
Secondo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Docente/i
Ricevimento:
Su appuntamento via e-mail
Dipartimento di Informatica - sede di Crema o sede di via Celoria 18
Ricevimento:
su appuntamento
Dipartimento di Informatica