Codice Insegnamento: F1801Q032
Docente: Francesca Arcelli Conoscenze: Aspetti e problematiche principali dell'evoluzione del software e della reverse engineering Capacità: Capacità di effettuare analisi utilizzare diversi strumenti di reverse engineering. Programma:
- Evoluzione dei Sistemi Software: Il riuso del software; Le dinamiche dell'Evoluzione del software; Manutenzione del Software: problematiche principali;
- Reverse Engineering: Reverse Engineering orientata agli oggetti; quali sono i patterns usati nella reverse engineering;
- Metriche di qualità e di manutenibilità di un sistema esistente
- Gestione di un portafolio applicativo di grandi dimensioni (Application Portfolio Management): problemi, strumenti di supporto, le metriche utilizzate.
- Modernizzazione dei sistemi legacy: Migrazione dei sistemi legacy verso architetture SOA
- Tecniche di hacking, decompiling, offuscamento codice per la protezione delle applicazioni web.
- Le recenti metodologie, tecniche e strumenti di Reverse Engineering
- Strumenti di riconoscimento automatico di design pattern nel codice.
- Antipattern e code smell nel codice: le loro possibili correlazioni, il loro riconoscimento e rimozione.
- Impatto delle tecniche di refactoring sulla qualità del codice
- Applicazioni della model drive reverse engineering.
|
|
|
Knowledge: Principal knowledge, techniques and tools to be used to face problems of software evolution and reverse engineering Skills: Able to perform analysis and to use tools to support software comprehension, software maintenance and reverse engineering.
Program:
- Software Evolution: principal problems, software reuse, software mainteinance.
- Reverse Engineering: Object-oriented Reverse Engineering, patterns used in reverse engineering;
- Metrics for software quality evaluation
- Application Portfolio Management
- Legacy systems modernization
- Systems migration towards SOA architecture
- Hacking, decompiling techniques, code obfuscation and protection
- Design pattern detection
- Antipattern and code smell detection
- Automatic refactoring and quality evaluation.
- Model driven reverse engineering.
|
|