SITE TITLE

LOGO DIETI

Ingegneria del software II

MUTUAZIONE DAL CORSO DI LAUREA MAGISTRALE in ingegneria informatica

Insegnamento: Ingegneria del software II

Anno di corso: I/II

CFU: 6

SSD: INF/01

Ore di lezione: 48

Semestre: 1

Modulo: Nessuno

Codice: 15803

Obiettivi formativi:

 Il corso si propone di approfondire tematiche avanzate di Ingegneria del Software quali Testing, Debugging, Manutenzione, Reverse Engineering, Qualità del software. 

Contenuti:

Testing: Nozioni teoriche – Testing Black Box – Junit – Testing White Box – Integration Testing – User Interface Testing – Testing Automation – Testing e analisi mutazionale - Processi di Testing – Analisi statica – Debugging Manutenzione e Reverse Engineering: Manutenzione – Reengineering, refactoring, restructuring, reverse engineering, ridocumentazione – Strumenti di Build Automation – Strumenti di gestione delle versioni concorrenti del software Qualità: Modelli di qualità del software - Metriche – Strumenti di Misura del Software - Function Points - Stima dei costi 

Prerequisiti: Nessuno

Modalità didattiche:  Il corso si compone di lezione teoriche frontali e lezioni di esercitazione nelle quali vengono provate alcune delle tecniche e metodologie presentate rispetto a software reali

Materiale didattico:

Libri: Ian Sommerville, Ingegneria del Software, Pearson Addison Wesley; Roger Pressman, Principi di Ingegneria del Software, Mc Graw Hill

Materiale online: libri e articoli scientifici consigliati dal docente, diapositive presentate a lezione

Modalità di esame: 

L'esame si articola in prova

Scritta e orale

 

         

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

 

           

 

Altro

 Per sostenere l’esame ogni studente deve preventivamente realizzare due progetti e infine sostenere una prova orale. Il primo progetto riguarda lo sviluppo di un software (ad esempio un applicazione mobile) utilizzando anche strumenti di gestione CVS e strumenti di build automation, documentando il processo di sviluppo del software realizzato. Il secondo progetto comprende attività di reverse engineering, testing e debugging su di una applicazione reale nella quale il docente ha iniettato preventivamente alcuni difetti che dovranno essere individuati e corretti dallo studente. 

Docente: Tramontana Porfirio

scheda dell'insegnamento