Ho sentito che nel tempo il software può iniziare a mostrare segni di usura.
Che cosa significa usura del software?
Il software stesso non è un'entità fisica, quindi come può esserci usura?
Ciò a cui ci si riferisce probabilmente è entropia del software o software rot . Questi sono termini presi in prestito o analoghi a cose del mondo fisico, ma applicati al software.
L'idea è presa in prestito dalla termodinamica . Quando viene applicato al software, significa che quando si introducono modifiche in un sistema, il sistema ottiene solo disordine. Esistono tecniche che possono essere utilizzate per limitare la quantità di disturbo, come il refactoring, ma nel corso della sua vita, ci sarà un aumento netto del disturbo del sistema. La quantità di disturbo è spesso legata alla capacità di continuare a mantenere il sistema.
Il software rot è simile. Quando si modifica qualsiasi aspetto del sistema, dall'ambiente in cui viene eseguito ai requisiti sottostanti che hanno guidato la progettazione e l'implementazione, lo stato del sistema cambia in un modo che lo rende "peggiore". Potrebbe andare dalle differenze estetiche (una libreria UI sottostante viene aggiornata e il comportamento delle modifiche del sistema) a funzionale (le modifiche apportate all'architettura della CPU influenzano le caratteristiche di esecuzione del sistema, causando errori di sincronizzazione o sincronizzazione). Il software rot non richiede necessariamente modifiche al sistema software, ma solo nell'ambiente in cui viene distribuito il software.
Potrebbe significare che, più aggiungi funzionalità al tuo software, meno il suo design rimane pulito, elegante e ulteriormente estensibile, il che significa che a un certo punto devi riscriverlo / refactarlo in parti sostanziali di esso?
Nel corso del tempo ci sono molte cose che potrebbero accadere a un code base che potrebbero causarne il deterioramento.
Questi potrebbero portare a ciò che si potrebbe chiamare usura del software.
È vero in senso stretto che il software in sé non si consuma. Ma tutto il resto sull'intero processo di distribuzione, configurazione e utilizzo del software passa attraverso modifiche che possono avere lo stesso effetto nell'impressione dell'utente. Ne hai già elencati alcuni. Altri includono:
Molti fattori possono cospirare contro un programma che è considerato accettabile, buono o addirittura ottimo per erodere la sua reputazione e la sua capacità di svolgere la sua funzione.
Leggi altre domande sui tag maintenance software