Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di computer » Ringiovanire il software

Ringiovanire il software




Visite: 1153Gradito:apreciate 5-stela [ Picolo appunti ]
Leggi anche appunti:

Funzione espo


FUNZIONE ESPO Scopo: la funzione calcola ex, nel caso in cui x è negativo

Il più semplice - computer


Il più semplice La CPU si occupa di eseguire tutte le operazioni e i calcoli necessari

Ringiovanire il software


Ringiovanire il software . Ridocumentazione: Consiste in una analisi statica
immagine di categoria

Scarica gratis Ringiovanire il software

Ringiovanire il software


. Ridocumentazione: Consiste in una analisi statica del codice sorgente (attraverso appositi strumenti) al fine di produrre la documentazione del sistema. Al fine di capire cosa fa il codice e come lo fa.


. Restructuring: Attività che trasforma il codice esistente in codice equivalente dal punto di vista funzionale, ma migliorato dal punto di vista della sua qualità.


Refactoring(object-oriented Restructuring): è un insieme di tecniche usabili per migliorare il codice ed il design di sistemi object-oriented. Il processo di cambiamento di un sistema software in modo tale da non alterare il comportamento esterno del codice, migliorando la sua struttura interna. Tali tecniche cercano di eliminare i cosiddetti Bad Smells dal codice.


. Reverse Engineering: Analisi del codice ed estrazione di informazioni relative alla sua struttura e funzionalità. È un'attività che consente di ottenere specifiche e informazioni sul design di un sistema a partire dal suo codice, attraverso processi di estrazione ed astrazione di informazioni.


. Reengineering: La reingegnerizzazione è un'attività di re-implementazione di un sistema software svolta per migliorare la manutenibilità di un software esistente.

Obiettivi del Reengineering: modulare il sistema, migliorare le performance, migrare verso altre piattaforme, introdurre una nuova tecnologia nel sistema.

Essa può comprendere: Reverse Engineering, Restructuring(o Refactoring, ex source code translation), Data reengineering (ex: upgrading data models).



Reverse Engineering

Fasi di Estrazione ed Astrazione:

. Estrazione(information extraction): Analisi del codice o di altri artefatti software, allo scopo di ottenere informazioni relative al sistema analizzato.

. Astrazione(view abstraction): Si esaminano le informazioni estratte e si cercano di astrarre diagrammi, o viste, ad un più alto livello di astrazione (es.: diagrammi di progetto, architetturali, del dominio dei dati).


Canfora e Di Penta hanno recentemente proposto un modello concettuale che sistematizza tutti i concetti chiave di un processo di reverse engineering. In cui si individuano:

. Core model: obbiettivi del reverse engineering(per  cambiarlo, per capirlo) e altri concetti base.

. Artifacts: oggetti coinvolti del processo di reverse engineering. Esempi: specifiche, modello di analisi, modello di progetto, documentazione, codice sorgente, file di configurazione, dati del sistema, file eseguibili, tracie di esecuzione.

. Analyzers: strumenti/attività che analizzano gli artefatti del software per popolare la base di conoscenza(knowledge base). Tipologie:

- Static analysis: Analisi statica del codice sorgente o di altri artefatti. Risulta rapida ed economica. Inefficiente per catturare modelli comportamentali/dinamici. Intrinseca difficoltà crescenti con sistemi altamente dinamici.

- Dynamic analysis: Analisi del sistema in esecuzione basandosi si casi di test o scenari reali. Utile per ottenere modelli dinamici del sistema. La qualità dei modelli costruiti dipende dai dati utilizzati per l'esecuzione.

- Historical analysis: ha differenza dell'analisi dinamica e statica, si protone di ottenere informazioni su perché, come, quando un artefatto è cambiato.

. Views: rappresentazioni di alto livello costruite tramite interrogazioni alla base dati. Tipologie: Architectural View, Code View, Metric View, Historical View.

Scarica gratis Ringiovanire il software
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...