Perché si chiama Software Configuration Management (SCM)?


9

Quando penso alla configurazione del software, penso a un file letto dal runtime - detto file conterrebbe cose come la porta che un server potrebbe usare, se usare la crittografia e percorsi di varie risorse.

Quando mi sono imbattuto per la prima volta in "Gestione della configurazione del software", ho pensato che significasse solo la gestione dei file di configurazione, ma ho subito capito che gli strumenti SCM non riguardavano solo i file di configurazione, ma anche il codice del software, l'eseguibile / binario del software e anche le risorse.

Quindi perché utilizziamo il termine "Gestione della configurazione del software"? La "gestione del software" non sarebbe più comprensiva? O manca la mia comprensione di ciò che è considerato "configurazione"?

Risposte:


13

Il termine gestione della configurazione appartiene al vocabolario generale dell'ingegneria.

Il suo scopo è di tenere traccia delle caratteristiche di tutte le parti / componenti di un sistema complesso (ad esempio un'auto, un missile, un dispositivo elettronico) e, naturalmente, il cambiamento di queste caratteristiche quando un componente viene sostituito con un componente simile. Una configurazione descrive esattamente un prodotto specifico.

In altre parole, la gestione della configurazione è la gestione delle versioni per prodotti industriali. Consente in qualsiasi momento di assemblare una versione precedente di un prodotto.

Nel software non esiste un catalogo industriale di parti che potrebbe consentire di identificare in modo univoco un software e le sue versioni successive e ritrovarlo in un magazzino per assemblare (configurare) una versione precedente del prodotto. La parte / componente software è meglio descritta dal suo codice nella sua interezza. Quindi la gestione della configurazione per il software significa gestire le versioni del codice sorgente. Questo è il motivo per cui il termine gestione della configurazione del software viene utilizzato per la gestione della versione del codice sorgente.

Si noti tuttavia che SCM è più grande del solo versioning del codice sorgente. Può anche includere la gestione di dipendenze esterne (ad esempio librerie o framework di terze parti con versioni gestite altrove), risorse esterne (ad esempio binari o dll di terze parti o definizioni API per interagire con sistemi esterni), nonché risorse digitali (ad esempio immagini o video per essere pacchetti con il prodotto finale).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.