Caratteristiche e tipologie di manutenzione del software in informatica

Caratteristiche e tipologie di manutenzione del software in informatica

La manutenzione del software viene definita come “the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a changed environment”.

Per manutenzione si intende quindi la fase del ciclo di vita del software che comprende il complesso delle operazioni necessarie a conservare la conveniente funzionalità, efficienza e modificabilità del sistema dopo il rilascio del prodotto software.

Caratteristiche e tipologie di manutenzione del software in informatica

In generale si può dire che la manutenzione è la base di tutti gli interventi che si possono operare su un sistema, sia perché la velocità con cui esso tende a diventare legacy dipende molto dall’adeguatezza e qualità del processo di manutenzione, sia perché spesso diventa poi difficile dare una chiara separazione tra intervento di manutenzione e di altro tipo. In linea di massima si può assumere che si è in presenza di manutenzione quando, nonostante le modifiche, il sistema rimane strutturalmente costante e continua a giocare lo stesso ruolo nell’ambito del contesto d’uso.

In base allo scopo, i tipi di manutenzione possono essere:

  • Manutenzione correttiva (25%), che ha lo scopo di eliminare i difetti (fault) che producono guasti(failure) del sistema software, sfuggiti ai test finali prima della consegna al cliente..
  • Manutenzione adeguativa (21%), che ha lo scopo di adattare il sistema software ad eventuali cambiamenti nel caso in cui le specifiche siano modificate in seguito a variazioni delle condizioni al contorno.
  • Manutenzione perfettiva (50%), che ha lo scopo di estendere il software con funzionalità aggiuntive, migliorare quelle già in utilizzo ed eliminare quelle più obsolete.
  • Manutenzione preventiva o software reengineering, che consiste nell’effettuare modifiche che rendano più semplici le future correzioni, e gli adattamenti per cambiare la struttura dell’applicazione mantenendone però intatta la funzionalità.

La manutenzione è un elemento strategico per il software, e ancora oggi, nonostante il miglioramento dei processi produttivi, rappresenta oltre il 70% della spesa per i sistemi informatici; inoltre una manutenzione non strutturata e caotica porta al rapido degrado di un sistema, e quindi alla sua totale ingestibilità (accelera il diventare legacy di un sistema).

La manutenzione ha tutta una serie di problematiche, dovute principalmente al fatto che è estremamente complicato capire il software realizzato da altri (in funzione inversa alla quantità di documentazione) e che l’autore del software in genere non è disponibile per collaborare alla risoluzione del problema. Inoltre, soprattutto nel caso di sistemi molto vecchi, la documentazione spesso non esiste o è fortemente inadeguata.

I motivi per cui i costi possono essere così alti sono i seguenti:

  • Il personale addetto alla manutenzione non è formato o non ha familiarità nel campo dell’applicazione. Gli sviluppatori originari dell’applicazione legacy non sono facilmente rintracciabili.
  • L’applicazione non essendo programmata con tecniche moderne può essere malstrutturata e difficilmente comprensibile.
  • I cambiamenti apportati al software possono non essere adeguatamente documentati e causare nuovi difetti software.
Precedente Caratteristiche e differenza tra REST e SOAP in informatica Successivo Definizione, caratteristiche e vantaggi della domotica

Lascia un commento