Responsabile della progettazione di procedure software e applicazioni informatiche

SEP
14. Servizi digitali
REPERTORIO
Calabria

Competenze

Qualità del software
Mostra abilità e conoscenze
Conoscenze
  • Procedure di certificazione del software secondo i vari standard internazionali, per valutare i costi in termini di risorse finanziarie ed organizzative necessarie per il conseguimento
  • Normative vigenti in materia di tutela della proprietà intellettuale e tutela legale del software, per verificare che siano rispettate in tutte le fasi della progettazione del software
  • Normative vigenti in materia di privacy e tutela dei dati personali, per assicurare il rispetto delle disposizioni di legge da parte del software applicativo
  • Normative UNI EN ISO relative alla certificazione del software, per valutare l'opportunità di applicarle nella progettazione e nello sviluppo del software
  • Metodologie di applicazione dei principi della qualità alla produzione del software
Abilità
  • Assicurare il rispetto delle normative vigenti in materia di tutela della proprietà intellettuale e tutela legale del software
  • Verificare l'applicazione dei principi della qualità definiti in sede di progetto nel processo di produzione del software
  • Valutare i costi dell'applicazione delle procedure di certificazione al software applicativo
  • Selezionare e interpretare la normativa UNI EN ISO più adatta per la certificazione del software
  • Relazionarsi efficacemente con l'ente prescelto per l'eventuale certificazione del software
  • Definire le caratteristiche, gli elementi di verifica e gli indicatori di qualità del software
  • Definire il profilo di qualità per il prodotto software secondo le norme UNI EN ISO
Progettazione del software
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di programmazione strutturata, per un'ottimizzazione della struttura delle procedure anche in relazione ai tempi necessari per lo sviluppo del codice
  • 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 in termini di efficienza ed efficacia dei programmi, riduzione dei tempi di sviluppo, riduzione delle possibilità di errore e facilità di manutenzione
  • 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
  • Architettura e prestazioni del sistema operativo per ottimizzare la progettazione del software
  • Architettura dei sistemi di elaborazione elettronica, al fine di ottimizzare la progettazione del software
Abilità
  • Operare le scelte più efficaci/efficienti in relazione all'architettura e alle prestazioni del sistema operativo
  • Operare le scelte più efficaci/efficienti in relazione all'architettura del sistema di elaborazione
  • 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
  • Applicare le metodologie della programmazione strutturata nella progettazione del software
Testing e manutenzione del software
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di stesura della documentazione tecnica e delle procedure
  • Tecniche di pianificazione del testing del software applicativo, applicando metodologie statiche e dinamiche, al fine di realizzare una verifica quanto più completa dell'assenza di eventuali errori di progettazione
  • Stato dell'arte nell'evoluzione delle tecnologie informatiche per suggerire al cliente eventuali aggiornamenti del software applicativo in grado di migliorare l'efficacia e/o efficienza dei programmi
Abilità
  • Documentare la cronistoria delle modifiche progettuali apportate nel passaggio alle successive versioni (releases) del software applicativo
  • Coordinare la stesura e l'aggiornamento della documentazione tecnica delle procedure
  • Apportare le necessarie modifiche ai documenti progettuali in relazione a eventuali nuove esigenze o richieste del cliente
  • Esaminare i documenti dei test ed i report delle anomalie e degli errori individuati, per verificare e correggere eventuali errori in sede di progettazione
  • Esaminare le eventuali nuove esigenze o richieste del cliente per valutare l'opportunità di modifiche alla progettazione del software
Analisi dei requisiti
Mostra abilità e conoscenze
Conoscenze
  • Tecniche di analisi delle organizzazioni e dei processi aziendali per individuare gli elementi (entità, relazioni, processi, ecc...) rilevanti per una corretta rappresentazione formalizzata della realtà da informatizzare
  • 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
Abilità
  • Analizzare con il cliente la realtà ed i processi con cui andrà ad interagire il software da realizzare e le esigenze a cui intende rispondere
  • Esaminare con il cliente caretteristiche, obiettivi, requisiti e vincoli delle procedure da informatizzare con il software applicativo
  • 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
  • Eseguire uno studio di fattibilità, contenente la stima dei benefici, dei costi, delle risorse richieste e dei tempi di consegna del software
  • Utilizzare i linguaggi e i metodi di descrizione formalizzata della conoscenza concreta e di catalogazione delle informazioni
  • Rappresentare in forma grafica o formalizzata il modello della realtà o dei processi aziendali elaborato
Metodologie di sviluppo del software
Mostra abilità e conoscenze
Conoscenze
  • 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
  • Tecniche di programmazione strutturata per ottimizzare la struttura dei programmi e ridurre i tempi di sviluppo e le possibilità di errore
  • 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
  • Linguaggi 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
  • Lingua inglese tecnica per comprendere l'eventuale documentazione redatta in lingua inglese
Abilità
  • Coordinare lo sviluppo delle procedure nel linguaggio di programmazione prescelto, assegnando le priorità ai membri del gruppo di lavoro
  • Coordinare la stesura della documentazione relativa allo sviluppo delle procedure definendo standard comuni all'interno del gruppo di lavoro
  • Assicurare l'utilizzo delle opportune metodologie di scrittura strutturata del codice sorgente per rendere comprensibile rapidamente la struttura del programma
  • Verificare l'applicazione in maniera corretta ed appropriata delle tecniche di programmazione strutturata durante la scrittura delle procedure software
  • Leggere e comprendere la documentazione e la manualistica di supporto redatta in lingua inglese