Skip to Main Content (Press Enter)

Logo UNIFE
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture

UNI-FIND
Logo UNIFE

|

UNI-FIND

unife.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  1. Insegnamenti

70444 - INGEGNERIA DEL SOFTWARE AVANZATA

insegnamento
ID:
70444
Tipo Insegnamento:
Opzionale
Durata (ore):
64
CFU:
8
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Url:
Dettaglio Insegnamento:
INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE/Percorso Comune Anno: 1
Dettaglio Insegnamento:
INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE/Percorso Comune Anno: 2
Anno:
2025
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Secondo Semestre (19/02/2026 - 05/06/2026)

Syllabus

Obiettivi Formativi

Il corso è il secondo insegnamento di Ingegneria del Software. Ha in particolare l'obiettivo di presentare il processo di sviluppo del software ed alcuni metodi e strumenti disponibili nelle fasi di: - analisi e specifica dei requisiti - progettazione - verifica - manutenzione - misura dei sistemi software. Le principali conoscenze acquisite sono relative alle metodologie utilizzabili per le fasi di sviluppo software sopra elencate, in particolare: - strutturazione di un progetto di sviluppo software e relative fasi di sviluppo; - definizione dell'architettura di sistema e dell'applicazione - tecnologie software per lo sviluppo dei componenti - convalida e verifica dei componenti e dell'applicazione - pianificazione e misura di un progetto di sviluppo software. Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) saranno: - capacità di condurre le fasi di analisi e specifica, progetto e testing del software, e capacità di stimarne il costo; capacità di utilizzare strumenti per il lavoro cooperativo, sistemi di gestione delle versioni, sistemi di verifica e testing per codice a oggetti, e capacità di dare una stima preliminare del costo di un progetto software.

Prerequisiti

Questo insegnamento richiede come prerequisito la conoscenza di almeno un linguaggio di programmazione ad alto livello (imperativo, o preferibilmente a oggetti), e capacità di programmazione.

Metodi didattici

Il corso comprende lezioni frontali in aula per gli argomenti teorici, ed esercitazioni pratiche laboratoriali svolte in Laboratorio per gli argomenti legati agli strumenti di lavoro cooperativo, di gestione delle versioni, di verifica e testing, di containerizzazione e di CI/CD

Verifica Apprendimento

L'obiettivo della prova d'esame è la verifica del livello di raggiungimento degli obiettivi formativi precedentemente indicati. L'esame è organizzato in due parti: - una prova scritta, con domande aperte sui contenuti del corso, ed esercizi su specifica e verifica. Durante lo svolgimento di tale prova non è concesso consultare testi, appunti o altra fonte di informazione. Il punteggio massimo assegnato per tale prova è di 13 punti, con una soglia di sufficienza posta a 7/13; - una presentazione e discussione di un progetto di sviluppo software (da concordare con i docenti). Il punteggio assegnato è fino a ulteriori 19 punti, con soglia di sufficienza 11/19. Il progetto può essere svolto congiuntamente con altri insegnamenti, singolarmente o a coppie purché di complessità adeguata al numero di persone coinvolte e con una divisione chiara delle responsabilità. La presentazione riguarda le metodologie e gli strumenti utilizzati pertinenti agli argomenti del corso, e la documentazione a corredo prodotta nello sviluppo del progetto software. Almeno una settimana prima della discussione va consegnata una breve relazione o un file di presentazione che sarà utilizzato durante la discussione. E' possibile mostrare una demo del progetto durante la discussione. La valutazione di tale prova verifica il livello raggiunto nella capacità di condurre un (limitato) progetto software, definirne le specifiche, l'architettura, condurne lo sviluppo, la verifica e il deployment, e documentarlo. Il voto finale è dato dalla somma dei due punteggi ottenuti. Con punteggio maggiore o uguale a 31, il voto finale è 30/30 e Lode.

Testi

Le diapositive proiettate e discusse a lezione saranno pubblicate nel sito Web del corso. Sono disponibili anche testi e soluzioni di prove d'esame degli anni accademici precedenti, utili allo studente per raffinare e auto-valutare la propria preparazione. Sono consigliati i seguenti testi: Sommerville Ian: Ingegneria del Software. Decima Edizione, Pearson Education Italia, 2017, ISBN: 978-8891902245. Sommerville Ian: Introduzione all'ingegneria del software moderna, Pearson Education Italia, 2021, ISBN: 978-8891915276 Ghezzi Carlo, Jazayeri Mehdi, Mandrioli Dino: Ingegneria del software. Fondamenti e principi; Seconda edizione, Pearson Education Italia, 2004, ISBN: 88-7192-204-2.

Contenuti

- Introduzione all'Ingegneria del Software - Modelli di sviluppo, processi software - Specifica: qualità e stili, specifiche operazionali, specifiche descrittive - Gestione: pianificazione di progetto, metriche del software, controllo di progetto, organizzazione, gestione dei rischi - Progettazione: modularizzazione, architetture, design pattern - Convalida (verifica): obiettivi e requisiti, verifica statica, verifica dinamica - Deployment: container, orchestrazione - Gestione del codice: controllo delle versioni e delle dipendenze - DevOps: principi, continuous integration, continuous delivery/deployment - Strumenti:, si terranno esercitazioni laboratoriali pratiche e guidate, usando Git come sistema di versioning, Anaconda come sistema di gestione delle dipendenze di un progetto, Pytest e Hypothesis come strumenti per il testing, Docker come sistema di containerizzazione, un ambiente di CI/CD per applicazione dell'approccio DevOps.

Lingua Insegnamento

ITALIANO

Corsi

Corsi

INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE 
Laurea Magistrale
2 anni
No Results Found

Persone

Persone (2)

ALBERTI Marco
Gruppo 01/INFO-01 - INFORMATICA
Settore INFO-01/A - Informatica
AREA MIN. 01 - Scienze matematiche e informatiche
Docenti di ruolo di IIa fascia
AZZOLINI Damiano
Gruppo 01/INFO-01 - INFORMATICA
Settore INFO-01/A - Informatica
AREA MIN. 01 - Scienze matematiche e informatiche
Ricercatori a tempo determinato - Tipo A
No Results Found
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 25.9.0.0