Come nasce un’applicazione software in informatica

Come nasce un’applicazione software in informatica

La nascita di una applicazione, di qualunque tipo essa si tratti (intrattenimento, gioco, suite per ufficio ecc) è un “evento” complesso costituito da un numero elevato di fasi fortemente legate tra loro. Col termine “nascita” vogliamo indicare tutto l’orizzonte temporale che coincide con l’idea o la proposta di creazione di un prodotto SW e termina con la sua consegna agli utilizzatori finali.

La realizzazione di un software passa dunque per una serie di fasi di lavoro più semplici; dopo aver identificato la natura del problema da trattare e raccolti i dati di interesse, si procede alla realizzazione di un algoritmo (una serie di passi che se seguiti conducono alla soluzione del problema), ed alla sua codifica mediante un linguaggio di programmazione, in modo che l’algoritmo stesso venga tradotto in un programma eseguibile da un elaboratore.

Il primo passo da compiere è comprendere attentamente le funzionalità richieste dal cliente che il prodotto dovrà soddisfare; solo successivamente è possibile raccogliere i dati di interesse. Molti di questi dati saranno funzionali (per esempio, nel caso di un prodotto software per la fatturazione avremmo partita Iva, importi, generalità clienti/fornitori), altri saranno non funzionali e spesso identificati come requisiti per la qualità (correttezza, semplicità, facilità di utilizzo ecc).

Come nasce un'applicazione software in informatica

Dopo aver identificato le funzionalità e raccolto i dati di interesse, uno o più esperti guidati da un capo progetto provvederanno alla realizzazione pratica del prodotto, mediante differenti fasi di lavoro.

La raccolta dei requisiti e dei dati

La raccolta, dei dati ci permette di avere una più chiara visione degli elementi che devono essere trattati e dell’insieme delle funzionalità che il nostro software dovrà soddisfare. La progettazione è quindi il passo successivo alla raccolta dei dati e dei requisiti. Tale fase può essere realizzata in forma cartacea, elettronica o mediante una fusione di entrambi i metodi, secondo quanto è usanza o comodità di coloro che se ne occupano.

La realizzazione

La realizzazione è il passo successivo alla progettazione. Una volta completata la ricerca del materiale e l’analisi dei requisiti, si procede ad una sua implementazione fisica mediante linguaggi differenti a seconda dell’ambito nel quale il prodotto andrà collocato: nel caso di applicazioni WEB si penserà a realizzazioni in HTML con integrazione di funzionalità Java, Perl, CGI ecc, mentre per applicazioni workstation-based, non connesse ad Internet, linguaggi di programmazione come C++, Visual Basic etc. possono essere adatti per lo scopo. Una scelta tra le diverse alternative è dettata principalmente da fattori come:

  • Competenze richieste (conoscenza dei linguaggi)
  • Precisione ed accuratezza desiderati per il software
  • Ragioni di costo
  • Ragioni di tempo

L’analisi della qualità

Una volta terminata la realizzazione del software, occorre verificare non solo l’aderenza di questo alle specifiche progettuali (per valutare se esistano mancanze o imprecisioni), ma occorre analizzare aspetti come la qualità; essa verrà definita nel seguito, ma occorre sottolineare come l’efficienza sia un’importante aspetto facente parte della qualità che per focalizzare meglio possiamo illustrare separatamente.

Verifica dell’efficienza

L’efficienza può essere facilmente valutata analizzando le caratteristiche del prodotto e verificando l’esattezza delle sue risposte agli stimoli esterni (valori inseriti, calcoli richiesti ecc), eventuali anomalie possono essere corrette dagli stessi sviluppatori una volta individuatene le cause. Include solitamente importanti controlli sulle prestazioni, robustezza e modularità del prodotto.

Verifica della qualità

L’analisi del secondo aspetto, la qualità, è un concetto senza dubbio più complesso del precedente, suscettibile a differenti interpretazioni da parte di utenti diversi anche dinanzi a medesimi aspetti. Sorge il problema di individuare un concetto vero di qualità (qualità rispetto a cosa?), non personale, cercando di capire come ottenere un prodotto valido, che soddisfi l’utenza. A tal proposito, organizzazioni come l’ISO hanno realizzato una complessa serie di normative il cui compito dovrebbe essere quello di guidare lo sviluppatore nella comprensione del concetto di qualità, unificando la vastità di interpretazioni presenti e stabilendo un metodo per ottenerla. Perché questo? Cosa comporta una scarsa qualità? Senza dubbio un precoce invecchiamento del software ed alti costi di debug; gli addetti sono impegnati nel revisionare software obsoleti anziché produrne di nuovi. Un valido esempio arriva dal millennium bug: prevedibile con largo anticipo ma mai realmente affrontato. Ai fini della qualità, è più importante eliminare il difetto che non determinare l’errore che lo ha generato.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *