- Percorsi di studio
- Laurea Magistrale in INGEGNERIA INFORMATICA
- PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
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
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