Processi di primaria importanza per lo Sviluppo di Software Personalizzato

Analisi e studio di fattibilità

Un denominatore comune per le Società che producono software di qualità è la definizione di processi e l’uso di procedure che orientano sin dall’inizio le attività progettuali e realizzative.

Il primo prerequisito è la definizione precisa del problema che s’intende risolvere che descrive il problema senza ipotizzare alcuna soluzione.
La definizione del problema è fatta dal punto di vista dell’utente e nel suo linguaggio, chiarendo concetti e definizioni, senza l’uso eccessivo di termini “tecnici”. Blue Hat garantisce la definizione del problema, chiara per chi sviluppa ma soprattutto chiara per il cliente.

La stesura dei requisiti prevede che sia l’utente a decidere le funzioni del software: senza una buona analisi dei requisiti si possono mancare obiettivi specifici del problema. Per garantire il loro raggiungimento viene condotta una prima analisi di massima per effettuare uno studio di fattibilità in modo da:

- definire le alternative possibili
- motivare le scelte
- stimare i tempi e i costi

 

Progettazione

La qualità dell’architettura determina l’integrità concettuale del sistema e quindi in definitiva la sua qualità, semplificando la costruzione.
Vengono definiti i moduli principali: ogni funzione identificata nei requisiti deve essere realizzata da almeno un modulo e se coinvolge più moduli questi devono cooperare senza entrare in conflitto.

Il processo di sviluppo del software è un processo di apprendimento sia per il programmatore che per l’utente: l’architettura deve essere flessibile da accogliere i cambiamenti senza troppe difficoltà. L’interfaccia utente viene studiata per poter semplificare l'attività dell'operatore.

È importante che l'interfaccia sia progettata e realizzata tenendo conto di precise regole di usability, creando un efficace strumento che permetta all'utente di utilizzare il software in modo intuitivo, ottimizzando i tempi di esecuzione.

Il progetto viene quindi strutturato sulla base della definizione del problema, scomponendolo in unità sempre più piccole (top-down), componendolo con tecniche bottom-up riutilizzando moduli ben identificati e chiari, oppure identificando gli oggetti astratti e aggregandoli in classi nel caso di progetti object-oriented.
Durante tale fase vengono quindi effettuate molte scelte. Alcune di esse influenzeranno direttamente la fase di sviluppo e verranno comunque fatte in base alle esigenze del cliente.

www.bluehat.it