4° Anno TEORIA 4. Fondamenti di ingegneria del software | Page 8

12. Fondamenti di ingegneria del software Vers.1.1 – Marzo 2009 4 La programmazione In questa fase si passa all’effettiva concretizzazione del cosa fare stabilito nella fase precedente. Avviene quindi la costruzione e l’implementazione di una serie di programmi per l’elaboratore che costituiscono l’intero sistema. Programmare significa non solo codificare e testare i singoli moduli (test unitario), ma anche creare gli archivi occorrenti nonché documentare opportunamente attraverso l’uso mirato di commenti il codice scritto, al fine di rendere più agevole il lavoro di manutenzione in caso di errori. Specifiche di progetto Programmazione Codifica e documentazione dei moduli 5 L’integrazione In fase di integrazione tutti i moduli codificati e testati nella fase precedente vengono uniti insieme (integrati) ed il prodotto software così ottenuto viene testato nella sua totalità. In questa fase viene eseguito il test di integrazione che ha lo scopo di valutare sia il funzionamento globale del sistema software sia la rispondenza delle interfacce di comunicazione tra i moduli componenti. Poiché in generale i prodotti software sono composti da numerosi moduli è rischioso verificare il programma mediante una analisi globale. E’ meglio analizzare l’integrazione software totale attraverso le integrazioni parziali modulo per modulo per poi verificare alla fine tutto l sistema (test incrementale). Il lavoro di integrazione è svolto assieme dal gruppo di professionisti che si è occupato della progettazione e da quello che si è dedicato alla programmazione. Codifica generale Codifica dei moduli Integrazione Test globale 6 Testing e controllo di qualità Per verificare la correttezza si sottopone il programma alla fase di testing mediante la quale il programma viene sottoposta ad una serie di test funzionali. Testare un programma significa percorrere tutti i cammini che sono stati previsti al fine di verificare la correttezza di percorso di ciascuno (copertura topologica). Vanno anche previsti tutti i casi possibili compresi i casi limite al fine di valutare il comportamento del sistema in tutte le possibili situazioni (copertura funzionale). Le attività previste per la fase di testing sono le seguenti: - preparazione dell’ambiente di prova (o di test) analogo a quello in cui il software dovrà poi funzionare utilizzando le apparecchiature a disposizione dell’utente; - esecuzione delle prove (o dei casi di test) al fine di verificare la rispondenza del software alle specifiche raccolte in fase di analisi; - certificazione delle prove (o dei test) vale a dire verificare che le prove svolte siano coerenti con gli standard di mercato e con le specifiche di progetto. Parliamo più dettagliatamente dell’esecuzione delle prove (o dei casi di test). In genere i test vengono dapprima svolti dallo steso staff che ha implementato il sistema e vengono svolti in maniera scrupolosa anche per non danneggiare il nome e l’immagine dell’azienda produttrice: in tal caso si parla di alfa test ossia -test. Autore: Rio Chierego (email: [email protected] - sito web: www.riochierego.it) Pag. 8