Tecnico per lo sviluppo di applicazioni mobile (Mobile Application Developer)
Descrizione
Il Tecnico per lo sviluppo di applicazioni mobile (Mobile Application Developer) realizza e codifica soluzioni applicative per periferiche mobile e scrive le specifiche di applicazioni in conformità ai requisiti del cliente. Assicura la realizzazione e l'implementazione di applicazioni per periferiche mobile che possono anche interagire con la Rete Internet ed il Web. Contribuisce alla pianificazione ed alla definizione dei dettagli applicativi. Realizza simulazioni di verifica del funzionamento dell'applicazione per assicurare il massimo della funzionalità e dell'efficienza.
ADA associate alla qualificazione
ADA.14.01.09Sviluppo applicazioni
Competenze
Progettazione del software
Mostra abilità e conoscenze
Mostra abilità e conoscenze
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
Analisi dei requisiti
Mostra abilità e conoscenze
Mostra abilità e conoscenze
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
Testing del software
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
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
| 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 e integrazione di applicazioni
Mostra abilità e conoscenzeMostra attività
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 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 |
Diffusione e distribuzione applicazioni web e mobile
Mostra abilità e conoscenzeMostra attività
Mostra abilità e conoscenzeMostra attività
Conoscenze
- Caratteristiche dei principali tools presenti sul mercato per semplificare le operazioni, ridurre i tempi e le possibilità di errore nell'installazione del software
- Caratteristiche e potenzialità dei maggiori canali di distribuzione delle applicazioni
- Strategie di determinazione del prezzo dell'applicazione web-mobile
- Tecniche di installazione dei programmi in ambienti operativi complessi, per installare correttamente e consegnare le applicazioni web-mobile presso il cliente o utilizzatore finale
- Tecniche di presentazione delle applicazioni web- mobile a fini commerciali
- Tecniche di redazione dei manuali d'uso per l'utilizzo del programma
Abilità
- Diffondere attraverso i maggiori canali di distribuzione le applicazioni mobili
- Elaborare una completa documentazione delle procedure di installazione contenente i parametri di configurazione, le anomalie riscontrate, le modifiche apportate ed ogni informazione ritenuta utile per le successive modifiche o correzioni
- Illustrare al cliente/utilizzatore finale le principali funzionalità e l'utilizzo del software installato
- Installare il software presso il cliente/utilizzatore finale, curando l'interfaccia con il preesistente ambiente operativo, individuando e risolvendo le eventuali problematiche connesse all'installazione e verificando il funzionamento di tutte le procedure
- Redigere le istruzioni e/o i manuali d'uso per l'utilizzo del programma da parte degli utenti finali
| 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 |
