Che cos'è una versione di manutenzione?
Una versione di manutenzione è una versione software che corregge un difetto di sicurezza o un bug minore senza alterare alcun componente principale o aggiungere nuove funzionalità. Di solito sono numerati in decimi o centesimi per differenziarli dalle principali versioni, che sono numerate semplicemente versione 1.0, versione 2.0 e così via. Una versione di manutenzione fa parte del funzionamento del sistema e della fase di supporto del ciclo di vita della versione del software.
Ogni applicazione software passa attraverso il ciclo di vita del rilascio del software. Inizia con l'analisi dei sistemi e la scoperta dei requisiti, una fase in cui vengono modellati dati e processi. Quindi passa alla fase di progettazione, alla fase di costruzione, alla fase di implementazione e infine alla fase operativa e di supporto. È in quest'ultima fase che viene applicato il supporto tecnico continuo per gli utenti tramite l'introduzione di versioni di manutenzione che riparano gli errori o aggiornano l'intero sistema rimodellando i requisiti di base.
In genere è necessaria una versione di manutenzione per correggere errori di programmazione di base. Questi in genere compaiono a causa di errori commessi in una delle fasi precedenti del ciclo di vita del software. Se durante la fase di analisi dei requisiti, ad esempio, i requisiti vengono comunicati o convalidati in modo errato, può portare a gravi difetti che non si presentano fino a molto tempo dopo. Questo è in realtà un evento comune, motivo per cui quasi ogni pezzo di software mai rilasciato ha dovuto subire una versione di manutenzione in un momento o nell'altro.
Sono diversi gli obiettivi fondamentali di una versione di manutenzione. Innanzitutto, il rilascio dovrebbe apportare modifiche ai programmi esistenti per correggere gli errori commessi nei requisiti, nella progettazione o nelle fasi di implementazione. Dovrebbe inoltre garantire che le correzioni apportate di recente non interferiscano con altri aspetti del segmento modificato e che le modifiche apportate di recente non interferiscano con le attività di altri segmenti. Infine, il rilascio non dovrebbe compromettere le prestazioni del sistema. In generale, gli ingegneri del software cercano di completare questo processo il più rapidamente possibile, senza sacrificare la qualità o l'affidabilità.
Prima di poter rilasciare una versione di manutenzione, è necessario verificarla a fondo con tre metodi: test unitario, test di sistema e test di regressione. Il test unitario assicura che il segmento specifico del programma che è stato corretto ora funzioni correttamente. I test di sistema, d'altra parte, assicurano che il segmento appena fissato del programma non interferisca con altri segmenti del programma. Il test di regressione utilizza dati statistici per verificare se la velocità complessiva o il tempo di risposta sono stati influenzati positivamente o negativamente dalle modifiche.
L'ultimo e forse il più importante aspetto della manutenzione del sistema è il controllo della versione. In questa parte del processo, un bibliotecario esperto di software basato registra meticolosamente e tiene traccia di tutte le modifiche apportate. Ciò consente agli ingegneri del software di tornare indietro nel caso in cui la versione di manutenzione rilevi errori imprevisti.