Progettazione model driven del software

A.A. 2023/2024
6
Crediti massimi
60
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento presenta i principi e le tecniche per la progettazione model-driven di applicazioni software. L'obbiettivo principale è quello di presentare l'approccio di progettazione di sistemi software basato sull'uso di modelli, di trasformazioni di modelli, e di pattern architetturali per un design a componenti.
Risultati apprendimento attesi
Lo studente saprà affrontare la progettazione e la documentazione di progetti software di medie dimensioni. Avrà imparato a produrre la specifica completa dai requisiti informali ed a sviluppare codice orientato agli oggetti partendo da modelli. Avrà acquisito competenze su pattern ricorrenti sia di progettazione che di architetture.
Corso singolo

Questo insegnamento può essere seguito come corso singolo.

Programma e organizzazione didattica

Edizione unica

Periodo
Primo semestre

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.
Programma delle attività di laboratorio:
- Uso dell'ambiente UML Star
- Sviluppo in Modelio dei diversi diagrammi UML
- Sviluppo di un modello UML partendo da requisiti informali
- Codiifica in Java di un modello di progetto in UML
Prerequisiti
Prerequisiti del corso sono le conoscenze ed i concetti forniti dagli insegnamenti di Programmazione e di Progettazione del Software Sicuro. Il superamento di tali esami è quindi fortemente consigliato.
Metodi didattici
Lezioni frontali ed esercitazioni in laboratorio
Materiale di riferimento
· Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel. UML @ Classroom. An Introduction to Object-Oriented Modeling. Springer. 2015
· 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.
· Craig Larman. Applying UML and Patterns. An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) - Prentice Hall (2004).

Web site:
http://ericcobeneps.ariel.ctu.unimi.it/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di una prova scritta e di una prova pratica, entrambe obbligatorie. La prova scritta, della durata di due ore, punta ad accertare le
conoscenze dello studente sugli aspetti teorici della materia (tramite domande a risposta aperta e/o esercizi). La prova pratica consiste nello
sviluppo di un modello UML, e successiva implementazione in Java, di un progetto i cui requisiti informali sono forniti dal docente. Tale prova mira
ad accertare le competenze dello studente sulla modellazione del Software mediante UML e sua implementazione in Java. La valutazione di
entrambe le prove è in trentesimi ed il voto finale è la media delle due valutazioni.
INF/01 - INFORMATICA - CFU: 6
Laboratori: 24 ore
Lezioni: 36 ore
Docente/i
Ricevimento:
Su appuntamento
Ricevimento:
su appuntamento
Dipartimento di Informatica