Responsabile della progettazione e dello sviluppo di programmi informatici
Competenze
Aggiornamento e manutenzione del software
Mostra abilità e conoscenze
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
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
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
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
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
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
