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.