Tecnico per lo sviluppo web back-end (Server Side Web Developer)

SEP
14. Servizi digitali
REPERTORIO
Sardegna

Descrizione

Il Tecnico per lo sviluppo back-end (Server Side Web Developer) si occupa della creazione di applicazioni Web lato server, necessarie alla generazione dei contenuti per il Web ed alla gestione delle interazioni dell'utente (transazioni). Crea e contribuisce alla creazione di applicazioni web utilizzando linguaggi di sviluppo per il web ed in particolare ottimizza e verifica le funzionalità delle applicazioni nonché i contenuti Web generati dalle stesse testando le interfacce pubbliche e riservate prodotte e/o integrate assicurando il rispetto dei protocolli di sicurezza.

ADA associate alla qualificazione

ADA.14.01.06Progettazione di Applicazioni

Competenze

Progettazione del sistema di gestione della base di dati
Mostra abilità e conoscenzeMostra attività
Conoscenze
  • Modelli logici dei sistemi di gestione di basi di dati (gerarchico, reticolare, relazionale, ad oggetti) per una corretta definizione della struttura del data base
  • Fondamenti della sicurezza nella progettazione dei sistemi di gestione delle basi di dati, per assicurare il necessario livello di protezione dei dati ed il rispetto delle previsioni normative in materia di privacy e sicurezza informatica
  • Modello relazionale delle basi di dati per definire correttamente le relazioni e le proprietà nella progettazione del data base
  • Tecniche di organizzazione, indicizzazione e memorizzazione dei file sui vari supporti di memoria di massa, per assicurare efficienza e tempi di risposta adeguati nell'utilizzo della base di dati
  • Elementi di algebra e calcolo relazionale per progettare in modo efficiente l'architettura delle basi di dati relazionali
  • Tecniche di normalizzazione delle basi di dati relazionali per eliminare le ridondanze ed il rischio di inconsistenza dei dati
  • Linguaggi specialistici per la definizione, la manipolazione, il controllo e l'interrogazione delle basi di dati
  • Caratteristiche e funzionalità dei Sistemi per la Gestione delle Basi di Dati (DBMS - Data Base Management System) per scegliere quello più adatto ad assicurare sia una efficiente gestione della base di dati sia un corretto rapporto costo/prestazioni
Abilità
  • Progettare l'architettura del sistema di gestione della base di dati in modo da eliminare o ridurre i possibili rischi di attacco informatico
  • Applicare le tecniche di normalizzazione delle relazioni fino al raggiungimento del livello ottimale per l'efficienza e l'integrità del sistema
  • Definire le specifiche funzionali dei programmi e delle transazioni da sviluppare individuando le modalità operative ottimali
  • Assicurare che il sistema di gestione della base di dati rispetti, già in fase progettuale, le previsioni normative vigenti in materia di privacy e tutela dei dati personali
  • Definire l'architettura complessiva del sistema di gestione della base di dati con gli archivi, le procedure e le relazioni tra di essi
  • Definire la struttura degli archivi ottimale in relazione al modello di base di dati prescelto ed al DBMS adottato
  • Definire il sistema di controllo degli accessi al data base per impedire che determinate informazioni possano essere ottenute o modificate senza autorizzazione
ADA
ADA.14.01.06 - Progettazione di Applicazioni

RA 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
Progettazione del software
Mostra abilità e conoscenzeMostra attività
Conoscenze
  • Architettura e prestazioni del sistema operativo per ottimizzare la progettazione del software
  • Concetti relativi alla gestione di basi di dati per definire in maniera ottimale l'architettura e la struttura delle basi di dati e degli archivi su cui opererà il software applicativo
  • Concetti relativi alla programmazione strutturata per ottimizzare la struttura delle procedure in termini di efficienza ed efficacia dei programmi, riduzione dei tempi di sviluppo, riduzione delle possibilità di errore e facilità di manutenzione
  • I sistemi operativi e le piattaforme software e la sicurezza
  • L'Integrated Development Environment (IDE), il Rapid Application Development (RAD)
  • La progettazione funzionale e tecnica
  • Le problematiche legate alla proprietà Intellettuale (IPR)
  • Stato dell'arte dell'evoluzione tecnologica nel mondo delle reti informatiche, per proporre all'amministratore di rete o al responsabile del sistema informativo gli aggiornamenti hardware e/o software in grado di migliorare la funzionalità e l'efficienza
  • Tecniche di codifica e pseudocodifica delle specifiche del software per definire le specifiche di ogni procedura in maniera formalmente corretta, precisa, comprensibile ed univoca
  • Tecniche di programmazione strutturata per un'ottimizzazione della struttura delle procedure anche in relazione ai tempi necessari per lo sviluppo del codice
Abilità
  • Applicare le metodologie della programmazione strutturata nella progettazione del software
  • Codificare in maniera formalizzata e comprensibile le specifiche delle singole procedure software
  • Definire nella maniera ottimale l'architettura e la struttura delle basi di dati su cui dovrà operare il software
  • Gestire e garantire un alto livello di coesione e qualità
  • Operare le scelte più efficaci/efficienti in relazione all'architettura del sistema di elaborazione
  • Operare le scelte più efficaci/efficienti in relazione all'architettura e alle prestazioni del sistema operativo
  • Progettare ed eseguire i test nell'ambiente finale del cliente
  • Utilizzare modelli di dati
ADA
ADA.14.01.06 - Progettazione di Applicazioni

RA 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
Analisi dei requisiti
Mostra abilità e conoscenzeMostra attività
Conoscenze
  • Linguaggi e metodi di descrizione e catalogazione delle informazioni per descrivere in maniera formalizzata e sistematica la realtà ed i processi aziendali rilevanti per la progettazione del software
  • Tecniche di analisi delle organizzazioni e dei processi aziendali per individuare gli elementi (entità, relazioni, processi) rilevanti per una corretta rappresentazione formalizzata della realtà da informatizzare
  • Conoscenze specifiche relative ai processi da informatizzare, anche ai fini di comprendere il linguaggio degli addetti ai lavori e rappresentare correttamente la realtà da essi illustrata
  • Modelli di rappresentazione formalizzata della realtà o dei processi aziendali per rappresentare in maniera unitaria e coerente le entità, le relazioni ed i processi con cui dovrà interagire il software
Abilità
  • Eseguire uno studio di fattibilità contenente la stima dei benefici, dei costi, delle risorse richieste e dei tempi di consegna del software
  • Analizzare con il cliente la realtà ed i processi con cui andrà ad interagire il sistema informativo da progettare, le esigenze a cui intende rispondere e le performance attese
  • Utilizzare i linguaggi e i metodi di descrizione formalizzata della conoscenza concreta e di catalogazione delle informazioni
  • Esaminare con il cliente caratteristiche, obiettivi, requisiti e vincoli delle procedure da informatizzare con il software applicativo
  • Rappresentare in forma grafica o formalizzata il modello della realtà o dei processi aziendali elaborato
  • Comunicare efficacemente con il cliente e con gli addetti ai lavori per approfondire le informazioni tecniche ed organizzative relative ai processi ed alle applicazioni da informatizzare
ADA
ADA.14.01.06 - Progettazione di Applicazioni

RA 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
Testing del software
Mostra abilità e conoscenze
Conoscenze
  • Principali tecniche di debugging per individuare e correggere gli errori presenti nel codice
  • Principali tecniche di testing del software per verificare il corretto funzionamento delle procedure in tutte le possibili condizioni di utilizzo
  • Varie tipologie di errori per elaborare procedure di testing specifiche per la loro rilevazione
Abilità
  • Svolgere i test più appropriati ad individuare le varie tipologie di errori presenti nelle procedure
  • Pianificare le procedure di testing più adatte ad individuare gli errori, tanto progettuali che di sviluppo del software
  • Applicare le principali tecniche di testing verificando il corretto funzionamento delle procedure in tutte le condizioni di possibile utilizzo
  • Redigere i documenti dei test ed elaborare i report delle anomalie e degli errori individuati per documentare il processo di testing
Sviluppo e integrazione di applicazioni
Mostra abilità e conoscenze
Conoscenze
  • Ambienti Integrati di sviluppo (IDE)
  • Best practice delle tecniche di progettazione
  • Data Base Management System
  • Linguaggi di Programmazione, Linguaggi di Modellazione, Mark-up Languages
  • principali processi per lo sviluppo di applicazioni, metodologie di Progettazione e architetture Software
  • Processi e Tecniche di Test d'Integrazione, Strumenti di test (anche Automatizzati)
  • Programmazione Sicura, Principi e Tecniche Standard per la progettazione di interfacce, Principi di Editing Multimediale
  • Sistemi Operativi
  • Tecniche di interfaccia tra moduli, sistemi e componenti
Abilità
  • Contribuire all'Analisi del Rischio
  • Coordinare il Progetto Sviluppo Applicativo
  • Gestire gli strumenti di Versioning, il Configuration Manager, Eccezioni ed Errori
  • Misurare e garantire l'Integrità dei sistemi durante la fase di System Integration, Testing e Tuning
  • Misurare le performance di sistema prima, durante e dopo l'integrazione di sistema
  • Organizzare un ambiente di sviluppo ed il relativo Workflow
  • Progettare Interfaccia Utente
  • Rispondere con prodotti esistenti alle necessità dei clienti
  • Sviluppare secondo il paradigma Object‐Oriented, Applicazioni Web‐Based, e software orientato al Reporting
  • Verificare che capacità ed efficienza dei sistemi integrati rispondano alle specifiche