Sono un ibero professionista.

Un programmatore, un developer, un coder in ambito PLC/DCS/HMI e PC, con  esperienza trentennale nel mondo dell'automazione degli impianti e delle macchine.

Detengo un ottimo background, che comprende elettrotecnica ed elettronica.

Ho importanti ed approfondite esperienze in:

- Prodotti Rockwell.

- Protocolli di comunicazione.

- Sistemi Operativi, Reti, Microsoft Office e Autocad.

- HIMA, Siemens, GE, Wonderware Intouch,

Ho sviluppato importanti progetti con PLC Rockwell e DCS DeltaV (Emerson), Ovation (Emerson), Freelance (ABB).

 

 

Le fasi attraverso cui mi muovo, sono le seguenti:

 

    1. Definizione del problema

    2. Sviluppo dei prerequisiti

    3. Pianificazione della realizzazione

    4. Architettura del software, o disegno ad alto livello

    5. Disegno di dettaglio

    6. Codifica e debugging

    7. Manutenzione correttiva

 

 

 

Fase 1: per definizione del problema intendo, sia tutto ciò che concerne lo sviluppo di un nuovo software, sia tutto ciò che riguarda la correzione di un software già esistente.

 

Fase 2: i prerequisiti descrivono in dettaglio, ciò che dovrebbe fare un sistema software, e rappresentano il primo passo verso una soluzione. I prerequisiti sono come l’acqua, è più semplice costruirci su, quando sono congelati.

 

Fase 3: sono dell’idea che un progetto ben pianificato migliori la propria capacità di modificare in seguito le proprie opinioni sui dettagli. Maggiore è l’esperienza che si ha con il tipo di software che si sta realizzando, maggiore è il numero di dettagli che si può dare per scontato. Il fine è di essere certo di pianificare a sufficienza, in modo che una mancata pianificazione, non crei in seguito maggiori problemi.

 

Fase 4: sarebbe più opportuno utilizzare il verbo “edificare il software”, piuttosto che “scrivere il software”. In effetti molti termini comuni del software, derivano dalla metafora dell’edificio.

 

Fase 5: curo molto il design, in quanto ritengo sia necessario in diversi livelli differenti di dettaglio all’interno di un sistema software. Applico alcune tecniche di design in tutti i livelli, ed altre solo in uno o due livelli.

 

Livello uno: il sistema software. Il primo livello è l’intero sistema.

 

Livello due: suddivisione di sottosistemi o package. A questo livello, il prodotto principale del design è l’identificazione di tutti i principali sottosistemi.

 

Livello tre: suddivisione in classi. Il design a questo livello comprende l’identificazione di tutte le classi del sistema.

 

Livello quattro: suddivisione in routine. Il design a questo livello consiste nel suddividere ciascuna classe in routine.

 

Livello cinque: design intrinseco delle routine. Il design a livello di routine, consiste nel definire le funzionalità dettagliate delle singole routine.

 

Fase 6: agli albori del calcolo, i programmatori concepivano la programmazione in termini di istruzione.

 

Nel corso degli anni settanta/ottanta, i programmatori, iniziarono a concepire i programmi in termini di routine.

 

Nel ventunesimo secolo, i programmatori, concepiscono la programmazione, in termini di classi.

 

Ritengo che un buon software, debba avere le seguenti caratteristiche: correttezza, usabilità, efficienza, affidabilità, integrità, adattabilità, accuratezza, robustezza.

 

Il debugging, andrebbe visto, come il processo di identificazione delle cause di un errore e della relativa correzione, quindi la naturale maniera per diagnosticare i difetti. Non è un modo per migliorare la qualità del software.

 

È mia abitudine implementare la qualità del software sin dall’inizio.

 

Fase 7: durante questa fase, che di norma avviene dopo un periodo di funzionamento di un sistema, mi rendo personalmente disponibile, a correggere i problemi emersi.

 

 

art. director: Catia Vela