Ingegneria del software – Modelli di processo per la manutenzione del software

Ingegneria del software – Modelli di processo per la manutenzione del software

Problemi della manutenzione del software

I problemi della manutenzione del software in gran parte dipendono dalla mancanza di controllo e disciplina nelle fasi di analisi e progetto del software. Alcuni fattori tecnici sono i seguenti:

  1. difficoltà nel comprendere un programma scritto da altri
  2. mancanza di documentazione completa/consistente
  3. software non progettato per modifiche future
  4. difficoltà nel tradurre una richiesta di modifica di funzionamento del sistema in una modifica del software
  5. valutazione dell’impatto di ciascuna modifica sull’intero sistema
  6. la gestione della configurazione del software
  7. la necessità di ritestare il sistema dopo le modifiche

Ingegneria del software - Modelli di processo per la manutenzione del software

Modelli di processo per la manutenzione del software

Per far fronte a questi problemi si utilizzano molto spesso questi 2 modelli di processo per la manutenzione del software.

Modello di riparazione veloce (Quick-fix model)

  • modifiche al codice in termini di patches (‘pezze’)
  • veloce ed economico sul breve termine
  • degradazione delle struttura
  • documentazione modificata a posteriori

Questo modello è consigliato solo se bisogna eseguire piccole modifiche sul software o sistema in produzione.

Manutenzione “d’urgenza”

In alcuni casi le richieste di manutenzione devono essere soddisfatte rapidamente:

  • Se un difetto serio deve essere riparato;
  • Se modifiche dell’ambiente operativo causano effetti collaterali imprevisti sull’operatività del sistema;
  • Se è necessario l’adeguamento urgente a seguito di cambiamenti imprevisti (come per esempio ambiente o mercato)

In questi casi, le fasi di analisi e progetto della modifica potrebbero non essere eseguite, implementando direttamente il cambiamento sul software in produzione.

Modello di miglioramento iterativo (iterative-enhancement model)

  • valutazione preventiva dell’impatto della modifica
  • decisione se lavorare su componenti esistenti o sviluppare nuove componenti
  • preserva la struttura del sistema software (architettura)
  • lento e costoso sul breve termine
  • documentazione modificata in anticipo

Il modello di miglioramento iterativo a differenza del modello di riparazione veloce è utilizzato se il software/sistema necessita di manutenzione più “pesante” e quindi la procedura di fatto è molto diversa (riprende in buona parte le caratteristiche del ciclo di sviluppo iterativo e incrementale).

Il processo di evoluzione delle Release software
Il processo di evoluzione delle Release software

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *