Introduzione

Nell’ambito dello sviluppo software, per gestire in maniera efficace i sorgenti di smeup e tutte le modifiche ad essi apportate, è stato implementato un meccanismo di controllo di versione, prendendo spunto dai sistemi utilizzati oggigiorno. Questa applicazione permette il controllo delle versioni dei sorgenti su cui si lavora. Per controllo di versione si intende un sistema che tiene traccia di tutte le modifiche apportate nel tempo a un file e supporta i programmatori nella gestione degli sviluppi e dei rilasci. Il Concetto fondamentale è quello del  branch. Il branch consiste in una duplicazione del codice in un ambiente separato, sul quale il programmatore può agire senza danneggiare il software originale.
A fine sviluppo, il branch verrà riportato all’interno del software originale attraverso controlli da svolgersi attraverso la app. Per un branch esistono due figure: il programmatore che lo ha creato per modificare il sorgente e un suo collega che riporterà le modifiche svolte nel software originale. Ogni branch può infatti essere fatto refluire all’interno del sistema soltanto grazie all’approvazione di uno degli sviluppatori necessariamente che deve essere diverso da chi ha sviluppato il branch in questione.  Questa duplicazione di figura si rende necessaria per una corretta fase di controllo.

Gli ambienti

Nell’ambito dello sviluppo software, si hanno più ambienti. Per ambienti si intende un insieme di librerie organizzate nelle quali si possono avere i sorgenti, i programmi e i dati. È uso suddividere gli ambienti in ambienti di sviluppo, di test e di standard. Una modifica può essere fatta sia a livello di standard, che di sviluppo, che di test. Il nostro sistema ci permette di utilizzare di volta in volta uno di questi ambienti per verificarne la funzionalità. Inoltre, al completamento di determinati test, permette di promuovere le modifiche da un ambiente all’altro fino a portarlo all’ambiente standard.

Come operiamo

Il software ci permette di operare secondo diverse fasi:

  1. Gestione dei branch e verifica dello stato : è possibile visualizzare l’elenco di tutti i branch, e consultare dettagli come ad esempio in quale ambiente la modifica è stata apportata, chi l’ha eseguita, in che data, il motivo per cui la modifica è stata realizzata, quali sono tutti i sorgenti coinvolti. Nel caso in cui un sorgente fosse stato utilizzato in più branch, possiamo avere l’evidenza di quali branch sono interessati. Questo è di fondamentale importanza per chi eseguirà i check-out perché l’utilizzo contemporaneo di un sorgente in più branch può creare sovrapposizioni. Lo stato di un branch può essere attivo, in stato di ckeck-out request oppure in stato di request change, che si ha quando ci sono parti da modificare o correggere, oppure infine in stato di rilascio all’interno dell’ambiente di destinazione.
    Controlli da parte della nostra applicazione: mentre il branch è attivo, lo sviluppatore modificherà i sorgenti con diverse compilazioni. Per ogni compilazione, la nostra applicazione salva i sorgenti con un time stamp di data e ora. Questo per permettere una history completa di tutte le modifiche apportate all’interno del branch. Inoltre, ad ogni compilazione vengono eseguiti tutti i controlli delle policy aziendali quali autorizzazioni sui sorgenti, eventuali conflitti, e via discorrendo.
  1. Creazione del branch: in questa fase viene attribuito un numero univoco al branch e l’utente compila una scheda in cui inserisce informazioni come descrizione, motivo per cui è creato il branch, chi può osservare il branch. È infatti possibile inserire una lista di osservatori, ovvero colleghi che possono essere interessati al nuovo sviluppo.
  2. Richieste di check-out: al termine dello sviluppo di un branch, il programmatore eseguirà la richiesta di check-out. Per policy aziendale, come abbiamo detto precedentemente, lo sviluppatore che ha creato il branch non può eseguirne il check-out, ma deve forzatamente richiederne l’effettuazione ad un collega. Questa fase è controllata e monitorata dalla nostra applicazione. Il collega che prende in carico la richiesta verificherà la congruenza del branch e se del caso effettuerà il check-out, altrimenti lo rifiuterà rimettendo il branch in stato attivo e indicando le modifiche necessarie.
  3. Rilascio di un branch: l’utente responsabile del check-out potrà effettuare un check-out totale o parziale(solo di alcuni sorgenti) nell’ambiente di destinazione richiesto, ovvero in ambiente di test, sviluppo, o standard.

Per la qualità dello sviluppo software, abbiamo imposto dei controlli direttamente sull’applicazione, che guida gli sviluppatori alla gestione dei branch e assicura di limitare al minimo gli errori. Questa impone infatti un doppio controllo da parte dei colleghi e verifica il rispetto delle policy aziendali. Vengono eseguiti controlli per ogni fase dello sviluppo software e questo permette di avere sempre il quadro completo relativamente a chi sta modificando cosa, quando e perché: cos’è stato svolto, le motivazioni per cui una certa modifica è stata effettuata, chi l’ha svolta e come operare in maniera coerente e correggere eventuali errori. In questo modo, è possibile avere sempre sotto controllo il quadro completo di tutte le attività in atto e viene garantita una gestione ottimale del lavoro svolto.

Published On: Marzo 6th, 2020 / Categories: ERP / Tags: , , , , /

Naviga per categoria:

Seleziona una categoria d’interesse dal nostro magazine