Definizione: distribuzione del software

La distribuzione del software Γ¨ il processo in cui si distribuisce un software dal computer su cui Γ¨ stato creato, ossia quello dello sviluppatore, a quelli degli utenti finali.

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