RESPONSABILE ANALISTA E PROGETTISTA DI SOFTWARE
Descrizione
La figura professionale sviluppa, crea, modifica o ottimizza software applicativi analizzando le esigenze degli utilizzatori; progetta, sviluppa e testa software di sistema, di rete, linguaggi e compilatori per diverse aree ed esigenze applicative. Le attività principali relative alla figura professionale sono: Analizzare e individuare le esigenze del cliente (ovvero studi di fattibilità, individuazione degli strumenti più idonei, analisi dei problemi aziendali, definizione dei requisiti hardware e software) al fine di progettare, sviluppare e testare software per diverse esigenze applicative, utilizzando tecnologie e metodologie tradizionali e/o innovative, con particolare attenzione all’integrazione dei componenti; svolgere formazione/informazione al personale o agli utenti finali, attività di testing, manutenzione ordinaria o straordinaria su sistemi o programmi; produrre la documentazione tecnica, le specifiche progettuali e i manuali d’uso delle applicazioni.
ADA associate alla qualificazione
Competenze
Mostra abilità e conoscenzeMostra attività
- Architettura complessiva e standard aziendali
- Costi benefici e rischi relativi alle architetture di sistema
- Framework architetturali, metodologie e strumenti per la progettazione di sistemi
- Nuove tecnologie emergenti (es. sistemi distribuiti,modelli di virtualizzazione, sistemi di mobilità data sets)
- Requisiti dell'architettura dei sistemi: prestazioni, manutenibilità, estendibilità, scalabilità, disponibilità sicurezza e accessibilità
- Applicare metodologie di progettazione delle architetture che assicurino l'interoperabilità, la scalabilità, l'usabilità e la sicurezza
- Identificare le evoluzioni e i cambiamenti dei sistemi informativi e dei relativi componenti (hardware, software, applicazioni, processi, piattaforme)
- Mantenere l'allineamento tra le esigenze aziendali e gli sviluppi tecnologici
- Utilizzare una metodologia sistematica per valutare, progettare e implementare cambiamenti tecnologici finalizzati a benefici misurabili
| ADA |
|---|
ADA.14.01.05 - Progettazione di Architetture RA 1: Definire l'architettura del sistema informativo e il suo aggiornamento nel tempo, a partire dall'analisi delle esigenze dell'organizzazione, dalla valutazione comparativa di costi/benefici e rischi delle varie soluzioni, garantendo l'ottimizzazione della performance e della sicurezza Analisi di esigenze, obiettivi, driver e organizzazione del business che impattano su componenti architetturali dell’IS Monitoraggio della disponibilità sul mercato di nuove soluzioni tecnologiche Analisi comparativa di costi, rischi e benefici delle soluzioni architetturali Definizione/aggiornamento dell'insieme dei componenti software e hardware che costituiscono l’IS (Information System) Progettazione/aggiornamento dell’integrazione e dell'interconnessione dell’IS (Information System) Progettazione della resilienza dell'IS per contrastare i points of failure e garantire continuità operativa Definizione e valutazione di principi e tecniche di gestione degli accessi e della disponibilità delle informazioni per gli utenti del sistema RA 2: Supportare i team applicativi realizzando modelli e pattern di ausilio alla progettazione e allo sviluppo di applicazioni e garantendo l'efficace comunicazione delle caratteristiche dell'architettura Sviluppo di modelli e pattern per supportare la progettazione di applicazioni consistenti Cura della comunicazione e della collaborazione tra i diversi team di sviluppo Archiviazione di documenti specifici per esplicitare i modelli e i pattern e assicurare omogeneità di sviluppo degli applicativi |
Mostra abilità e conoscenzeMostra attività
- Metodi di ricerca benchmark e metodi di misurazione (performance, carico, etc.)
- Metodologie di valutazione, disegno e implementazione
- Ottimizzazione delle risorse e riduzione degli sprechi (hardware, software, impieghi del personale, etc.)
- Processi interni (flussi di lavoro, gestione di processi, etc.)
- Sviluppi rilevanti dell'ICT e loro potenziale impatto sui processi
- Tecnologie web cloud e mobile
- Utilizzare una metodologia sistematica per valutare, progettare e implementare cambiamenti tecnologici finalizzati a benefici misurabili
| ADA |
|---|
ADA.14.01.21 - Miglioramento dei processi ICTRA1: Effettuare analisi organizzative dei processi, delle procedure e delle soluzioni ICT, anche attraverso benchmarking, individuando e proponendo possibili interventi di miglioramento Rilevazione e rappresentazione dei processi, delle procedure e delle soluzioni ICT Misurazione dell’efficacia dei processi ICT esistenti Analisi comparata con processi e soluzioni reperite da molteplici fonti Definizione di proposte di cambiamenti per il miglioramento di procedure, processi, soluzioni ICT RA2: Gestire la funzione di Process Improvement, assicurando, anche, un'efficace comunicazione con i vertici aziendali in merito a vantaggi e svantaggi collegati all'implementazione di possibili cambiamenti di processi, procedure e tecnologie Organizzazione della funzione di Process Improvement Supervisione coordinamento delle attività di Process Improvement Comunicazione ai vertici aziendali di vantaggi e rischi associati ad eventuali cambiamenti |
Mostra abilità e conoscenzeMostra attività
- Architettura tecnica di un'applicazione ICT esistente
- Best practices e standard per la gestione della sicurezza informatica
- Processi aziendali e loro dipendenza dalle applicazioni ICT
- Specifiche funzionali di un sistema informativo
- Strumenti e tecniche per la gestione del cambiamento
- Applicare i service level agreement (SLA) nella gestione del processo di modifica dei sistemi
- Applicare le procedure di sicurezza dei dati nel processo di modifica dei sistemi
- Applicare metodi di schedulazione delle modifiche hardware e software
- Utilizzare modalità di analisi dell'impatto dei cambiamenti funzionali/tecnici
| ADA |
|---|
ADA.14.01.15 - Supporto alle modifiche ed evoluzioni del sistema RA1: Gestire l’evoluzione di una soluzione di Information Technology, pianificando e implementando modifiche evolutive software e/o hardware per mantenere il sistema aggiornato, avendo cura di minimizzare interruzioni di servizio e difformità dai Service Level Agreement e garantendo la sicurezza delle informazioni Pianificazione e calendarizzazione dell’evoluzione di una soluzione di Information Technology (modifiche software e/o hardware, aggiornamenti, ecc.) Analisi dell’impatto sugli utenti dei cambiamenti funzionali/tecnici Implementazione di azione di mitigazione degli impatti dell’interventi evolutivo sulla continuità del servizio e/o sui Service Level Agreement Pianificazione di eventuali interventi formativi/informativi rivolti all’illustrazione di nuove procedure, funzionalità, specifiche, ecc. Cura della documentazione relativa agli interventi evolutivi messi in atto |
Mostra abilità e conoscenzeMostra attività
- Ciclo di vita di un processo di testing
- Differenti tipi di test (funzionale, integrazione, performance, usabilità, stress etc.)
- Standard nazionali e internazionali che definiscono i criteri di qualità per il testing
- Tecniche, infrastrutture e strumenti utilizzati nel processo di testing
- Tecnologie web cloud e mobile
- Applicare procedure di test di sistemi IT
- Applicare standard nazionali ed internazionali in materia di salute, sicurezza, usabilità, performance, affidabilità e compatibilità di sistemi IT
- Utilizzare metodi per la produzione della documentazione relativa ai processi di certificazione dei sistemi IT
| ADA |
|---|
ADA.14.01.11 - Testing di sistemi ITRA1: Predisporre procedure e standard interni per i processi di testing di varia tipologia, rispettando gli standard esterni di riferimento Definizione di protocolli e standard per le attività di testing RA2: Supervisionare processi di testing di sistemi ICT, garantendo il rispetto delle procedure e assicurando il corretto afflusso di informazioni relative al testing ad altri soggetti coinvolti nella produzione o nell’utilizzo (progettisti, manutentori, utenti, ecc.) Supervisione di processi di test di sistemi ICT Cura del flusso informativo tra il testing e altri soggetti coinvolti nel processo di produzione RA3: Effettuare test di sistemi ICT nel rispetto delle procedure e degli standard di riferimento, avendo precedentemente provveduto alla loro organizzazione, valutandone i risultati e predisponendo la documentazione prevista Organizzazione di piani di test di sistemi ICT Preparazione di test, di varia natura, di sistemi ICT (funzionali, di integrazione, di performance, di usabilità, di accessibilità, di sicurezza, di resilienza, ecc.) Conduzione di test di componenti e sistemi ICT Analisi dei risultati dei test Cura del reporting e della documentazione dei test e dei relativi risultati |
Mostra abilità e conoscenzeMostra attività
- Analisi delle applicazioni esistenti e le relative architetture
- DBMS e tecniche di data warehousing
- Linguaggi per la formalizzazione delle specifiche funzionali
- Metodi per lo sviluppo del software e la loro logica (es. Prototipazione, Agile, Reverse engineering ecc.)
- Metriche connesse allo sviluppo delle applicazioni
- Modellazione dei requisiti di applicazioni e tecniche per l'analisi dei fabbisogni
- Progettazione delle interfacce utente
- Tecnologie mobile
- Applicare metodi di validazione dei modelli mediante framework di riferimento (es. approccio iterativo)
- Applicare tecniche di sviluppo modelli per implementare applicazioni
- Applicare tecniche per assicurare l'interoperabilità, la fruibilità e la sicurezza delle applicazioni
- Utilizzare criteri per la selezione di soluzioni tecniche per la progettazione di applicazioni e l'ottimizzazione del rapporto costo e qualità
- Utilizzare linguaggi di modellazione per la progettazione di strutture di dati e strutture di sistema
| ADA |
|---|
ADA.14.01.06 - Progettazione di ApplicazioniRA 1: Validare i requisiti dell'applicazione da sviluppare dopo averli formalizzati, a partire dalla rilevazione e analisi delle esigenze del cliente e delle caratteristiche dell’ambiente di esercizio Rilevazione delle esigenze del cliente Formalizzazione dei requisiti funzionali e non funzionali Validazione dei requisiti formalizzati RA 2: Progettare con linguaggi di modellazione strutture dati e modelli di struttura di sistema adeguati ai risultati dell‘analisi dei requisiti, individuando le soluzioni tecniche più appropriate per la realizzazione di applicazioni, anche ottimizzando l‘equilibrio tra costi/risultati, e garantendone l’interoperabilità, la fruibilità e la sicurezza Analisi dei costi delle fasi del ciclo di vita del software Valutazione comparativa dei diversi metodi di sviluppo dell’applicazione in funzione dello scenario di riferimento Progettazione delle specifiche funzionali partendo dai requisiti definiti Applicazione di principi di security by design and privacy by design RA 3: Organizzare il piano di lavoro per la realizzazione dell’applicazione, monitorandone l’implementazione e verificandone la corrispondenza alla progettazione Predisposizione del piano complessivo di lavoro dell’applicazione Monitoraggio dell'implementazione del piano di lavoro dell’applicazione Verifica della conformità dell’applicazione alle specifiche di progettazione |
Mostra abilità e conoscenzeMostra attività
- Abitudini, tendenze ed esigenze aziendali e/o della ricerca
- Tecniche dei processi di innovazione
- Tecnologie emergenti e applicazioni più importanti del mercato
- Conoscere i processi e i flussi aziendali per proporre soluzioni innovative
- Utilizzare approcci mentali innovativi per immaginare nuovi prodotti o servizi di ICT
- Utilizzare modalità di lettura delle esigenze aziendali per applicare correttamente soluzioni ICT
| ADA |
|---|
ADA.14.01.03 - Innovazione nell’ambito ICTRA1: Fornire proposte di innovazione in ambito ICT concernenti nuovi concetti, idee, prodotti/servizi, processi, in coerenza con l'orizzonte di mutamento del contesto e degli indirizzi della ricerca di settore, anche adottando approcci creativi e fuori dagli schemi e predisponendo analisi e valutazioni dei possibili impatti sulle performance e l'organizzazione aziendale Analisi prospettica delle esigenze e dei trend in atto nel campo delle ICT Monitoraggio degli indirizzi e dei risultati della ricerca nel campo ICT Sviluppo e proposta di applicazione di soluzioni ICT innovative, anche al di fuori dagli schemi correnti Predisposizione di valutazioni di impatti delle soluzioni innovative individuate RA2: Contribuire all'implementazione delle soluzioni innovative individuate, a partire dalla realizzazione di proof of concept e dall'analisi/selezione delle risorse necessarie Realizzazione di proof of concept delle soluzioni innovative individuate Individuazione e stima delle risorse umane e materiali necessarie all'implementazione delle soluzioni innovative individuate Partecipazione alla definizione di soluzioni organizzative e gestionali coerenti con le soluzioni innovative individuate |
Mostra abilità e conoscenzeMostra attività
- Best practices delle tecniche di progettazione
- Componenti hardware, software, moduli esistenti e nuovi
- Impatto che l'integrazione di sistemi ha sul sistema/organizzazione esistente
- Tecniche di interfaccia tra moduli, sistemi e componenti
- Tecniche di test d'integrazione
- Tool di sviluppo (es. ambiente di sviluppo, gestione, accesso e revisione del codice sorgente)
- Applicare procedure definite (es. configuration management e package maintenance)
- Applicare tecniche di verifica delle performance del sistema a seguito dell'integrazione dei componenti
- Applicare tecniche per installare componenti hardware e software in un sistema esistente
- Utilizzare metodi per verificare la compatibilità tra i moduli esistenti e quelli nuovi
- Utilizzare modalità di documentazione del processo di integrazione dei componenti
| ADA |
|---|
ADA.14.01.10 - Integrazione dei componenti del sistemaRA1: Supervisionare e coordinare il processo di integrazione, definendo gli standard procedurali di riferimento e avendo precedentemente individuato le risorse da impiegare Definizione di standard procedurali per il ciclo di integrazione Coordinamento di programmi di integrazione Supervisione di programmi di integrazione Individuazione delle risorse da impiegare nel processo di integrazione RA2: Integrare e installare hardware, software e componenti di sottosistemi in un sistema nuovo o esistente, applicando procedure definite e assicurando l’integrità, l’interoperabilità e la sicurezza delle informazioni Verifica della compatibilità delle specifiche dei componenti hardware e software Messa in sicurezza dei dati durante l’integrazione Esecuzione dell'integrazione di moduli, sistemi e componenti Esecuzione dell'installazione di hardware/software Misurazione delle performance di sistema prima, durante e dopo l’integrazione e l’installazione Documentazione e registrazione delle attività, delle anomalie e delle soluzioni adottate, relativamente al processo di integrazione e di installazione |
Mostra abilità e conoscenzeMostra attività
- Approcci a programmi di ricerca applicata
- Fonti d'informazione rilevanti in ambito ICT
- Necessità del mercato ICT
- Regole di discussione nelle comunità web
- Tecnologie emergenti e applicazioni più importanti del mercato
| ADA |
|---|
ADA.14.01.02 - Monitoraggio dei Trend tecnologiciRA1: Identificare le tecnologie emergenti funzionali al business monitorando costantemente le fonti informative e analizzando gli impatti di una loro adozione Monitoraggio delle fonti informative (riviste, conferenze e eventi, newsletter, opinion leader, on-line forum, ecc.) Identificazione delle tecnologie emergenti e delle applicazioni più importanti del mercato Analisi dei vantaggi e dei miglioramenti del business derivanti dall’adozione delle tecnologie emergenti RA 2: Formulare decisioni strategiche sull'evoluzione delle soluzioni ICT da adottare e curarne l'implementazione, provvedendo anche alla selezione di eventuali fornitori esterni Formulazione di decisioni strategiche sull'evoluzione tecnologica delle soluzioni ICT Analisi del mercato e selezione dei fornitori di tecnologia più appropriati Definizione degli aspetti organizzativi e procedurali dell'azione di monitoraggio dei trend tecnologici |
Mostra abilità e conoscenzeMostra attività
- Documenti tecnici richiesti per la progettazione, lo sviluppo e il deploying dei prodotti, delle applicazioni e dei servizi
- Strumenti di controllo della versione per la produzione di documentazione
- Strumenti per la creazione di presentazioni multimediali
- Strumenti per la produzione, l'editing e la distribuzione di documenti professionali
| ADA |
|---|
ADA.14.01.13 - Produzione di documentazione tecnica e illustrativa di prodotti/serviziRA1: Definire requisiti, standard e flusso di lavoro relativamente alla documentazione/informazione tecnica sui prodotti e i servizi, in considerazione dei diversi ambienti target, verificandone l’effettivo e corretto impiego nell’attività aziendale Organizzazione e controllo del workflow per la gestione degli aspetti di documentazione e informazione su prodotti/servizi Monitoraggio/controllo dell’utilizzo effettivo degli standard comunicativi aziendali Predisposizione di template per pubblicazioni condivise RA2: Predisporre e aggiornare documenti e altre realizzazioni (es. mock up) di descrizione/illustrazione dei prodotti/servizi, in conformità ai requisiti, agli standard e alle procedure previste, curando sia la redazione dei testi che gli elementi a corredo (immagini, grafici, video) Cura dell’aggiornamento dei contenuti documentativi/informativi durante l’intero ciclo di vita dei prodotti/servizi Revisione ed editing dei mock-up Predisposizione di testi per documentazione tecnica e informazione su prodotti e servizi, per l’utilizzo in vari canali comunicativi Realizzazione di immagini, grafici e video a corredo di contenuti documentativi/illustrativi di prodotti e servizi |
Mostra abilità e conoscenzeMostra attività
- Componenti, strumenti e architetture hardware
- Le basi della Information Security
- Linguaggi di programmazione
- Modelli di consumo energetico di software e/o hardware
- Progettazione funzionale & tecnica
- Programmi/moduli software DBMS e relativi linguaggi
- Prototipazione in ambito ICT
- Stato dell'arte delle tecnologie
| ADA |
|---|
ADA.14.01.14 - Ingegnerizzazione di sistemi ICTRA1: Integrare dispositivi fisici, reti, componenti hardware e/o software in un efficiente sistema con alti livelli di coesione e qualità, in grado di soddisfare le esigenze aziendali (es. funzionalità, performance, costi, qualità, tempi, efficienza energetica, sicurezza dell‘informazione, protezione dei dati) costruendo modelli di struttura di sistema e conducendo simulazioni di comportamento Definizione di requisiti di sistema Assegnazione dei requisiti individuati ai vari elementi del sistema Implementazione integrata di architetture hardware, interfacce utente, componenti software di sistema e di rete, componenti software embedded, in coerenza con l'architettura di riferimento Gestione della complessità attraverso lo sviluppo di procedure standard e architetture a sostegno dello sviluppo del prodotto nel suo insieme Condivisione col cliente degli aspetti progettuali e realizzativi Realizzazione test di unità e di sistema per verificare la conformità ai requisiti |
Mostra abilità e conoscenzeMostra attività
- Componenti, strumenti e architetture hardware
- DBMS e tecniche di data warehousing
- Integrated Development Environment (IDE)
- Interface Definition Languages (IDL)
- Linguaggi di programmazione
- Linguaggi e tecniche di modellazione
- Modelli di consumo di energia del software e/o dell'hardware
- Problematiche della proprietà intellettuale (IPR)
- Progettazione funzionale & tecnica
- Programmi/moduli software appropriati
- Rapid Application Development (RAD)
- Sicurezza nello sviluppo di applicazioni
- Sistemi operativi e piattaforme software
- Stato dell'arte delle tecnologie
| ADA |
|---|
ADA.14.01.09 - Sviluppo applicazioniRA1: Sviluppare applicazioni in coerenza con la progettazione e a partire dall’individuazione delle migliori opzioni tecniche disponibili, anche riutilizzando e migliorando componenti già esistenti, e verificando e testando la rispondenza del prodotto alle specifiche tecniche Definizione delle caratteristiche degli ambienti applicativi di sviluppo Selezione e utilizzo di strumenti a supporto del processo di sviluppo del software Sviluppo delle componenti software in base alle specifiche funzionali e coerentemente con il disegno architetturale Sviluppo delle interfacce utente Adattamento di soluzioni esistenti (riutilizzo, miglioramento, riconfigurazione di componenti esistenti) Realizzazione di test di prodotto sulla scorta delle specifiche tecniche Produzione dei documenti relativi ai deliverable di ciascuna fase di sviluppo del prodotto Illustrazione al cliente degli aspetti progettuali/realizzativi del prodotto Modellazione dei dati |
