4° Anno TEORIA 4. Fondamenti di ingegneria del software

12. Fondamenti di ingegneria del software Vers.1.1 – Marzo 2009 12. FONDAMENTI DI INGEGNERIA DEL SOFTWARE PREMESSA La produzione del software non può essere affidata all’improvvisazione: sapere scrivere algoritmi e programmi non garantisce di per se l’avere un software di buona qualità. La produzione artigianale del software non sempre è garanzia di efficienza e di qualità: per ottenerle è necessario utilizzare metodi di produzione che possono essere applicati solo da esperti del settore. A partire dagli ani 60 si è avuta una rivoluzione nell’ambito della produzione del software attraverso l’introduzione di nuove tecniche e metodologie in grado di affrontare e risolvere i problemi aventi le seguenti finalità: - la formalizzazione dei metodi di sviluppo e di documentazione del software; - la realizzazione di prodotti software di buona qualità ed a costi contenuti; - la riduzione della complessità della tecnologia; - la facilità di utilizzo dei programmi da parte dell’utente. In Germania nel 1968 nel corso di una conferenza della NATO si pose l’attenzione sull’esigenza di disporre di metodi mutuati dall’industria per la produzione del software. Nacque così l’ingegneria del software (ossia Software Engineering) che applicava al software ed alla sua produzione i principi dell’ingegneria che permettevano la pianificazione accurata ed il controllo rigoroso di tutto il processo di sviluppo. PROGETTAZIONE DI UN SISTEMA Per sviluppare un sistema ed ottenere un prodotto finito occorre un progetto. Progettare un sistema significa: - studiare il progetto ossia comprendere il suo ambito di realizzazione, gli obiettivi che devono essere raggiunti, la sua fattibilità; - analizzare i requisiti del progetto per comprenderne le caratteristiche e redigere un piano di lavoro; - specificare il progetto ossia definire l’architettura del prodotto da realizzare utilizzando modelli; - realizzare il progetto ossia “costruire” il prodotto. CICLO DI VITA DEL SOFTWARE In informatica per quanto detto finora non si opera improvvisando ma seguendo schemi precisi in grado di assicurare una produzione di un buon software. Per fare ciò occorre capire che cosa si intende realizzare, se è possibile realizzarlo, come realizzarlo e con quali strumenti. Solo alora si può passare alla realizzaione. Riassumendo quindi qualsiasi attività di sviluppo software prevede: 1) un’attività di studio del progetto; 2) un’attività di progetto vero e proprio; 3) un’attività di realizzazione del progetto. Autore: Rio Chierego (email: riochierego@libero.it - sito web: www.riochierego.it) Pag. 1