INGEGNERIA, GESTIONE ED EVOLUZIONE DEL SOFTWARE

Andrea DE LUCIA INGEGNERIA, GESTIONE ED EVOLUZIONE DEL SOFTWARE

0522500083
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2024/2025



ANNO CORSO 1
ANNO ORDINAMENTO 2016
SECONDO SEMESTRE
CFUOREATTIVITÀ
972LEZIONE
Obiettivi
IL CORSO HA L’OBIETTIVO DI INTRODURRE LO STUDENTE A CONCETTI AVANZATI DI INGEGNERIA DEL SOFTWARE, CON PARTICOLARE FOCUS SU PROCESSI SOFTWARE, TESTING, MANUTENZIONE, EVOLUZIONE E GESTIONE DEL SOFTWARE.


CONOSCENZA E CAPACITÀ DI COMPRENSIONE

GI STUDENTI ACQUISIRANNO CONOSCENZE SU CONCETTI DELL’INGEGNERIA DEL SOFTWARE CHE TIPICAMENTE NON VENGONO AFFRONTATI NEI CORSI DI PRIMO LIVELLO, IN PARTICOLARE RELATIVI AI PROCESSI DEL CICLO DI VITA DEL SOFTWARE, AL TESTING, ALLA MANUTENZIONE ED EVOLUZIONE DEL SOFTWARE. INOLTRE, GLI STUDENTI SARANNO INTRODOTTI AI TEMI DELLA GESTIONE DEL SOFTWARE. GLI STUDENTI ACQUISIRANNO LA CAPACITÀ DI COMPRENDERE LO STATO DELL’ARTE, LA LETTERATURA SCIENTIFICA E GLI STANDARD INTERNAZIONALI DEL SETTORE DELL’INGEGNERIA DEL SOFTWARE.


CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE

GLI STUDENTI SARANNO IN GRADO DI SVILUPPARE, MANUTENERE E GESTIRE L’EVOLUZIONE DI SISTEMI SOFTWARE CON ARCHITETTURE COMPLESSE E DISTRIBUITE. GLI STUDENTI SARANNO INOLTRE IN GRADO DI PIANIFICARE E GESTIRE LE ATTIVITÀ DEI PROCESSI DEL CICLO DI VITA DEL SOFTWARE E PRODURRE DOCUMENTI SOFTWARE IN ACCORDO A STANDARD E PIANI DI QUALITÀ.


AUTONOMIA DI GIUDIZIO

GLI STUDENTI DISPORRANNO DI UNA VISIONE DI INSIEME DEI PROCESSI DEL CICLO DI VITA DEL SOFTWARE E SARANNO IN GRADO DI VALUTARE TRA DIVERSE ALTERNATIVE ALLA SOLUZIONE DI PROBLEMI DI SVILUPPO E MANUTENZIONE DEL SOFTWARE, CONFRONTANDOSI CON ALTRI STUDENTI NELL’AMBITO DI GRUPPI DI PROGETTO. GLI STUDENTI SAPRANNO INOLTRE VALUTARE LE IMPLICAZIONI SULLO SVILUPPO E SULLA MANUTENZIONE DEL SOFTWARE DERIVANTI DAI TRADE-OFF TRA COSTI, TEMPI E REQUISITI DI QUALITÀ DEL SOFTWARE.


ABILITÀ COMUNICATIVE

GLI STUDENTI ACQUISIRANNO LA PADRONANZA DEI MECCANISMI CHE CARATTERIZZANO LA COMUNICAZIONE NELL’AMBITO DEI PROGETTI SOFTWARE, COME LA CONDIVISIONE DI MODELLI E DOCUMENTI SOFTWARE CON GLI ALTRI MEMBRI E STAKEHOLDER DI UN PROGETTO, CONDUZIONE DI MEETING E DI REVISIONI DI PROGETTO, PRESENTAZIONI DI PROPOSTE DI PROGETTO, RICHIESTE DI CHIARIMENTI O DI MODIFICHE, RISOLUZIONE DI PROBLEMI. GLI STUDENTI ACQUISIRANNO INOLTRE LA PADRONANZA NELL’UTILIZZO APPROPRIATO DI STRUMENTI DI COMUNICAZIONE SINCRONA E ASINCRONA AI FINI DELLA COLLABORAZIONE NELL’AMBITO DI PROGETTI SOFTWARE.


CAPACITÀ DI APPRENDIMENTO

GLI STUDENTI ACQUISIRANNO LA CAPACITÀ DI RECUPERARE, CONSULTARE E COMPRENDERE LA LETTERATURA TECNICA E SCIENTIFICA DEL SETTORE DELL’INGEGNERIA DEL SOFTWARE (ANCHE IN LINGUA INGLESE), NONCHÉ LA CAPACITÒ DI AGGIORNARSI IN MATERIA AUTONOMA, ATTRAVERSO L’INDIVIDUAZIONE DEGLI STANDARD INTERNAZIONALI DEL SETTORE E DEGLI STRUMENTI METODOLOGICI E TECNOLOGICI PIÙ ADATTI ALLA SOLUZIONE DI PROBLEMI NELL’AMBITO DI PROGETTI SOFTWARE.
Prerequisiti
GLI STUDENTI DEVONO AVERE CONOSCENZA PREGRESSA DI: ALGORITMI E STRUTTURE DATI; PROGRAMMAZIONE PROCEDURALE E OBJECT-ORIENTED; SISTEMI DI GESTIONE DI BASI DI DATI; TECNOLOGIE DI SVILUPPO PER IL WEB; CONCETTI DI BASE DI INGEGNERIA DEL SOFTWARE, IN PARTICOLARE DEI MODELLI DI PROCESSO DI SVILUPPO SOFTWARE E DELLA MODELLAZIONE DEL SOFTWARE CON UML.
Contenuti
I CONTENUTI SONO ARTICOLATI IN TRE MODULI FORMATIVI:

M1: SOFTWARE PROCESS AND MANAGEMENT (24 ORE DI LEZIONE)
IL PRIMO MODULO INTRODUCE LO STUDENTE AI PROBLEMI DELLA GESTIONE DEL SOFTWARE E DEI RELATIVI PROCESSI DEL CICLO DI VITA. GLI ARGOMENTI INCLUDONO: STANDARD ISO/IEC E IEEE 12207 SUI PROCESSI DEL CICLO DI VITA DEL SOFTWARE; LEGGI DI LEHMAN E BELADY SULL'EVOLUZIONE DEL SOFTWARE; GESTIONE DEI SISTEMI SOFTWARE LEGACY; MODELLI DI SVILUPPO AGILI, MODELLI DI SVILUPPO BASATI SU RILASCIO CONTINUO E DEVOPS; SOFTWARE CONFIGURATION MANAGEMENT; METRICHE DEL SOFTWARE; GESTIONE DELLA QUALITA’ DEL SOFTWARE; ALLINEAMENTO DELL'IT AL BUSINESS.

M2: SOFTWARE MAINTENANCE (24 ORE DI LEZIONE)
IL SECONDO MODULO INTRODUCE LO STUDENTE AI METODI E AGLI STRUMENTI PER LA MANUTENZIONE DEL SOFTWARE. GLI ARGOMENTI TRATTATI INCLUDONO: PROCESSO DI MANUTENZIONE DEL SOFTWARE E RELATIVO STANDARD ISO/IEC/IEEE 14764; REVERSE ENGINEERING, REENGINEERING E MIGRAZIONE DEL SOFTWARE; DESIGN PATTERN E LORO UTILIZZO AI FINI DELL'EVOLUZIONE DEL SOFTWARE; IMPACT ANALISI E TRACCIABILITA’ DEL SOFTWARE; ANALISI DELLA QUALITA’ DEL SOFTWARE, ANTIPATTERN E REFACTORING.

M3: SOFTWARE TESTING (24 ORE DI LEZIONE)
IL TERZO MODULO APPROFONDISCE ED INTEGRA LE CONOSCENZE RELATIVE ALLA VERIFICA E ALLA CONVALIDA DEL SOFTWARE GIÀ ACQUISITE IN UN CORSO DI BASE DI INGEGNERIA DEL SOFTWARE DELLA LAUREA TRIENNALE. GLI ARGOMENTI TRATTATI INCLUDONO: PROCESSO E DOCUMENTAZIONE DI TESTING; STANDARD ISO/IEC/IEEE 29119; TECNICHE AVANZATE DI TESTING SISTEMATICO BLACK-BOX E WHITE BOX; TESTING DI REGRESSIONE; CENNI SU TESTING STATISTICO E ANALISI MUTAZIONALE; TECNICHE DI ANALISI E VERIFICA STATICA; TECNICHE DI ISPEZIONE DEL SOFTWARE; SELEZIONE, RIDUZIONE E PRIORITIZZAZIONE DI CASI DI TEST; PREDIZIONE DEI DIFETTI.
Metodi Didattici
L’INSEGNAMENTO PREVEDE 72 ORE DI LEZIONI FRONTALI A CARATTERE SIA TEORICO-METODOLOGICO (54 ORE) CHE PRATICO (18 ORE) PER IL TRASFERIMENTO DELLE CONOSCENZE E DEGLI STRUMENTI RELATIVI AI CONTENUTI E AI FINI DELLE ATTIVITA' PROGETTUALI.
AGLI STUDENTI VERRÀ ASSEGNATO UN PROGETTO DI GRUPPO (2-4 PERSONE) SU TEMATICHE DI EVOLUZIONE SOFTWARE TRAMITE IL QUALE POTRANNO APPROFONDIRE GLI ASPETTI PRATICI TRATTATI DURANTE LE ORE DI LEZIONE E SIMULARE DINAMICHE DI GRUPPO CHE AVVENGONO NEL MONDO DEL LAVORO. L'IMPEGNO RICHIESTO SUL PROGETTO E' DI CIRCA 36 ORE.
Verifica dell'apprendimento
IL RAGGIUNGIMENTO DEGLI OBIETTIVI DELL’INSEGNAMENTO È CERTIFICATO MEDIANTE IL SUPERAMENTO DI UN ESAME CON VALUTAZIONE IN TRENTESIMI. L'ESAME PREVEDE LA REALIZZAZIONE DI UN PROGETTO DI GRUPPO E LA CONSEGNA DELLA RELATIVA DOCUMENTAZIONE E UNA PROVA ORALE.

LA CONSEGNA DELLA DOCUMENTAZIONE DEL PROGETTO È PROPEDEUTICA ALLA PROVA ORALE.

LA PROVA ORALE CONSISTE IN UN COLLOQUIO CON DOMANDE E DISCUSSIONE SUGLI ASPETTI SALIENTI DEL PROGETTO REALIZZATO E SUI CONTENUTI TEORICI E METODOLOGICI INDICATI NEL PROGRAMMA DELL’INSEGNAMENTO ED È FINALIZZATA AD ACCERTARE IL LIVELLO DI CONOSCENZA RAGGIUNTO DALLO STUDENTE SUI CONTENUTI TEORICI E METODOLOGICI DEL PROGRAMMA DEL CORSO E LA LORO APPLICAZIONE AL PROGETTO, IL CONTRIBUTO DATO AL PROGETTO, LA COMPLETEZZA, CORRETTEZZA E SINTESI DELLA DOCUMENTAZIONE DI PROGETTO, NONCHÉ A VERIFICARE LA CAPACITÀ DI ESPOSIZIONE RICORRENDO ALLA TERMINOLOGIA APPROPRIATA, LA CAPACITÀ DI ORGANIZZAZIONE AUTONOMA DELL'ESPOSIZIONE E LA CAPACITÀ DI MOTIVARE ED ARGOMENTARE OPPORTUNAMENTE LE SCELTE DI PROGETTO.
Testi
- P. TRIPATHY, K. NAIK, "SOFTWARE MAINTENANCE AND EVOLUTION: A PRACTITIONER'S APPROACH, JOHN WILEY & SONS

- M. PEZZE’, M. YOUNG, "SOFTWARE TESTING AND ANALYSIS: PROCESSES PRINCIPLES AND TECHNIQUES", JOHN WILEY & SONS

- I. SOMMERVILLE, “SOFTWARE ENGINEERING”, ADDISON WESLEY

DISPENSE DEL DOCENTE.
Altre Informazioni
CONTATTI DEL DOCENTE:

ADELUCIA@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-18]