Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Education
Evoluzione dei sistemi software e reverse engineering

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.

 

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 11/10/2011