Overview
L’analista programmatore sviluppa l’analisi di un problema in termini informatici. A tal fine raccoglie richieste, necessità e indicazioni del Cliente, analizza i processi aziendali nei quali si inserisce l’intervento e ne valuta la fattibilità economica e tecnologica. Collabora alla definizione di architetture e modelli e al disegno di processi di controllo dell’infrastruttura informatica garantendo coerenza e completezza del sistema rispetto ai vincoli tecnologici e progettuali. Definisce il diagramma di flusso degli applicativi del sistema informativo e ne realizza le varie fasi trascrivendole in codice di programmazione. Analizza e interpreta i dati ottenuti dal monitoraggio/test apportando eventuali modifiche o migliorie.
Come prima cosa, l’analista programmatore incontra i clienti che hanno la necessità di sviluppare un nuovo software o che desiderano modificare un programma esistente (reengineering).Raccoglie informazioni dettagliate riguardanti la tipologia e le funzionalità del software da sviluppare, gli obiettivi e le attese del cliente, il contesto d’uso e in generale tutto ciò che può essere utile per definire quali caratteristiche dovrà avere il software(requirement elicitation). Se infatti le necessità del cliente sono comprese male o in modo insufficiente, il progetto software è destinato al fallimento.
Le principali mansioni di un analista programmatore sono:
- Raccogliere e interpretare le esigenze dei clienti e degli utenti;
- Analizzare i dati raccolti e tradurli in un progetto software;
- Realizzare modelli UML e diagrammi;
- Redigere un documento con le caratteristiche e le specifiche tecniche del software;
- Coordinare il gruppo di programmatori e Software Developers;
- Partecipare alla stesura del codice sorgente;
- Verificare che il software sviluppato risponda alle esigenze di business predefinite;
- Definire le procedure per la gestione, l’aggiornamento e la manutenzione del software;
- Fornire consulenza per migliorare l’efficacia dell’applicativo e per il reengineering di software esistenti.