Software Project Management and Evolution

Software Project Management and Evolution

Insegnamento: Software Project Management and Evolution

Titolo insegnamento in inglese:  Software Project Management and Evolution

Lingua: italiano

Anno di corso: 1

Semestre: 2

CFU: 6

Insegnamenti propedeutici previsti: Nessuno.

Docenti:

  • Sergio Di Martino 

Obiettivi Formativi

L’obiettivo del corso è di fornire conoscenze avanzate su metodi e tecniche dell’ingegneria del software per la gestione di progetti complessi, anche in uno scenario di evoluzione di sistemi preesistenti. Gli studenti saranno in grado di sviluppare, manutenere e gestire l’evoluzione di sistemi software con architetture complesse e distribuite, di scegliere le metodologie e tecnologie più adatte a risolvere un determinato problema, di scegliere tra diversi modelli di rappresentazione del software quello più adatto a rappresentare un determinato aspetto del sistema. Gli studenti saranno inoltre in grado di produrre documenti software in accordo a standard di progetto. In particolare, gli studenti riceveranno nozioni di: processi moderni di ingegneria del software e delle relative fasi, con particolare riferimento alle Metodologie Agili; metodi, standard e strumenti per la gestione della qualità del prodotto e del processo; stili e notazioni per la modellazione di architetture software e in particolare architetture distribuite, cloud-based e orientate ai microservizi, a tecniche avanzate di testing, verifica e manutenzione del software.

Programma 

Software Maintenance e Reverse Engineering: Manutenzione del Software – Reengineering, refactoring, restructuring, reverse engineering– Tools per la Build Automation – Tools per il Controllo di Versione

Metodologie di sviluppo Software: Metodi Agili, SCRUM, Continuous Integration, Continuous Deployment. BehaviourDriven Development

Architetture Software: Cloud, Iaas, PaaS, SaaS. Microservice-oriented Architectures. Dockers.

Qualità del Software: Modelli e Standard di Qualità del Software – Metriche di Qualità del Software – Metriche di Taglia del Software - Function Points.

Testing: Livelli e Modelli di Testing – Black Box Testing –White Box Testing – Integration Testing – User Interface Testing – Testing Automation – Metriche e Strumenti per la Coverage di Test.

Modalità didattiche

Lezioni frontali.

Materiale didattico 

Ian Sommerville, Ingegneria del Software, Pearson Addison Wesley; 

Roger Pressman, Principi di Ingegneria del Software, Mc Graw Hill. 

Modalità di esame

L'esame si articola in prova solo orale. 

Progetto o Tesina facoltativi.