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.