La manutenzione del software è un processo mediante il quale un programma per computer viene modificato o aggiornato dopo che è stato rilasciato. Sebbene il termine “manutenzione” possa implicare riparazioni e correzioni di errori, solo una parte di questo processo è destinata a questo scopo, denominata “correttiva”. Gran parte della manutenzione del software viene utilizzata per il lavoro “adattivo” che garantisce che un programma continui a essere efficace e utilizzabile in ambienti che cambiano, nonché procedure “perfette” che migliorano la funzionalità. La manutenzione “preventiva” viene utilizzata per semplificare il processo in futuro, fornendo documentazione e strumenti aggiuntivi per rendere più semplice lo sviluppo di aggiornamenti successivi.
Una grande quantità di manutenzione del software viene eseguita tramite patch create da uno sviluppatore e poi rilasciate al pubblico. Questi file vengono installati da un utente di computer e modificano la funzionalità e il design del programma di base su un sistema. Questo viene fatto dopo il rilascio di un programma, anche se lo sviluppo iniziale del software dovrebbe prendere in considerazione la manutenzione.
La manutenzione correttiva del software è il processo di sviluppo di modifiche a un programma che riparano bug o risolvono problemi. Questo non aggiunge nuove funzionalità, a meno che non siano già esistenti ma non possano essere utilizzate a causa di un errore di programmazione. Solo circa un quarto di tutta la manutenzione del software viene utilizzato per problemi correttivi, ma è spesso considerato l’elemento più importante dagli utenti del programma.
Una grande quantità di manutenzione del software viene definita “adattiva”, che viene utilizzata per regolare un programma in modo che funzioni in un nuovo ambiente. I programmi sono generalmente progettati e sviluppati per funzionare su un determinato sistema operativo (OS). Sebbene alcuni software possano funzionare su versioni più recenti, ci sono molti programmi che non possono farlo. Una patch adattativa a un programma potrebbe alterare il codice per consentirgli di funzionare correttamente su un nuovo sistema, mantenendolo aggiornato e utilizzabile.
La manutenzione software perfetta viene utilizzata per aggiungere nuove funzionalità a un prodotto e per apportare modifiche che possono interessare direttamente un utente. Un’azienda potrebbe rilasciare un programma di elaborazione testi, ad esempio, che include alcune funzionalità di controllo ortografico. Se rilasciano una patch che aggiorna il dizionario nel programma e crea ulteriori opzioni di correzione degli errori, allora sarebbe considerata una manutenzione perfetta. Questi aggiornamenti sono in genere abbastanza minori, poiché le revisioni principali di solito richiedono il rilascio di una nuova versione o di un “client” software.
Gli sviluppatori possono anche lavorare sulla manutenzione preventiva del software, che viene utilizzata per rendere ancora più semplici le modifiche future. Dopo lo sviluppo, un’azienda può rendersi conto che esiste il potenziale per un bug che non si è ancora sviluppato. Potrebbero rilasciare una patch che risolve questo problema prima che diventi effettivamente un problema. È inoltre possibile eseguire ulteriore documentazione e pulizia del codice per rendere più semplice o non necessaria la manutenzione futura.