20810007 - ARCHITETTURA DEI SISTEMI SOFTWARE

Il corso presenta la disciplina dell’architettura del software, che studia le relazioni tra le strutture dei sistemi software e le loro proprietà di qualità (requisiti non funzionali);
questa conoscenza è fondamentale ai fini dell’analisi, della progettazione, della valutazione e l’evoluzione dei sistemi software complessi. Presentare anche l'architettura dei sistemi software distribuiti, l’architettura a servizi e l’architettura del software per il cloud, nonché alcune tecnologie di middleware. Alla fine del corso, lo studente dovrebbe sapere impostare il progetto di un’architettura software, analizzandone dettagli e problematiche tecnologiche e metodologiche, e valutare l’architettura in termini di raggiungimento di obiettivi di qualità.

Curriculum

scheda docente | materiale didattico

Programma

Fondamenti: Concetti di architettura del software; Descrizioni architetturali; Attributi di qualità; Processo di definizione dell'architettura software.
Qualità e progettazione per gli attributi di qualità: prestazioni, modificabilità, disponibilità, verificabilità, scalabilità, interoperabilità, monitoraggio.
Pattern architetturali: Domain Model; Domain Object; Layers; Pipes & Filters; altri pattern POSA; architettura esagonale.
Architettura dei sistemi distribuiti; client/server, peer-to-peer, invocazione remota; broker; comunicazione asincrona; messaging; componenti; architettura a componenti; contenitori per componenti.
Architettura a servizi: servizi; architettura a servizi; servizi REST; architettura basata su servizi; architettura a microservizi.
DevOps e rilascio del software: ambienti e gestione di ambienti; cloud computing; macchine virtuali e virtualizzazione di sistema; container e virtualizzazione basata su container; orchestrazione di container; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lezioni frontali. Esercitazioni sul middleware.

Modalità Frequenza

La frequenza al corso è facoltativa ma consigliata.

Modalità Valutazione

L'esame si svolgerà in modo orale. Le esercitazioni sul middleware potranno essere verificate mediante lo svolgimento di un piccolo progetto, da effettuare in piccoli gruppi.

scheda docente | materiale didattico

Programma

Fondamenti: Concetti di architettura del software; Descrizioni architetturali; Attributi di qualità; Processo di definizione dell'architettura software.
Qualità e progettazione per gli attributi di qualità: prestazioni, modificabilità, disponibilità, verificabilità, scalabilità, interoperabilità, monitoraggio.
Pattern architetturali: Domain Model; Domain Object; Layers; Pipes & Filters; altri pattern POSA; architettura esagonale.
Architettura dei sistemi distribuiti; client/server, peer-to-peer, invocazione remota; broker; comunicazione asincrona; messaging; componenti; architettura a componenti; contenitori per componenti.
Architettura a servizi: servizi; architettura a servizi; servizi REST; architettura basata su servizi; architettura a microservizi.
DevOps e rilascio del software: ambienti e gestione di ambienti; cloud computing; macchine virtuali e virtualizzazione di sistema; container e virtualizzazione basata su container; orchestrazione di container; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lezioni frontali. Esercitazioni sul middleware.

Modalità Frequenza

La frequenza al corso è facoltativa ma consigliata.

Modalità Valutazione

L'esame si svolgerà in modo orale. Le esercitazioni sul middleware potranno essere verificate mediante lo svolgimento di un piccolo progetto, da effettuare in piccoli gruppi.

scheda docente | materiale didattico

Programma

Fondamenti: Concetti di architettura del software; Descrizioni architetturali; Attributi di qualità; Processo di definizione dell'architettura software.
Qualità e progettazione per gli attributi di qualità: prestazioni, modificabilità, disponibilità, verificabilità, scalabilità, interoperabilità, monitoraggio.
Pattern architetturali: Domain Model; Domain Object; Layers; Pipes & Filters; altri pattern POSA; architettura esagonale.
Architettura dei sistemi distribuiti; client/server, peer-to-peer, invocazione remota; broker; comunicazione asincrona; messaging; componenti; architettura a componenti; contenitori per componenti.
Architettura a servizi: servizi; architettura a servizi; servizi REST; architettura basata su servizi; architettura a microservizi.
DevOps e rilascio del software: ambienti e gestione di ambienti; cloud computing; macchine virtuali e virtualizzazione di sistema; container e virtualizzazione basata su container; orchestrazione di container; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lezioni frontali. Esercitazioni sul middleware.

Modalità Frequenza

La frequenza al corso è facoltativa ma consigliata.

Modalità Valutazione

L'esame si svolgerà in modo orale. Le esercitazioni sul middleware potranno essere verificate mediante lo svolgimento di un piccolo progetto, da effettuare in piccoli gruppi.

scheda docente | materiale didattico

Programma

Fondamenti: Concetti di architettura del software; Descrizioni architetturali; Attributi di qualità; Processo di definizione dell'architettura software.
Qualità e progettazione per gli attributi di qualità: prestazioni, modificabilità, disponibilità, verificabilità, scalabilità, interoperabilità, monitoraggio.
Pattern architetturali: Domain Model; Domain Object; Layers; Pipes & Filters; altri pattern POSA; architettura esagonale.
Architettura dei sistemi distribuiti; client/server, peer-to-peer, invocazione remota; broker; comunicazione asincrona; messaging; componenti; architettura a componenti; contenitori per componenti.
Architettura a servizi: servizi; architettura a servizi; servizi REST; architettura basata su servizi; architettura a microservizi.
DevOps e rilascio del software: ambienti e gestione di ambienti; cloud computing; macchine virtuali e virtualizzazione di sistema; container e virtualizzazione basata su container; orchestrazione di container; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lezioni frontali. Esercitazioni sul middleware.

Modalità Frequenza

La frequenza al corso è facoltativa ma consigliata.

Modalità Valutazione

L'esame si svolgerà in modo orale. Le esercitazioni sul middleware potranno essere verificate mediante lo svolgimento di un piccolo progetto, da effettuare in piccoli gruppi.