Tecnico della progettazione, sviluppo, testing e manutenzione del software (Sviluppatore software-Developer)
ADA associate alla qualificazione
ADA.14.01.06Progettazione di Applicazioni
ADA.14.01.09Sviluppo applicazioni
ADA.14.01.11Testing di sistemi IT
Competenze
Progettazione del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Normativa, linee guida e requisiti di accessibilità
- Elementi fondamentali dell'interfaccia utente Web, desktop e mobile
- Progettazione e sviluppo di applicazioni web, desktop e mobile
- Strumenti di rappresentazione delle specifiche tecniche
- Strumenti di raccolta ed analisi dei requisiti
Abilità
- Raccogliere ed analizzare i requisiti dell'utente
- Progettare interfacce utente accessibili ed usabili
- Scrivere le specifiche tecniche
| 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 |
| 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 |
Testing del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Elementi di base di utilizzo delle principali tecnologie assistive
- Strumenti semi-automatici di valutazione di interfacce utente
- Tecniche di redazione documentazione tecnica (manuali operativi, schede, ecc.)
- Varie tipologie di errori per elaborare procedure di testing specifiche per la loro rilevazione
- Principali tecniche di testing per verificare il corretto funzionamento delle procedure in tutte le possibili condizioni di utilizzo
- Principali tecniche di debugging per individuare e correggere gli errori presenti nel codice
Abilità
- Applicare le principali tecniche di testing e debugging nel rispetto delle procedure
- Pianificare le procedure di testing più adatte ad individuare gli errori, tanto progettuali che di sviluppo del software
- Svolgere i test più appropriati ad individuare le varie tipologie di errori presenti nelle procedure
- Redigere una completa documentazione dei test effettuati e del loro esito
- Definizione delle fasi di implementazione e deployment della soluzione
- Effettuare le verifiche base di accessibilità
| 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 |
| 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 |
| 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 |
Scrittura dei programmi
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Tecniche di strutturazione grafica nella scrittura delle procedure per rendere più comprensibile la struttura del codice sorgente e più agevole l'effettuazione di modifiche o la ricerca e la correzione degli errori
- Tecniche di programmazione strutturata per ottimizzare la struttura dei programmi, ridurre i tempi di sviluppo e le possibilità di errore
- Tecniche di documentazione delle procedure, per inserire nel codice i commenti e la documentazione utili per successive modifiche e correzioni
- Principali compilatori e/o tools di programmazione per ridurre i tempi nello sviluppo delle procedure
- Lingua inglese tecnica per comprendere l'eventuale documentazione
Abilità
- Applicare le più appropriate metodologie di scrittura strutturata del codice sorgente per rendere comprensibile rapidamente la struttura del programma
- Documentare in maniera completa e comprensibile le procedure, inserendo note e commenti all'interno del codice, utilizzando tutte le tecniche previste nello specifico linguaggio di programmazione
- Applicare in maniera corretta ed appropriata le tecniche di programmazione strutturata durante la scrittura delle procedure software
- Scegliere e utilizzare in maniera evoluta i compilatori ed i tools di programmazione relativi al linguaggio o all'ambiente di programmazione prescelto
- Sviluppare le procedure nel linguaggio di programmazione prescelto nella maniera più efficace ed efficiente, utilizzando tutte le potenzialità offerte dal linguaggio in termini di sintassi e comandi
- Leggere e comprendere la documentazione e la manualistica di supporto alla programmazione
| 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 |
Aggiornamento e manutenzione del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Principali necessità di aggiornamento del software, in relazione a mutate condizioni o a nuove necessità espresse dal cliente
- Principali esigenze di manutenzione del software, necessarie per assicurarne l'affidabilità ed il corretto funzionamento nel tempo
- Tecniche di redazione documentale
- Sistemi operativi e piattaforme software
- Stato dell'arte nell'evoluzione tecnologica per suggerire al progettista, all'analista programmatore o al cliente finale eventuali aggiornamenti in grado di migliorare l'efficacia o l'efficienza del software
Abilità
- Aggiornare il software e le procedure in relazione a mutate condizioni o nuove necessità e richieste segnalate dal cliente
- Illustrare al cliente finale costi e benefici di eventuali aggiornamenti
- Intervenire rapidamente in caso di errore nel software per individuare le cause ed operare le opportune correzioni
- Documentare tutte le attività svolte di aggiornamento e manutenzione
- Svolgere le operazioni di manutenzione del software necessarie per assicurarne la corretta funzionalità nel tempo
| 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 |
Sviluppo del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Lingua inglese tecnica per comprendere l'eventuale documentazione
- Tecniche di redazione documentale
- Principi e tecniche di programmazione strutturata per ottimizzare la struttura dei programmi
- Ambienti di sviluppo e strumenti (CASE - IDE)
- Metodi di programmazione software
- Compilatori e/o tools di programmazione per ridurre i tempi nello sviluppo delle procedure
- Linguaggi di programmazione
- Linee guida, requisiti tecnici e standard di accessibilità, riconosciuti a livello nazionale ed internazionale
- Elementi base di tecnologie assistive hardware e software e modalità di interazione da parte di persone con disabilità
Abilità
- Utilizzare strumenti di costruzione di interfacce utente Web, desktop e mobile
- Applicare procedure di rilascio (per specifiche e software)
- Utilizzare linguaggi e ambienti di sviluppo (Web, desktop e mobile)
- Utilizzare metodologie di programmazione software
- Redigere i documenti tecnici richiesti per lo sviluppo e il deploying dei prodotti e dei servizi
- Applicare linee guida di accessibilità
- Leggere e comprendere la documentazione e la manualistica di supporto alla programmazione
- Utilizzare il linguaggio SQL e altri strumenti di interazione con un database
| 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 |
| 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 |
