- Master's degree
- Master's Degree in COMPUTER ENGINEERING
- SERVICE ARCHITECTURE DESIGN
SERVICE ARCHITECTURE DESIGN
- Teaching in italian
- PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
- Teaching
- SERVICE ARCHITECTURE DESIGN
- Subject area
- IINF-05/A
- Reference degree course
- COMPUTER ENGINEERING
- Course type
- Master's Degree
- Credits
- 6.0
- Teaching hours
- Frontal Hours: 54.0
- Academic year
- 2026/2027
- Year taught
- 2026/2027
- Course year
- 1
- Language
- ITALIAN
- Curriculum
- PERCORSO COMUNE
- Location
- Lecce
Teaching description
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.
Semester
First Semester (from 14/09/2026 to 18/12/2026)
Exam type
Optional
Type of assessment
Oral - Final grade