Versione (sviluppo software)

In informatica, ma soprattutto nello sviluppo software, la versione (di un software, programma o applicazione) corrisponde a un determinato stato nello sviluppo di un software secondo l'uso del versioning (lett. "versionamento"). Secondo il Grand dictionnaire terminologique, il versionnage…

In informatica, ma soprattutto nello sviluppo software, la versione (di un software, programma o applicazione) corrisponde a un determinato stato nello sviluppo di un software secondo l'uso del versioning (lett. "versionamento"). Secondo il Grand dictionnaire terminologique, il versionnage (equivalente francese dell'inglese versioning) è quel processo (nello sviluppo), di mantenimento, di una versione di qualsiasi software in modo che possa essere facilmente recuperata, anche dopo che sono state rilasciate e implementate versioni più recenti.

Versioning semantico

Il versioning semantico (Semantic Versioning), abbreviato come SemVer, è uno schema di numerazione delle versioni per il software che stabilisce regole e requisiti su come i numeri di versione vengono assegnati e incrementati.

È stato introdotto formalmente da Tom Preston-Werner, nonostante venisse utilizzato fin da prima della sua formalizzazione, ed è ampiamente utilizzato nella comunità dello sviluppo software.

Il numero di versione in SemVer è composto da tre segmenti: MAJOR.MINOR.PATCH. Ogni segmento ha un significato specifico:

Versione MAJOR: Si incrementa quando vengono introdotte modifiche incompatibili all'API. Questo indica che la nuova versione potrebbe non essere retrocompatibile con la versione precedente.

Versione MINOR: Si incrementa quando vengono aggiunte nuove funzionalità in modo retrocompatibile. Ciò significa che il codice che funzionava con la versione precedente dovrebbe continuare a funzionare con quella nuova.

Versione PATCH: Si incrementa per correzioni di bug retrocompatibili. Indica che la nuova versione è retrocompatibile e contiene principalmente correzioni per problemi presenti nella versione precedente.

Inoltre, SemVer consente versioni di pre-rilascio e metadati di build:

Versione di pre-rilascio: Un trattino seguito da una serie di identificatori separati da punti, indicando una versione di pre-rilascio. Ad esempio, "1.0.0-alpha.1".

Metadati di build: Un segno più seguito da una serie di identificatori separati da punti, indicando metadati di build. Ad esempio, "1.0.0+20130313144700".

Seguendo Semantic Versioning, sviluppatori e utenti possono rapidamente capire la natura dei cambiamenti in una release software, semplificando la gestione delle dipendenze e la determinazione della compatibilità.

Versioni preliminari

Durantente il corso della vita di un software, vengono sviluppate e pubblicate più versioni dello stesso: alcune di queste sono preliminari (come le versioni alfa e beta) e spesso rimangono inaccessibili al pubblico – tranne che per eventuali (alfa o beta) testing.

Release

Le versioni – chiamate in questo caso release (lett. "rilascio") – successive alla messa in vendita o diffusione del software, sono associate a un numero o, in certi casi, ad un nome identificativo.

Convenzionalmente, si distinguono release maggiori, dette major release, quando le differenze dalla release precedente riguardano sostanziali evoluzioni delle funzionalità del software, non retrocompatibili, e release minori, dette minor release, quando le differenze riguardano principalmente correzioni di malfunzionamenti del software (bug) o comunque aggiunta di nuove funzionalità retrocompatibili.

Servizi correlati

Altre voci

Q

Qualità del software

Per qualità del software si intende la misura in cui un prodotto software soddisfa un certo numero di aspettative rispetto sia al suo funzionamento sia alla sua struttura interna. Gran parte della ricerca nel campo dell'ingegneria del software è dedicata, direttamente o indirettamente, al tema…

Leggi la voce →
Gestione del magazzinoG

Gestione del magazzino

Un sistema per la gestione del magazzino (in inglese warehouse management system - WMS, in Italia anche nominato software di magazzino oppure sistema gestionale di magazzino) è una parte fondamentale del sistema di gestione dell'intera catena di distribuzione.

Leggi la voce →
S

SAP ERP

L'applicazione SAP ERP è un sistema Enterprise Resource Planning (ERP) prodotto dalla SAP AG. Negli anni 90 e inizio 2000 grazie a SAP molte aziende di grande dimensione si sono dotate di un software ERP. Tuttavia SAP (considerato troppo rigido) non si è mai affermato nel mondo delle piccola…

Leggi la voce →
C

Cloud computing

Il cloud computing, in italiano nuvola informatica o servizi nella nuvola, indica un paradigma di erogazione di servizi offerti su richiesta da un fornitore a un utente finale attraverso la rete internet (come l'archiviazione, l'elaborazione o la trasmissione dati), a partire da un insieme di…

Leggi la voce →
C

Ciclo di vita del software

Il ciclo di vita del software, in informatica, e in particolare nell'ingegneria del software, si riferisce al modo in cui una metodologia di sviluppo scompone l'attività di realizzazione di prodotti software in sottoattività fra loro coordinate, il cui risultato finale è la realizzazione del…

Leggi la voce →
C

Customer relationship management

In economia aziendale, la gestione delle relazioni con i clienti, nota comunemente come customer relationship management (in sigla CRM), è un approccio strategico che integra tecnologie, processi e analisi dei dati per ottimizzare le interazioni di un'organizzazione con i suoi clienti.

Leggi la voce →