back to top

Sviluppo del software: le fasi da seguire – Guida UML

Nel capitolo precedente abbiamo introdotto le caratteristiche principali del linguaggio UML. Possiamo dire che la vera utilità dell’UML può essere apprezzato solo ed esclusivamente quando si ha a che fare con la produzione di software di dimensioni considerevoli, con un numero di classi elevate e le relazioni tra le stesse abbastanza articolate. In progetti piccoli, come per esempio la produzione di programmi in ambito scolastico e in alcune situazioni anche in ambito universitario, non si comprende la reale utilità dell’UML e si finisce per etichettarlo come una perdita di tempo. Consiglio comunque a tutti i lettori, almeno che non si abbia a che fare con programmi estremamente banali, di utilizzare sempre la metodologia di modellazzione prima di avventurarsi nella scrittura di codice.

Abbiamo parlato di sviluppo di un software, ma cosa si intende di preciso con questa parola? Sostanzialmente facciamo riferimento a tutte le varie fasi che uno sviluppatre deve effettuare prima di rilasciare la versione software definitiva corredata dalla documentazione necessaria.

Sicuramente la prima fase che ogni sviluppatore sotware compie è l’analisi del progetto. Questa fase è una tra le più importanti in quanto analizzando il progetto che si vuole realizzare si riesce a fare una stima, anche abbastanza precisa, delle risorse di cui avremo bisogno, del tempo di realizzazione e soprattutto se è fattibile realizzare il progetto con il budget messo a disposizione dal cliente. Per fare un esempio di analisi, sopponiamo che si voglia realizzare un sistema informatico per una banca: dovremo prevedere un certo numero di server ad alte prestazioni, luoghi dove archiviare i dati dei clienti, sistemi di sicurezza per proteggere i dati da eventuali attacchi. Inoltre ci dovremo informare, nel caso sviluppassimo software in alcuni settori come per esempio il settore bancario o medico, delle varie normative di sicurezza che il software dovrà garantire. Sempre in questa fase, solitamente, si decidono tutte le funzionalità che il software dovrà possedere, definendo così le specifiche del progetto che andremo a realizzare. Come si può ben capire questa fase, oltre ad essere fondamentale, richiede un impegno di tempo netevole, ma necessario per il corretto funzionamento del prodotto finale.

Terminata la fase di analisi è giunto il momento di effettuare la modellazione del progetto con un linguaggio di modellazione come per esempio l’UML. E’ buona norma scomporre il progetto, in moduli che non sono altro che dei progetti più piccoli che svolgono solo alcune funzionalità. Terminata la modellazione dei vari moduli possiamo metterli insieme, con le relazioni necessarie, per ottenere la visione completa del progetto che andremo a realizzare. Come è stato detto nel capitolo di introduzione è bene analizzare con attenzione il modello costruito e apportare eventuali modifiche o migliorie prima della scrittura del codice sorgente.

Stilata una modellazione del nostro progetto perfettamente funzionante potremo convertirlà in inee di codice utilizzando il linguaggio di programmazione che si desidera. Anche nella scrittura del codice è buona norma utilizzare una metodologia modulare per poi mettere insieme i vari moduli.

Chiaramente il software così realizzato non può essere consegnato immediatamente. E’ assolutamente necessaria una fase di test per assicurarsi del corretto funzionamento e soprattutto per testare la robustezza del software in presenza di alcuni errori. Per esempio se abbiamo previsto un input da tastiera di un numero e l’utente, inavvertitamente, inserisce un carattere cosa succede? Se la situazione non è stata gestita dal programmatore, questo scenario porterà sicuramente alla terminazione, inaspettata e prematura, del programma.

Terminata la fase di test, è necessario stilare una documentazione delle funzionalità del programma. A questo punto, possiamo dire conclusa la fase di sviluppo del software e potremo consegnarlo al cliente corredato della documentazione scritta precedentemente.

Pubblicità
Articolo successivo