Premessa
Ciao! Se è la prima volta che capiti su questo sito, ti consiglio di consultare la pagina principale di questo cosiddetto Giardino Digitale per scoprire meglio cos’è e come navigarlo.
Lo stato di questa nota è al momento: 🔴 Bozza.
Definizione: distribuzione del software
Definizione: distribuzione corretta
La distribuzione di un software si dice corretta quando, a parità di input, il software si comporta allo stesso modo su ogni computer su cui è stato distribuito.
Molto semplicemente, se creo un software su un mio computer, durante la fase di distribuzione devo assicurarmi che, una volta che lo trasferisco su un altro computer, si comporti allo stesso modo.
Esempio di distribuzione corretta
Io creo un programma che somma due numeri: lo eseguo sul mio computer e, dandogli in input e , mi restituisce .
Allo stesso modo, se la distribuzione è stata corretta, se questo stesso programma lo trasferisco sul tuo computer, dandogli in input e dovrà sempre restituire .
La distribuzione corretta dovrebbe essere una cosa molto semplice: per esempio, se ho un software composto da un insieme di file, allora la distribuzione consiste semplicemente nel copiare quei file nei computer degli utenti finali. In pratica, questo processo è molto più complicato di così, infatti possono sorgere diversi problemi.
Uno di questi può essere la mancanza di dipendenze.
Osservazione: problema della mancanza di dipendenze
Facciamo finta che uno sviluppatore abbia scritto un software e l’abbia testato su diversi casi d’uso per assicurarsi che il software funzioni correttamente: può capitare che il sistema operativo del computer dell’utente finale non sia esattamente uguale a quello dello sviluppatore. Spesso i software hanno delle dipendenze su cui si appoggiano e se queste dipendenze non sono presenti nel computer dell’utente finale, allora il software non funzionerà correttamente.
In altre parole: avere lo stesso software con gli stessi dati in input non assicura che il risultato sia lo stesso su ogni computer.
Un altro problema possibile è l’interferenza tra dipendenze.
Osservazione: problema dell'interferenza tra dipendenze
L’aggiornamento di un software può necessitare anche dell’aggiornamento delle dipendenze su cui poggia: tuttavia, ci può essere un terzo software che dipende da e che potrebbe risultare incompatibile dall’aggiornamento di quest’ultimo.
graph TD X ---> Y Z ---> Y
Fonti