Manutenzione del programma
Program maintenance è il processo di modifica di un software o di un programma dopo la consegna per ottenere uno di questi risultati -
- Correggi gli errori
- Migliorare la prestazione
- Aggiungi funzionalità
- Rimuovi le porzioni obsolete
Nonostante la percezione comune che la manutenzione sia necessaria per correggere gli errori che si verificano dopo che il software è entrato in funzione, in realtà la maggior parte del lavoro di manutenzione comporta l'aggiunta di funzionalità minori o maggiori ai moduli esistenti. Ad esempio, alcuni nuovi dati vengono aggiunti a un rapporto, un nuovo campo aggiunto ai moduli di iscrizione, un codice da modificare per incorporare le leggi governative modificate, ecc.
Tipi di manutenzione
Le attività di manutenzione possono essere classificate in quattro voci:
Corrective maintenance- Qui vengono corretti gli errori che si verificano dopo l'implementazione in loco. Gli errori possono essere segnalati dagli utenti stessi.
Preventive maintenance - Le modifiche apportate per evitare errori in futuro sono chiamate manutenzione preventiva.
Adaptive maintenance- I cambiamenti nell'ambiente di lavoro a volte richiedono modifiche nel software. Questa è chiamata manutenzione adattiva. Ad esempio, se la politica educativa del governo cambia, devono essere apportate le modifiche corrispondenti nel modulo di elaborazione dei risultati degli studenti del software di gestione scolastica.
Perfective maintenance- Le modifiche apportate al software esistente per incorporare nuovi requisiti dal cliente sono chiamate manutenzione perfettiva. L'obiettivo qui è essere sempre aggiornati con le ultime tecnologie.
Strumenti di manutenzione
Gli sviluppatori di software e i programmatori utilizzano molti strumenti per assisterli nella manutenzione del software. Ecco alcuni dei più utilizzati:
Program slicer - seleziona una parte del programma che sarebbe interessata dalla modifica
Data flow analyzer - tiene traccia di tutti i possibili flussi di dati nel software
Dynamic analyzer - traccia il percorso di esecuzione del programma
Static analyzer - consente la visualizzazione generale e il riepilogo del programma
Dependency analyzer - aiuta a comprendere e analizzare l'interdipendenza delle diverse parti del programma