PROGETTAZIONE DI ARCHITETTURE DI SERVIZI

Insegnamento
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Insegnamento in inglese
SERVICE ARCHITECTURE DESIGN
Settore disciplinare
IINF-05/A
Corso di studi di riferimento
INGEGNERIA INFORMATICA
Tipo corso di studio
Laurea Magistrale
Crediti
6.0
Ripartizione oraria
Ore Attività Frontale: 54.0
Anno accademico
2026/2027
Anno di erogazione
2026/2027
Anno di corso
1
Lingua
ITALIANO
Percorso
PERCORSO COMUNE
Sede
Lecce

Descrizione dell'insegnamento

Il programma dell'insegnamento è provvisorio e potrebbe subire delle modifiche

Conoscenza approfondita di linguaggi di programmazione strutturata (Java), principi di ingegneria del software, conoscenza dei protocolli web.

Il corso approfondisce i principi, le metodologie e gli strumenti dell’ingegneria del software moderna, con particolare attenzione alla progettazione, allo sviluppo e alla gestione di sistemi complessi e distribuiti. Gli studenti imparano ad applicare pratiche professionali di sviluppo seguendo standard industriali e processi strutturati, con un’attenzione costante alla qualità del software e al suo controllo mediante strumenti e metriche consolidate.

Attraverso attività pratiche e di progetto, il corso guida alla realizzazione di applicazioni web avanzate basate su architetture a microservizi, utilizzando tecnologie diffuse come Spring, React e RabbitMQ. Viene inoltre introdotto l’impiego di strumenti e piattaforme di Cloud Computing, quali Docker, Kubernetes e AWS, fondamentali per lo sviluppo, la distribuzione e la scalabilità di applicazioni moderne.

Completano il percorso l’approfondimento di design pattern avanzati, le tecniche per la costruzione di sistemi distribuiti e l’esplorazione delle opportunità offerte dall’intelligenza artificiale nei processi di produzione e nelle architetture software.

Al termine del corso, lo studente sarà in grado di applicare i principali principi dell’ingegneria del software e di controllare la qualità dei programmi sviluppati. Sarà capace di progettare e realizzare applicazioni seguendo gli standard industriali e i processi strutturati di produzione del software. Imparerà inoltre a verificare il corretto funzionamento del software utilizzando strumenti standard e metriche riconosciute. Il corso fornirà le competenze necessarie per sviluppare applicazioni web complesse basati su architettura a microservizi, impiegando tecnologie come Spring, React, RabbitMQ, e altre simili. Verranno affrontati anche i fondamenti del Cloud Computing moderno, con l’uso di strumenti come Docker, Kubernetes e AWS. Infine, lo studente acquisirà familiarità con pattern di progettazione avanzati e tecniche per la realizzazione di sistemi complessi e distribuiti, e imparerà a integrare l’intelligenza artificiale nei processi e nelle architetture di produzione del software.

Lezioni in aula, esercitazioni in aula, utilizzo di strumenti di sviluppo e repository online, project work.

La verifica delle conoscenze e delle competenze  consiste nella realizzazione di un prototipo software, finalizzato a valutare l’applicazione pratica delle architetture a microservizi e delle tecniche di testing, che sarà oggetto di discussione durante un esame orale. Il sistema software dovrà essere progettato utilizzando UML e adottando design pattern standard. Lo sviluppo dovrà avvenire a partire da framework basati su MVC che sono illustrati in modo dettagliato durante le lezioni e le esercitazioni. Il prototipo software dovrà essere testato in modo sistematico, con la raccolta di metriche significative. Il prototipo software dovrà essere sviluppato seguendo un processo agile e corredato da adeguata documentazione. Un mese dopo l’inizio del corso, il docente pubblicherà i requisiti generali del prototipo software, che varieranno di anno in anno. I requisiti resteranno validi fino alla pubblicazione di una nuova specifica.

Ian Sommerville - Engineering Software Products: An Introduction to Modern Software Engineering - Pearson, 2020.

Semestre
Primo Semestre (dal 14/09/2026 al 18/12/2026)

Tipo esame
Non obbligatorio - Caratterizzante

Valutazione
Orale - Voto Finale

Orario dell'insegnamento (Apre una nuova finestra)(Apre una nuova finestra)

Scarica scheda insegnamento (Apre una nuova finestra)(Apre una nuova finestra)