Responsabile della progettazione e dello sviluppo di programmi informatici

SEP
14. Servizi digitali
REPERTORIO
Calabria

Competenze

Aggiornamento e manutenzione del software
Mostra abilità e conoscenze
Conoscenze
  • Principali esigenze di manutenzione del programma, necessarie per assicurarne l'affidabilità ed il corretto funzionamento nel tempo
  • Stato dell'arte nell'evoluzione tecnologica per suggerire al cliente/utilizzatore finale eventuali aggiornamenti hardware/software in grado di migliorare l'efficacia e/o efficienza dei programmi
  • Principali necessità di aggiornamento del software, in relazione a mutate condizioni o a nuove necessità espresse dal cliente o dall'utilizzatore finale
Abilità
  • Aggiornare tempestivamente ed in maniera corretta le procedure in relazione a mutate condizioni o nuove necessità
  • Intervenire rapidamente in caso di errore per individuare le cause ed operare le opportune correzioni o suggerire gli opportuni correttivi al cliente/utilizzatore finale
  • Illustrare al cliente/utilizzatore finale costi e benefici di eventuali aggiornamenti dei programmi installati
  • Svolgere puntualmente e tempestivamente le operazioni di manutenzione del software necessarie per assicurarne la corretta funzionalità nel tempo
Consegna ed installazione del software
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di redazione della manualistica informatica per la redazione del manuale di utilizzo del programma
  • Tools di installazione del software per semplificare le operazioni e ridurre i tempi e le possibilità di errore nell'installazione del software
  • Metodologie e tecniche di installazione del software in ambienti operativi complessi, per installare e consegnare i programmi presso il cliente o l'utilizzatore finale
Abilità
  • 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 o all'utilizzatore finale le principali funzionalità e l'utilizzo del software installato
  • Installare il software presso il cliente o l'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 i manuali d'uso per l'utilizzo del programma da parte degli utenti finali
  • Redigere un manuale per l'installazione del software in caso di procedure molto complesse
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 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à
  • Applicare le principali tecniche di testing verificando il corretto funzionamento delle procedure in tutte le condizioni di possibile utilizzo
  • Pianificare le procedure di testing più adatte ad individuare gli errori, tanto progettuali che di sviluppo del software
  • Redigere i documenti dei test ed elaborare i report delle anomalie e degli errori individuati per documentare il processo di testing
  • Svolgere i test più appropriati ad individuare le varie tipologie di errori presenti nelle procedure
Sviluppo del software
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di documentazione delle procedure per inserire nel codice commenti e documentazione utili a ridurre i tempi in caso di successive modifiche del codice o di correzione degli errori
  • Sintassi e struttura di uno o più linguaggi di programmazione, per scrivere il codice dei programmi in maniera rapida e corretta riducendo gli errori, i tempi ed i costi di sviluppo
  • Lingua inglese tecnica per comprendere l'eventuale documentazione redatta in lingua inglese
  • Compilatori e/o tools di programmazione per ridurre i tempi nello sviluppo delle procedure
  • Tecniche di programmazione strutturata per ottimizzare la struttura dei programmi, ridurre i tempi di sviluppo e le possibilità di errore
  • 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
  • Uno o più ambienti di programmazione, per utilizzare al meglio tutte le possibilità offerte dagli stessi in termini di semplificazione delle procedure e di riduzione dei tempi di sviluppo
Abilità
  • Applicare in maniera corretta ed appropriata le tecniche di programmazione strutturata durante la scrittura delle procedure software
  • 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 e stendendo la necessaria documentazione relativa allo sviluppo del programma, utilizzando tutte le tecniche previste nello specifico linguaggio di programmazione
  • 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
  • Sapere utilizzare in maniera rapida ed efficiente i compilatori e/o i tools di programmazione relativi al linguaggio/ambiente di programmazione prescelto
  • Leggere e comprendere la documentazione e la manualistica di supporto alla programmazione redatta in lingua inglese
Progettazione del software
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di programmazione strutturata, per una ottimizzazione della struttura delle procedure anche in relazione ai tempi necessari per lo sviluppo del codice
  • Concetti relativi alla gestione di basi di dati per definire in maniera ottimale l'architettura e la struttura delle basi di dati su cui opererà il software
  • Architettura del sistema operativo per ottimizzare la progettazione del software
  • Architettura dei sistemi di elaborazione elettronica per ottimizzare la progettazione del software
  • Tecniche di codifica e pseudocodifica delle specifiche del software per definire le specifiche di ogni procedura in maniera formalmente corretta, precisa, comprensibile ed univoca
  • Concetti relativi alla programmazione strutturata per ottimizzare la struttura delle procedure
Abilità
  • Applicare le metodologie della programmazione strutturata nella progettazione del software
  • Definire nella maniera ottimale l'architettura e la struttura delle basi di dati su cui dovrà operare il software
  • Codificare in maniera formalizzata e comprensibile le specifiche delle singole procedure software
  • Operare le scelte di progetto più efficaci ed efficienti in relazione all'architettura del sistema di elaborazione
  • Operare le scelte di progetto più efficaci ed efficienti in relazione all'architettura del sistema operativo
Analisi dei requisiti
Mostra abilità e conoscenze
Conoscenze
  • 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
  • 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
  • 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
  • Tecniche di analisi della realtà e dei processi aziendali, per definire analiticamente i requisiti e gli obiettivi del pacchetto software da realizzare e verificare con il cliente o commitente o utilizzatore finale che essi siano corrispondenti alle attes
Abilità
  • Utilizzare i linguaggi e i metodi di descrizione formalizzata della conoscenza concreta e di catalogazione delle informazioni
  • Relazionarsi 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
  • Rappresentare in forma grafica o formalizzata il modello della realtà o dei processi aziendali elaborato
  • Esaminare con il cliente gli obiettivi, i requisiti ed i vincoli del pacchetto software richiesto
  • Analizzare con il cliente la realtà con cui andrà ad interagire e le esigenze a cui intende rispondere il software da realizzare