SOFTWARE DEPENDABILITY

Internazionalizzazione della Didattica SOFTWARE DEPENDABILITY

Indietro

0522500119
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2025/2026

ANNO CORSO 2
ANNO ORDINAMENTO 2016
PRIMO SEMESTRE
CFUOREATTIVITÀ
630LEZIONE
324LABORATORIO
Obiettivi
IL CORSO SI PROPONE DI FORNIRE METODI E TECNICHE PER ANALIZZARE E VERIFICARE L'AFFIDABILITÀ DEL SOFTWARE. QUESTI CONCETTI VENGONO AFFRONTATI NEL CONTESTO DI SISTEMI SOFTWARE COMPLESSI E CRITICI.

CONOSCENZA E CAPACITÀ COMPRENSIONE
AL TERMINE DEL CORSO LO STUDENTE AVRÀ ACQUISITO CONOSCENZA E COMPRENSIONE IN MERITO A
- PRINCIPI FONDAMENTALI DI AFFIDABILITÀ DEL SOFTWARE;
- CICLI DI VITA E INFRASTRUTTURE SOFTWARE AFFIDABILI;
- ANALISI DEL SOFTWARE PER MIGLIORARE LA QUALITÀ DEL SOFTWARE E AUMENTARE LA SICUREZZA DEL SOFTWARE;
- TESTING DEI REQUISITI FUNZIONALI E NON FUNZIONALI DEL SOFTWARE;
- GENERAZIONE AUTOMATIZZATA DI CASI DI TEST PER TESTARE REQUISITI FUNZIONALI E NON FUNZIONALI.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
DOPO AVER COMPLETATO IL CORSO, LO STUDENTE SARÀ IN GRADO DI
- UTILIZZARE METODI E TECNICHE DI INGEGNERIA DEL SOFTWARE PER MONITORARE LA QUALITÀ, LE PRESTAZIONI E LA SICUREZZA DEL SOFTWARE;
- PROGETTARE SISTEMI DISTRIBUITI SU CLOUD, VALUTANDONE LE PRESTAZIONI, CONFIGURANDONE LE SPECIFICHE, SVILUPPANDO APPLICAZIONI IN CONTESTO CONCORRENTE E PARALLELO;
- UTILIZZARE LE TECNICHE DI ANALISI E VERIFICA DEL SOFTWARE PIÙ ADEGUATE AL SOFTWARE DA ANALIZZARE;
- CREARE SOFTWARE SICURO EVITANDO LE VULNERABILITÀ;
- IDENTIFICARE LE PRINCIPALI VULNERABILITÀ DEI SISTEMI IN RETE E VALUTARE LA SICUREZZA DEI SISTEMI IN RETE COMPLESSI.

AUTONOMIA DI GIUDIZIO
DOPO AVER COMPLETATO IL CORSO, LO STUDENTE SARÀ IN GRADO DI:
- COMUNICARE IN MODO CHIARO ED EFFICACE, IN FORMA SCRITTA E ORALE, PER TRASMETTERE CONOSCENZE, IDEE, PROBLEMI, SOLUZIONI, E LE MOTIVAZIONI CHE NE STANNO ALLA BASE, ADATTANDO LE MODALITÀ ESPRESSIVE ALLE CARATTERISTICHE CULTURALI E PROFESSIONALI DEI DESTINATARI DELLA COMUNICAZIONE);
- UTILIZZARE EFFICACEMENTE GLI STRUMENTI DI COMUNICAZIONE MULTIMEDIALE;
- COMUNICARE IN INGLESE CON TECNICI ED ESPERTI DOTATI DI BUONE COMPETENZE LINGUISTICHE E DIMOSTRARE PADRONANZA DELLA TERMINOLOGIA TECNICA;
- COMPRENDERE ED ELABORARE TESTI TECNICI IN INGLESE DI MEDIA DIFFICOLTÀ;
- LAVORARE IN TEAM CON ADEGUATE CAPACITÀ RELAZIONALI E DECISIONALI;
- RENDICONTARE LA PROPRIA ATTIVITÀ LAVORATIVA.

ABILITÀ COMUNICATIVE
DOPO AVER COMPLETATO IL CORSO, LO STUDENTE SARÀ IN GRADO DI:
- PENSARE IN MODO CRITICO E METTERE IN DISCUSSIONE LE SCELTE PROGETTUALI E REALIZZATIVE;
- SVILUPPARE RAGIONAMENTI E RIFLESSIONI AUTONOME E INDIPENDENTI;
- COMPRENDERE LA RILEVANZA DI UNA PLURALITÀ DI PUNTI DI VISTA E APPROCCI ALTERNATIVI;
- VALUTARE CRITICAMENTE GLI ASPETTI POSITIVI E NEGATIVI DI SOLUZIONI ALTERNATIVE, TENENDO IN CONSIDERAZIONE LA QUALITÀ E IL RAPPORTO COSTO/EFFICACIA;
- STABILIRE UN ORDINE DI PRIORITÀ PER OBIETTIVI SPESSO CONTRASTANTI;
- LAVORARE CON UN ELEVATO GRADO DI AUTONOMIA;
- PIANIFICARE UNA RACCOLTA DATI ADEGUATA AGLI OBIETTIVI PROPOSTI E INTERPRETARE CRITICAMENTE I DATI RACCOLTI PER RICAVARE GIUDIZI AUTONOMI SUPPORTATI DA ANALISI OGGETTIVE E QUANTITATIVE.

CAPACITÀ DI APPRENDIMENTO
DOPO AVER COMPLETATO IL CORSO, LO STUDENTE SARÀ IN GRADO DI:
- ORGANIZZARE LE PROPRIE IDEE IN MODO CRITICO E SISTEMATICO;
- RIFLETTERE SULLA PROPRIA ESPERIENZA DI APPRENDIMENTO E ADATTARLA IN RISPOSTA A SUGGERIMENTI E STIMOLI ESTERNI;
- RICONOSCERE LA NECESSITÀ DI ULTERIORI STUDI E DI ULTERIORI ATTIVITÀ DI RICERCA.
Prerequisiti
GLI STUDENTI DEVONO AVERE CONOSCENZA PREGRESSA DEI CONCETTI DI BASE DI INGEGNERIA DEL SOFTWARE, IN PARTICOLARE DEI MODELLI DI SVILUPPO SOFTWARE E DEL TESTING DI SISTEMI SOFTWARE.
Contenuti
I CONTENUTI SONO SUDDIVISI IN TRE MODULI FORMATIVI:

M1: FONDAMENTI DI AFFIDABILITÀ DEL SOFTWARE E DELL'INFRASTRUTTURA
IL PRIMO MODULO INTRODUCE LO STUDENTE AI FONDAMENTI DELL'AFFIDABILITÀ DEL SOFTWARE, DELLE INFRASTRUTTURE PROGRAMMABILI AFFIDABILI E DELL'ANALISI DEL SOFTWARE PER MIGLIORARNE L'AFFIDABILITÀ:
- INTRODUZIONE ALL'AFFIDABILITÀ DEL SOFTWARE - 2 ORE DI LEZIONI FRONTALI;
- REQUISITI DI AFFIDABILITÀ, GUASTI E SOLUZIONI - 3 ORE DI LEZIONI FRONTALI;
- PREVENZIONE DEI GUASTI DEL SOFTWARE NELLE SPECIFICHE E NELL'IMPLEMENTAZIONE - 2 ORE DI LEZIONI FRONTALI E 3 ORE DI ESERCITAZIONI IN LABORATORIO;
- TOLLERANZA AI GUASTI DEL SOFTWARE E VALUTAZIONE - 2 ORE DI LEZIONI FRONTALI;
- ARCHITETTURE IOT - 2 ORE DI LEZIONI FRONTALI;
- DEVOPS E INFRASTRUTTURE PROGRAMMABILI AFFIDABILI - 2 ORE DI LEZIONI FRONTALI E 3 ORE DI ESERCITAZIONI IN LABORATORIO.

M2: TESTING DEL SOFTWARE
IL SECONDO MODULO APPROFONDISCE E INTEGRA LE CONOSCENZE RELATIVE ALLA VERIFICA E ALLA VALIDAZIONE DEL SOFTWARE GIÀ ACQUISITE IN UN CORSO BASE DI INGEGNERIA DEL SOFTWARE DELLA LAUREA TRIENNALE:
- INTRODUZIONE AL TESTING DEL SOFTWARE E ALLA SELEZIONE DEI CASI DI TEST - 2 ORE DI LEZIONI FRONTALI E 3 ORE DI ESERCITAZIONI IN LABORATORIO;
- VALUTAZIONE DEI CASI DI TEST E SVILUPPO GUIDATO DAI TEST - 2 ORE DI LEZIONI FRONTALI E 3 ORE DI ESERCITAZIONI IN LABORATORIO;
- TEST DELLE PRESTAZIONI - 2 ORE DI LEZIONI FRONTALI E 3 ORE DI ESERCITAZIONI IN LABORATORIO;
- TEST DI SISTEMI CYBER-FISICI - 2 ORE DI LEZIONI FRONTALI;
- CASI DI STUDIO SULL'AFFIDABILITÀ DEL SOFTWARE: 3 ORE DI LEZIONI FRONTALI.

M3: RILEVAMENTO E SFRUTTAMENTO DELLE VULNERABILITÀ DEL SOFTWARE
IL TERZO MODULO PRESENTA TECNICHE STATICHE E DINAMICHE PER RILEVARE E SFRUTTARE LE VULNERABILITÀ DEL SOFTWARE:
- INTRODUZIONE ALLE VULNERABILITÀ DEL SOFTWARE - 2 ORE DI LEZIONI FRONTALI;
- ATELIER SULLE VULNERABILITÀ DEL SOFTWARE - 2 ORE DI LEZIONI FRONTALI;
- TECNICHE STATICHE E DINAMICHE PER RILEVARE E SFRUTTARE LE VULNERABILITÀ DEL SOFTWARE - 2 ORE DI LEZIONI FRONTALI E 9 ORE DI ESERCITAZIONI DI LABORATORIO.
Metodi Didattici
LA PARTE TEORICA SI SVILUPPA CON LEZIONI FRONTALI (6 CFU, 30 ORE) DI CARATTERE TEORICO/METODOLOGICO PER TRASFERIRE LE CONOSCENZE E GLI STRUMENTI NECESSARI PER LE ATTIVITÀ PROGETTUALI.
LA PARTE PRATICA PREVEDE SESSIONI PRATICHE CON LE TECNICHE E I CONCETTI PRESENTATI NELLA PARTE TEORICA (3 CFU, 24 ORE). LA FORMULA SEGUITA CONSISTE NEL MOSTRARE UNO STRUMENTO E PERMETTERE AGLI STUDENTI DI SPERIMENTARLO SU UN PROGETTO SOFTWARE DA LORO SCELTO.
Verifica dell'apprendimento
IL RAGGIUNGIMENTO DEGLI OBIETTIVI DIDATTICI È CERTIFICATO DAL SUPERAMENTO DI UN ESAME CON VALUTAZIONE IN TRENTESIMI. L'ESAME PREVEDE LA REALIZZAZIONE E CONSEGNA DI UN PROGETTO INDIVIDUALE O DI GRUPPO CON LA RELATIVA DOCUMENTAZIONE E UNA PROVA ORALE. LA CONSEGNA DELLA DOCUMENTAZIONE PROGETTUALE È PROPEDEUTICA ALLA PROVA ORALE.
Testi
- KNIGHT, J. (2012). FUNDAMENTALS OF DEPENDABLE COMPUTING FOR SOFTWARE ENGINEERS. CRC PRESS
- PEZZÈ, M., & YOUNG, M. (2008). SOFTWARE TESTING AND ANALYSIS: PROCESS, PRINCIPLES, AND TECHNIQUES. JOHN WILEY & SONS
- MEAD, N. R., ALLEN, J. H., BARNUM, S., ELLISON, R. J., & MCGRAW, G. R. (2004). SOFTWARE SECURITY ENGINEERING: A GUIDE FOR PROJECT MANAGERS. ADDISON-WESLEY PROFESSIONAL
Altre Informazioni
LA FREQUENZA DEL CORSO NON È OBBLIGATORIA MA FORTEMENTE CONSIGLIATA. GLI STUDENTI DEVONO ESSERE PREPARATI AD ESSERE ATTIVAMENTE COINVOLTI NEL CORSO ATTRAVERSO L'INTERAZIONE CON IL DOCENTE IN AULA E LA FORMAZIONE INDIVIDUALE. LA PREPARAZIONE ADEGUATA, FINALIZZATA AL SUPERAMENTO DELL'ESAME, SARÀ COSTITUITA DA DUE ORE DI STUDIO INDIVIDUALE PER OGNI ORA TRASCORSA IN AULA E DA UN'ORA DEDICATA ALL'ATTIVITÀ PROGETTUALE ASSOCIATA. IL CORSO PREVEDE UNA SOLIDA PREDISPOSIZIONE ALL'APPRENDIMENTO DEGLI STRUMENTI SOFTWARE NECESSARI PER SVILUPPARE MODULI AFFIDABILI. IL MATERIALE DIDATTICO SARÀ DISPONIBILE SULLA PIATTAFORMA E-LEARNING DI DIPARTIMENTO.
  BETA VERSION Fonte dati ESSE3
  • Didattica