Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 - Gestione della configurazione software Ernesto Damiani Università degli Studi di Milano Lezione 1 – Introduzione alla gestione della configurazione
Definizione (1) Secondo lo standard IEEE, la CM (Configuration Management) è il processo di – identificazione e definizione di tutte le entità presenti nel sistema – controllo del cambiamento di queste entità in tutto il loro ciclo di vita – registrazione e rilevazione dello stato delle entità e delle richieste di cambiamento – verifica della completezza e della correttezza delle entità
Definizione (2) La definizione dello standard IEEE oggi, però, deve essere ampliata per includere nuove funzionalità extra dei sistemi CM: – Manufacturing: gestione della creazione del prodotto software Ad esempio: “Quali versioni di file e tool sono stati usati per creare questa versione?” – Process Management: assicurazione dell’esecuzione corretta delle procedure e del modello del ciclo di vita Ad esempio: “Tutti i file sono stati testati per verificarne la qualità prima di essere consegnati al cliente?” – Team Work: controllo del lavoro e delle interazioni tra più sviluppatori su un prodotto Ad esempio: “Tutti i cambiamenti dei programmatori apportati localmente sono stati riuniti nell’ultima versione del prodotto?”
Definizione (3) Manufacturing – Environment setup – Build – Packaging Process management – Per assicurare l’impostazione corretta di flussi di sviluppo/test/rilascio Team Work – Per consentire comunicazione tra i componenti dei gruppi di sviluppo – Per consentire assegnamento e traccia delle attività
Manufacturing (1) Environment setup: è necessario per assicurare un’applicazione corretta delle politiche e favorire la standardizzazione – Creazione della directory root per il progetto e, all’interno di essa, le directory per lo sviluppo del codice, per la documentazione, per la gestione ecc. – Definizione dell’accesso al repository, chi può accedere a esso e con quali diritti nei vari sottoalberi – Definizione di un ambiente standard di sviluppo – Definizione di una politica di packaging globale per il prodotto
Manufacturing (2) Controllo dei build: – Impone l’uso di dipendenze centralizzate, evitando di includere più versioni dello stesso COTS all’interno di un unico build – Evita dipendenze circolari
Manufacturing (3) Packaging: una volta completato un build, CM integra i componenti in un pacchetto d’installazione comune – Definire ciò che deve essere compattato è compito degli sviluppatori; ogni componente deve avere il proprio file di descrizione del packaging, oltre a tutti gli script post installazione necessari – il pacchetto finale deve essere rilasciato dal Configuration Manager, che identifica e tiene traccia anche degli strumenti consegnati FINE
Titolo della slide Testo – Testo testo Esempio di testo con parole evidenziate (Rosso 0, Verde 153, Blu 204) Esempio di testo in box FINE