Tecnico per lo sviluppo applicazioni Internet of Things (IoT)

SEP
14. Servizi digitali
REPERTORIO
Sardegna

Descrizione

Il Tecnico per lo sviluppo di applicazioni per Internet of Things (IoT) si occupa della progettazione dei dispositivi dell'Internet of Things e dello sviluppo delle applicazioni. E' in grado di sviluppare le componenti software per l'acquisizione e l'integrazione di dati e la comunicazione tra sensori e dispositivi, attraverso l'utilizzo di diverse tecnologie. Cura l'acquisizione, l'integrazione e l'analisi di dati forniti dai device interconnessi e garantisce la sicurezza e l'integrità dei dati nella comunicazione tra i dispositivi e tra questi e le interfacce software.

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 e aggiornamento architettura hardware
Mostra abilità e conoscenzeMostra attività
Conoscenze
  • Caratteristiche e funzionamento di protocolli, connessioni e apparecchiature di rete, per definire le caratteristiche delle componenti del sistema informativo dedicate al networking
  • Principali caratteristiche delle apparecchiature hardware per l'elaborazione elettronica dei dati presenti sul mercato al fine di valutare le esigenze del sistema informativo in termini di capacità di elaborazione e potenza di calcolo
  • Principali caratteristiche degli apparati hardware per il networking al fine di valutare le esigenze del sistema informativo in relazione alla costituzione di reti di elaboratori locali o geografiche (LAN, WAN)
  • Evoluzione tecnologica delle componenti hardware dei sistemi informativi
  • Principali caratteristiche degli apparati di trasmissione dati presenti sul mercato per valutare le esigenze del sistema informativo in termini di comunicazioni e trasmissioni dati tra le sue componenti
  • Principali concetti relativi alle architetture distribuite dei sistemi informativi
  • Caratteristiche della struttura hardware degli elaboratori elettronici, delle apparecchiature IT e delle componenti hardware nelle architetture dei sistemi informativi
  • Tecniche di progettazione di architetture aperte di sistemi informativi per favorire successivi aggiornamenti ed evoluzioni delle componenti hardware e software del sistema
Abilità
  • Segnalare al cliente o al decisore aziendale le opportunità di aggiornamento della architettura del sistema informativo in relazione all'evoluzione dello stato dell'arte tecnologico in grado di migliorare il livello complessivo di affidabilità e prestazioni
  • Definire con il cliente i criteri di valutazione da utilizzare per la scelta tra le varie componenti hardware del sistema individuate come alternative tecnologicamente valide
  • Individuare le prevedibili evoluzioni tecnologiche delle componenti hardware del sistema informativo per orientare la scelta del cliente o decisore aziendale
  • Individuare tra le componenti hardware in grado di assicurare il livello di prestazioni atteso quelle più valide in termini di rapporto costi/benefici
  • Definire le specifiche delle apparecchiature hardware previste nel progetto del sistema informativo
  • Progettare un'architettura del sistema informativo quanto più possibile aperta per facilitare successive modifiche ed aggiornamenti del sistema in relazione a nuove esigenze o all'evoluzione dello stato dell'arte tecnologico
  • Elaborare un documento finale contenente la specifica dell'architettura delle componenti hardware del sistema informativo e delle loro interrelazioni
  • Valutare con il cliente o decisore aziendale il livello di prestazioni ed affidabilità richiesto alle componenti hardware del sistema informativo ed i costi relativi al suo ottenimento
  • Individuare le componenti hardware più appropriate per una razionale architettura del sistema informativo in grado di assicurare un adeguato livello di prestazioni ed affidabilità
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
Sviluppo e integrazione di applicazioni
Mostra abilità e conoscenzeMostra attività
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
ADA
ADA.14.01.09 - Sviluppo applicazioni

RA1: 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 di Tecnologie per l'Internet of Things
Mostra abilità e conoscenzeMostra attività
Conoscenze
  • Big data e db nosql
  • Dispositivi di elaborazione per il phisical computing
  • Librerie per lo sviluppo di applicazioni IOT
  • Piattaforme per l'IOT
  • Protocolli per IOT
  • Sensori ed attuatori
  • Sistemi operativi e piattaforme per lo sviluppo mobile
Abilità
  • Progettare e implementare db NoSQL
  • Programmare dispositivi per il phisical computing
  • Scegliere dispositivi per l'interazione con il mondo fisico
  • Scegliere i protocolli per IOT
  • Sviluppare soluzioni con le principali piattaforme IOT
  • Sviluppare soluzioni con le principali piattaforme mobile
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
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
ADA
ADA.14.01.09 - Sviluppo applicazioni

RA1: 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