Anno di corso: 1

Anno di corso: 2

Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 12
Tipo: A scelta dello studente
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 33
Tipo: Lingua/Prova Finale

ARCHITETTURE DEL SOFTWARE E DEI DATI

Scheda dell'insegnamento

Anno accademico di regolamento: 
2015/2016
Anno di corso: 
1
Anno accademico di erogazione: 
2015/2016
Tipo di attività: 
Obbligatorio
Crediti: 
12
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
120
Prerequisiti: 

Conoscenze di base su Programmazione e Progettazione a Oggetti, Basi di Dati, Sistemi Operativi, Ingegneria del Software, Sistemi Distribuiti e Reti.

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

Esame finale orale con discussione di un progetto svolto dagli studenti.

Valutazione: 
Voto Finale

Obiettivi formativi

Conoscenza sistematizzata dei principali modelli architetturali delle organizzazioni (enterprise architecture) e dei sistemi di supervisione e controllo. Principali approcci progettuali relativi al software e ai dati. Capacità di scegliere in modo critico i modelli architetturali più adatti a risolvere in modo efficace specifici problemi applicativi valutandone pregi e difetti. Capacità di applicare gli approcci progettuali più opportuni nella soluzione di problemi concreti.

Contenuti

Enterprise Architecture. Modelli di architetture software. Sistemi a componenti. Modelli di architetture di dati: centralizzate, distribuite, di integrazione. Qualita’ di una architettura. Progettazione di architetture a diversi livelli di astrazione.

Programma esteso

argomento
1 All’ inizio del corso si descrive un approccio coordinato allo sviluppo di una architettura software e dati: partendo dalla matrice di Zachmann, si descrive un insieme di passi e di punti di controllo, che partendo da requisiti misti, porta a progettare le due architetture in modo completo e coerente.

2 "(Modulo Architetture del software) Introduzione alle architetture software: a. stili architetturali, b. sistemi a componenti, c. middleware e integrazione di sistemi eterogenei: Service Oriented Architectures, Software bus, d. livelli di astrazione: architettura del problema, architettura logica, architettura concreta, deployment.
Introduzione del problema di riferimento.
Architettura del problema (Modulo Architetture del software): a. informazioni di dominio, b. flussi informativi, c. identificazione dei requisiti funzionali e non funzionali."

3 (Modulo Architetture del software) Architettura logica: a. identificazione dei componenti, b. valutazione comparativa delle scelte

4 (Modulo Architetture del software) Architettura concreta: a. interazioni tra componenti: servizi, eventi, publish/subscribe, b. struttura interna dei componenti, c. scelte tecnologiche e deployment

5 (Modulo Architetture dei dati) Richiami di architetture di basi di dati centralizzate: a. architettura funzionale, b. proprieta' acid, c. controllo di concorrenza, d. recovery, e. ottimzizazione di interrogazioni - Le forme normali

6 (Modulo Architetture dei dati) Architetture distribuite: a. architettura funzionale, b. proprieta' acid, c. algoritmi di terminaizone, d. progettaizone di basi di dati distribuite

7 (Modulo Architetture dei dati) Architetture di data integration: a. eterogenetia' nelle basi di dati, b. architettura funzionale con mediatore e wrapper, c. mapping e tipi di mapping, global as view e local as view, d. implementazione dei mapping ed esecuzione delle interrogazioni nel global as view, e. cenni sul local as view, f. progetto di architetture di data integration. Confronto tra architetture: criteri e analisi comparativa - Architetture dati nelle piattaforme IBM

8 (Modulo Architetture dei dati) - Architetture dati per Big Data (ABD) e Open data (OD), architettura funzionale, linguaggi per ABD, ciclo di vita degli OD

9 (Modulo Architetture dei dati) - Il record linkage (RL), fasi del RL, tecniche per le varie fasi, sviluppi recenti del RL, uso di un tool per il RL

Bibliografia consigliata

• (Reference): Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman ,
• Publishing Co., Inc., Amsterdam (2004)
• (Suggested): Heineman, G.T., cur Councill, W.T.: Component-based software engineering: putting the pieces together. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)
• (Suggested): Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall PTR, Englewood Cliffs (2004)
• (Reference): Tamer Ozsu M., Valduriez P., Tamer Zsu M., Principles of Distributed Database Systems, Third Edition. Springer (2011)
• (Suggested) Batini C., Scannapieco M., Data Quality: Concepts, Methodologies and Techniques. Springer (2006).
• (Suggested) Op’t Lande et al. Enterprise Architecture. Springer (2009) (Riferimento) C. Batini, S. Ceri, S. Navathe – Conceptual Database Design, Addison-Wesley; 1991 AnHai Doan, Alon Halevy and Zachary Ives Principles of Data Integration 2012, Morgan Kaufmann.

Metodi didattici

Lezioni frontali. Esercitazioni di laboratorio con discussione di studi di caso svolti dagli studenti. Le attività di laboratorio per il modiulo di Architetture del software saranno svolte in modalità E-learning.