UNIVERSITÀ DEGLI STUDI DI MILANO
Transcript
UNIVERSITÀ DEGLI STUDI DI MILANO
UNIVERSITÀ DEGLI STUDI DI MILANO-BICOCCA CORSO EROGATO IN MODALITÀ BLENDED-LEARNING SYLLABUS INFORMAZIONI DEL CORSO INFORMAZIONI DI BASE Nome Architettura del software Codice Esse3 F1801Q130M Corso di studi Laurea Magistrale in Informatica F1801Q Anno di corso Primo CFU 6 Semestre 1 Erogazione (ore) Totali 45 In presenza 21 Online 24 DOCENTI E TUTOR DIDATTICI Docenti Nome e cognome Francesco Tisato Telefono 02 6448 7834 E-mail [email protected] Ufficio U14 stanza 2059 Orario di ricevimento Su appuntamento (e online!!!) Tutor didattici Nome e cognome Diego Bernini E-mail [email protected] PRESENTAZIONE DEL CORSO Descrizione Il corso è uno dei due moduli che compongono l’insegnamento di Architetture del software e dei dati (F1801Q130), il cui obiettivo complessivo è di presentare gli aspetti architetturali di un sistema IT complesso trattando in modo per quanto possibile integrato gli aspetti relativi ai dati e al software. Il modulo Architetture del software è centrato sulle architetture software a componenti, il cui progetto è affrontato a diversi livelli di astrazione evidenziando i criteri che portano alle principali scelte architetturali. Programma Introduzione alle architetture software: a. stili architetturali, b. sistemi a componenti, c. livelli di astrazione: architettura del problema, architettura logica, architettura concreta, deployment. Introduzione di un problema di riferimento. Architettura del problema: a. informazioni di dominio, b. flussi informativi, c. identificazione dei requisiti funzionali e non funzionali. Architettura logica: a. identificazione dei componenti, b. valutazione comparativa delle scelte. Architettura concreta: a. interazioni tra componenti: servizi, eventi, publish/subscribe, b. struttura interna dei componenti, c. scelte tecnologiche e deployment Prerequisiti Conoscenze di base su Programmazione e Progettazione a Oggetti (UML), Basi di Dati, Sistemi Operativi, Ingegneria del Software, Sistemi Distribuiti e Reti. Obiettivi Conoscenza sistematizzata dei principali modelli di architettura software per le organizzazioni (enterprise architecture) e per i sistemi di supervisione e controllo. Conoscenza dei principali approcci progettuali relativi al software per sistemi a componenti. Risultati attesi 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. ULTERIORI INFORMAZIONI Materiali richiesti Documento “Designing Software Architectures” Slide e materiali introduttivi pubblicati su Moodle prima delle lezioni in presenza. Problemi progettuali (base per i compiti assegnati) pubblicati su Moodle all’inizio del corso. Soluzioni esemplificative agli esercizi, pubblicate su Moodle prima delle lezioni di sintesi. Indicazioni di preparazione Vedi prerequisiti. Risorse di supporto Moodle Web conference/Web meeting (utilizzo sperimentale) Tool di progettazione UML: Visual Paradigm. Gira su diverse piattaforme. L’interazione con gli studenti avverrà (non in tempo reale) caricando file .vpp. URL per il download della versione Community (free): http://www.visual-paradigm.com/download/community.jsp Bibliografia (Riferimento): Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Amsterdam (2004) (Consigliato): Heineman, G.T., cur Councill, W.T.: Component-based software engineering: putting the pieces together. Addison-Wesley Longman Publishing Co., Inc., Boston (2001) (Consigliato): 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) REGOLE DEL CORSO RUOLI Docente Lezioni in presenza di introduzione alle problematiche dei diversi livelli architetturali, basate su un esempio di riferimento. Preparazione del materiale didattico e dei compiti assegnati agli studenti. Supervisione sulla discussione online delle soluzioni proposte. Lezioni di sintesi in presenza. Tutor didattico Collaborazione alla preparazione del materiale didattico e dei problemi sottoposti agli studenti. Conduzione delle sessioni interattive online di discussione (esercitazioni). Supporto online su domande specifiche. Partecipazione alle lezioni di sintesi. Studente Partecipazione alle lezioni frontali. Svolgimento dei compiti assegnati. Partecipazione alle esercitazioni online e alle lezioni di sintesi. PARTECIPAZIONE In presenza La partecipazione è non obbligatoria ma fortemente consigliata. Online Lo svolgimento tempestivo dei problemi assegnati è fortemente consigliato. La partecipazione alle esercitazioni online è fortemente consigliata. ATTIVITÀ Organizzazione dell’ attività All’inizio del corso sono definiti gruppi di studenti (<= 3 partecipanti per gruppo) a ciascuno dei quali viene assegnato un problema progettuale su cui si baseranno i compiti da svolgere. L’attività si articola su 3 fasi, ciascuna della durata di 3-4 settimane come da piano dettagliato. Le fasi sono focalizzate sui seguenti aspetti: 1. Architettura del problema 2. Architettura logica 3. Architettura concreta e deployment Le attività relative a ciascuna fase sono articolate come segue: 1. Introduzione: una o due lezioni in presenza per inquadrare aspetti specifici della progettazione architetturale, appoggiandosi su un esempio di riferimento 2. Attività in elearning (durata: circa 10 giorni dopo le lezioni introduttive): a. Svolgimento da parte degli studenti, organizzati in gruppi (<= 3 componenti) di compiti relativi a ciascuna delle 3 fasi b. Discussioni online (forum) su aspetti generali relativi alle fasi del progetto c. Discussioni online (forum) sulle attività dei gruppi di lavoro d. Consegna dei compiti svolti (diagrammi UML redatti con Visual Paradigm) 3. Sintesi: a. Pubblicazione di soluzioni di riferimento per i compiti b. Autovalutazione da parte degli studenti: confronto delle proprie soluzioni con le soluzioni di riferimento c. Lezione in presenza focalizzata sugli aspetti più problematici emersi durante lo svolgimento dei compiti. Nel periodo precedente il I appello di esame sarà fornito un supporto di tutoring. Scadenze Per ciascuna delle tre fasi, consegna delle soluzioni ai compiti entro la settimana precedente la lezione di sintesi. VALUTAZIONI Valutazioni intermedie Le soluzioni ai compiti potranno essere soggette a una valutazione in itinere nel contesto dell’attività di esercitazioni online. Questa eventuale valutazione non entra a far parte direttamente della valutazione finale. I compiti svolti potranno però essere presi in considerazione in sede di discussione del progetto di esame finale. Valutazione finale Il modulo Architettura del software, assieme a Architettura dei dati, costituisce l’insegnamento integrato di Architetture del software e dei dati. L’esame finale è unificato e si basa sulla discussione di un progetto il cui tema sarà reso pubblico 3 settimane prima della data di ciascun appello. Pubblicazione dei risultati Le eventuali valutazioni intermedie saranno pubblicati nel contesto dell’attività di esercitazioni online. I risultati della valutazione finale saranno pubblicati in piattaforma compatibilmente con i vincoli di privacy. CRITERI DI VALUTAZIONE Scale di valutazione La discussione del progetto è articolata in 3 parti, ciascuna delle quali contribuisce per 10/30 alla valutazione finale: 1. Analisi e modello delle informazioni (a commissione congiunta) che, per il modulo di Architettura del software, corrisponde alla Architettura del problema 2. Architettura dei dati 3. Architettura del software, che corrisponde ad Architettura logica e Architettura concreta COMUNICAZIONE NOTA GENERALE: tutte le comunicazioni avverranno attraverso la piattaforma elearning (Moodle), escludendo l’uso di mail personali o di altri strumenti. Docente – Studente Forum News: comunicazioni generali (unidirezionale). Forum di discussione, per domande, risposte e considerazioni di interesse generale. Studente – Docente Vedi sopra Tutor didattico – Studente Forum News: comunicazioni generali (unidirezionale). Forum di discussione, per domande, risposte e considerazioni di interesse generale e sui compiti assegnati. Chat e conferencing (utilizzo sperimentale). Studente – Tutor didattici Vedi sopra Studente – Studente Forum Studenti non moderato STRUTTURA DEL CORSO CALENDARIO SUPPORTI TECNOLOGICI STRUMENTI LMS Nome Moodle Descrizione Moodle (acronimo di Modular Object-Oriented Dynamic Learning Environment, ambiente per l'apprendimento modulare, dinamico, orientato ad oggetti) è un ambiente informatico per la gestione di corsi, basato sull'ideologia costruzionista secondo la quale ogni apprendimento sarebbe facilitato dalla produzione di oggetti tangibili. Requisiti tecnici Fare clic qui per immettere testo. Accesso L’accesso avviene tramite il sistema di Autenticazione Centralizzata di Ateneo, utilizzando quindi le proprie credenziali universitarie ([email protected] o [email protected]). Gli utenti devono essere regolarmente iscritti per essere quindi in possesso di tali credenziali. Web Conference / Web Meeting Nome BigBlueButton Descrizione Big Blue Button è un software open source usato da organizzazioni e università per effettuare conferenze, lezioni online o anche semplicemente scambiarsi delle idee. Requisiti tecnici TBD Accesso TBD UML Design Tool Visual Paradigm. L’utilizzo previsto (non in tempo reale) prevede il caricamento (da parte di docenti e studenti) di file .vpp. Sarà verificata la possibilità di utilizzarlo in contesto di Web conference.