Panoramica sul processo di sviluppo del software

Panoramica sul processo di sviluppo del software

In alcuni articoli presentati in questo sito web ci si occupa di come ingegnerizzare un processo di sviluppo del software. Per fare ciò bisogna sia rendere ingegneristico il processo, ossia la sequenza delle fasi necessarie per portare a termine il prodotto, sia definire i criteri secondo cui quel prodotto deve essere realizzato.

Per quanto riguarda il processo di sviluppo vi sono dunque vari modelli che si possono seguire, di cui il più moderno è l’UP (Processo Unificato) che si modella bene in relazione al linguaggio di modellazione che è l’UML. Per quanto riguarda il software da realizzare, lo sviluppo non è d’impatto, ma è frutto di un lavoro più o meno approfondito che parte dall’analizzare il dominio e il contesto di utilizzo e passo dopo passo arriva ad analizzare le funzionalità che occorre fornire, tutte quelle che possono essere realizzate, come strutturare il sistema in un modello component-based e definendo un architettura di massima, cioè come i vari componenti devono interagire.

L’aspetto più complesso è quello di definire l’architettura, sia perché esistono vari modelli che dipendono dal tipo di sistema che vogliamo realizzare, infatti se ad esempio l’applicazione è orientata al web si preferisce un modello ad un altro, e poi perchè dopo aver scelto l’architettura è necessario scegliere delle tecnologie di implementazione. Dopo ciò va progettato ogni componente, quali sono i package, le classi, e va visto come il sistema deve funzionare, e quindi la sua dinamicità che deriva in parte dalla prima fase di analisi in cui vengono individuati i requisiti funzionali, che, di volta in volta, devono essere specificati nel dettaglio e faranno da tramite per scrivere il codice del sistema in maniera più agile. Una parte molto importante è tutta la fase di test, in cui il sistema che è stato realizzato, deve essere valutato per capire se è un sistema di qualità, se risponde a dei requisiti non funzionali,evidenziati nella fase di analisi, che specificano come il sistema deve realizzare quelle funzionalità, quindi se deve garantire affidabilità anziché scalabilità e cosi via.

Si veda la figura seguente per un’ampia e completa panoramica sul processo di sviluppo software.

Panoramica sul processo di sviluppo del software
Panoramica sul processo di sviluppo del software

 

Precedente Tecnologie di implementazione per i pattern architetturali Successivo Cos'è l'informatica? Di cosa si occupa?

Lascia un commento

*