TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE - ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE DESCRIZIONE Il Tecnico superiore per lo sviluppo del software opera e collabora nelle attività di analisi e progettazione, manutenzione evolutiva e collaudo delle soluzioni software, sulla base delle specifiche individuate utilizzando le metodologie più appropriate; contribuisce alle fasi di sviluppo, individuando gli strumenti più opportuni alla realizzazione delle applicazioni software. ATTIVITA’ PROFESSIONALI FONDAMENTALI • collabora nelle attività di individuazione e formalizzazione dei requisiti del software, in termini funzionali ed architetturali; • partecipa alle attività di pianificazione e progettazione del software di base e applicativo; • interviene nelle fasi di individuazione e selezione degli strumenti e delle metodologie per la conduzione delle attività di analisi, progettazione e sviluppo del software; • contribuisce alle fasi di sviluppo del software applicativo, anche utilizzando metodologie volte all’integrazione per componenti software; • collabora nelle operazioni di installazione e configurazione del software realizzato; • partecipa alle attività di collaudo, gestione tecnica, manutenzione e assistenza del software realizzato
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 1 1 - Individuare e formalizzare i requisiti del software A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. scambiare informazioni con il cliente, al fine di individuare i requisiti utente; 2. modellare i requisiti utente in maniera formale per i dati e le transazioni; 3. valutare per grandi linee il costo di sviluppo di un’applicazione software; 4. redigere documenti di analisi; 5. utilizzare Computer-Aided Software Engineering (CASE) per la gestione dei requisiti; 6. utilizzare linguaggi e metodi di descrizione e catalogazione delle informazioni. 1. Per scambiare informazioni con il cliente al fine di individuare i requisiti utente, il soggetto ha bisogno di sapere come: • usare modelli strutturati di interazione con il cliente; • interpretare le richieste del cliente; • identificare i requisiti utente; • valutare i requisiti utente. 2. Per modellare i requisiti utente in maniera formale per i dati e le transazioni, il soggetto ha bisogno di sapere come: • applicare i principi standard della raccolta di requisiti; • descrivere con metodologie e strumenti formali i requisiti utente per i dati di un sistema software; • descrivere con metodologie e strumenti formali i requisiti utente per le funzioni di un sistema software. 3. Per valutare per grandi linee il costo di sviluppo di una applicazione software, il soggetto ha bisogno di sapere come: • definire i principali parametri che determinano il costo di un progetto software; • identificare i punti critici dello sviluppo di un progetto software, relativamente ai costi e/o al tempo di sviluppo.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE 4. Per redigere documenti di analisi, il soggetto ha bisogno di sapere come: • definire i processi e i flussi di dati che soddisfano i requisiti a partire dalle specifiche; • rappresentare il comportamento dei processi; • definire esplicitamente tutti i dati del modello, sia esogeni che endogeni. 5. Per utilizzare software CASE per la gestione dei requisiti, il soggetto ha bisogno di sapere come: • individuare strumenti software adeguati per la modellazione delle specifiche; • modellare i requisiti e redigere documenti di analisi con l’ausilio di tool software. 6. Per utilizzare linguaggi e metodi di descrizione e catalogazione delle informazioni, il soggetto ha bisogno di sapere come: • definire dizionari dei dati.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. scambiare informazioni con il cliente, al fine di individuare i requisiti utente; 2. modellare i requisiti utente in maniera formale per i dati e le transazioni; 3. valutare per grandi linee il costo di sviluppo di una applicazione software; 4. redigere documenti di analisi; 5. utilizzare software CASE per la gestione dei requisiti; 6. utilizzare linguaggi e metodi di descrizione e catalogazione delle informazioni. Il soggetto deve dimostrare di: Gli indicatori sono: 1. • saper interagire con il cliente per • La conoscenza delle principali definire modalità di raccolta requisiti; tecniche per la raccolta delle esigenze del cliente; • saper identificare e descrivere i requisiti • la redazione di specifiche, sulla base utente. di un semplice User’s Requirements Document. 2. • saper descrivere i requisiti utente, con • L’utilizzo di metodologie di metodologie formali, per l’architettura e modellazione dei requisiti; le funzionalità di sistema. • la distinzione tra. modellazione funzionale e modellazione comportamentale. 3. • La redazione di preventivi di massima; • saper individuare e quantificare i principali elementi che determinano il • la conoscenza delle principali costo di sviluppo di un applicativo metriche per tipologie di prodotti software. software standard .
4. • la redazione in autonomia di semplici documenti di analisi. • saper individuare e descrivere i processi, i flussi e i depositi di dati, sulla base delle specifiche. 5. • L’uso di almeno uno strumento CASE. • saper individuare e utilizzare strumenti software atti a produrre documenti di specifica. 6. • La redazione e l’interpretazione di dizionari dei dati. • aver compreso l’utilità e la funzione di un dizionario di dati.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 2 2 - Pianificare e progettare software di base e applicativo A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. redigere documenti di progetto; 2. definire l’architettura di un sistema software sulla base dei documenti di specifica; 3. definire l’interfaccia con l’utente; 4. modellare la logica e i dati di un progetto software; 5. interagire con altri individui nella definizione di un progetto; 6. utilizzare strumenti CASE nella gestione di un progetto software. 1. Per redigere documenti di progetto, il soggetto ha bisogno di sapere come: • individuare le metodologie standard più adatte al progetto; • interpretare documenti di analisi; • applicare principi di astrazione, raffinamento e modularizzazione. 2. Per definire l’architettura di un sistema software sulla base dei documenti di specifica, il soggetto ha bisogno di sapere come: • analizzare e disegnare l’architettura di un sistema software , sulla base dei documenti di specifica, distinguendo dati e funzioni; • analizzare e disegnare architetture software in logiche multi-tier; • definire le classi e i metodi. 3. Per definire l’interfaccia con l’utente, il soggetto ha bisogno di sapere come: • pianificare l’interazione con l’utente; • utilizzare metodologie standard per la progettazione dell’interfaccia utente; • garantire l’usabilità.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE 4. Per modellare la logica e i dati di un progetto software , il soggetto ha bisogno di sapere come: • individuare e descrivere i blocchi funzionali; • individuare e descrivere i dati e i flussi di dati; • individuare e descrivere i depositi di dati; • identificare i vincoli presenti in un documento di specifica; • rispettare i vincoli identificati nella progettazione; • usare strategie di gestione dei vincoli. 5. Per interagire con altri individui nella definizione di un progetto software, il soggetto ha bisogno sapere come: • utilizzare modalità standard di suddivisione dei compiti e delle attività progettuali; • definire le interfacce tra i vari attori del progetto; • gestire politiche di trust in un team. 6. Per utilizzare strumenti CASE nella gestione di un progetto software, il soggetto ha bisogno di sapere come: • valutare l’ambiente più adatto ad uno specifico progetto, sulla base della logica di business; • interagire con strumenti CASE per la progettazione; • partecipare a progetti con sviluppo cooperativo.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. redigere documenti di progetto; 2. definire l’architettura di un sistema software sulla base dei documenti di specifica; 3. definire l’interfaccia con l’utente; 4. modellare la logica e i dati di un progetto software; 5. interagire con altri individui nella definizione di un progetto; 6. utilizzare strumenti CASE nella gestione di un progetto software, Il soggetto deve dimostrare di: Gli indicatori sono: 1. • saper applicare principi di astrazione, • L’utilizzo di almeno una metodologia raffinamento e modularizzazione nella standard di progetto software. generazione del progetto, sulla base di documenti di specifica ed analisi. 2. • saper modellare una base di dati; • L’utilizzo del modello Entità Relazioni • essere in grado di mappare un nel disegno dei dati; documento di specifica in una architettura software; • la definizione di architetture software • saper scegliere la logica più adatta in logiche multi-tier e client-server. della architettura software 3. • saper scegliere tra le varie metodologie • La progettazione in logica ad eventi; per la creazione di una interfaccia utente; • la progettazione di semplici interfacce • comprendere le problematiche grafiche, in almeno un ambiente di connesse all’usabilità. sviluppo visuale. 4. • Per un semplice documento di analisi, la determinazione: del tipo di flusso • saper procedere nella progettazione dei delle informazioni, dei confini del dati, selezionando le rappresentazioni flusso, della struttura del programma, logiche degli oggetti-dato individuati in della gerarchia del controllo. un documento di analisi; • saper sviluppare una struttura di programma modulare e rappresentare le interfacce tra moduli/oggetti; • saper sviluppare le interfacce, attraverso le quali i dati fluiscono nel programma.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE 5. • La descrizione delle regole principali di progettazione cooperativa del • conoscere le regole standard per la progettazione cooperativa del software. software. 6. • L’utilizzo di almeno un ambiente integrato CASE. • essere in grado di mappare un documento di analisi, in un ambiente di progettazione integrato.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 3 3 - Individuare gli strumenti di sviluppo software A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. utilizzare lo strumento di sviluppo più adatto per un processo di realizzazione di un progetto software; 2. scegliere il sistema operativo più adatto per ospitare un progetto di sviluppo software; 3. scegliere la piattaforma hardware più adatta ad ospitare un’applicazione; 4. valutare i requisiti hardware per un’applicazione client/server . 1. Per utilizzare lo strumento di sviluppo più adatto per un processo di realizzazione di un progetto software, il soggetto ha bisogno di sapere come: • individuare le peculiarità degli strumenti di sviluppo disponibili sul mercato; • valutare gli strumenti di sviluppo software più adeguati, disponibili sul mercato; • descrivere un progetto software con strumenti di sviluppo di sistema; integrare moduli software di diversa origine; • schedulare un processo di sviluppo software. 2. Per scegliere il sistema operativo più adatto per ospitare un progetto di sviluppo software, il soggetto ha bisogno di sapere come: • individuare le caratteristiche peculiari di un sistema operativo; • scegliere un sistema operativo al fine di ospitare un progetto di sviluppo sulla base delle sue caratteristiche; • giustificare la scelta di un sistema operativo. 3. Per Scegliere la piattaforma hardware più adatta ad ospitare un’applicazione, il soggetto ha bisogno di sapere come: • analizzare i requisiti hardware di una applicazione software; • scegliere i componenti hardware appropriati; • validare il sistema hardware ospite per un’applicazione software. 4. Per valutare i requisiti hardware per un’applicazione client/server, il soggetto ha bisogno di sapere come: • analizzare i requisiti hardware di un’applicazione client/server; • scegliere l’architettura di rete appropriata per un’applicazione client/server; • validare le politiche di trust in un’applicazione client/server.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. utilizzare lo strumento di sviluppo più adatto per un processo di realizzazione di un progetto software; 2. scegliere il sistema operativo più adatto per ospitare un progetto di sviluppo software; 3. scegliere la piattaforma hardware più adatta ad ospitare un’applicazione; 4. valutare i requisiti hardware per un’applicazione client/server Il soggetto deve dimostrare di: Gli indicatori sono: 1. • comprendere le peculiarità degli strumenti • La descrizione delle principali di sviluppo software disponibili sul mercato; caratteristiche di almeno due ambienti di • conoscere le caratteristiche dei principali sviluppo. ambienti di sviluppo e le loro peculiarità; • saper scegliere uno strumento di sviluppo, sulla base delle caratteristiche del progetto da realizzare; 2. • La comprensione delle differenze tra i principali Sistemi Operativi; • saper distinguere le caratteristiche dei principali Sistemi Operativi; • la motivazione della scelta di un Sistema Operativo; • aver compreso i concetti di multiprocessing, multitasking e multithreading; • La descrizione delle principali differenze tra classi di Sistemi Operativi. • aver compreso le modalità di accesso ed utilizzo per Sistemi Operativi mono e multi- utente.
3. • La descrizione dei principali elementi di un’architettura di elaborazione; • conoscere le principali architetture di un elaboratore; • l’individuazione, per grandi linee, dei vincoli prestazionali che determinano la • comprendere il legame tra applicazioni scelta di un sistema ospitante. sviluppate ed ambiente hardware più software ospitante 4. • L’individuazione dei vincoli prestazionali conoscere i principali protocolli del livello per una applicazione distribuita o delle applicazioni nel modello client/server. convenzionale International Standard Organization / Open System Interconnection (ISO/OSI); • conoscere i principali vincoli per lo sviluppo di un’applicazione in rete
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 4 4 - Sviluppare software A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. interpretare documenti di progetto e creare codice conforme alla documentazione progettuale; 2. implementare basi di dati relazionali; 3. interagire con basi di dati relazionali; 4. realizzare diverse tipologie di applicazioni software; 5. applicare principi di qualità nelle varie fasi del ciclo di vita di un software; 6. individuare e correggere errori in un software utilizzando opportuni strumenti di sviluppo. 1. Per interpretare documenti di progetto e creare codice conforme alla documentazione progettuale, il soggetto ha bisogno di sapere come: • individuare gli elementi di un documento di progetto; • verificare la consistenza di un documento di progetto; • realizzare codice strutturato; • applicare i paradigmi della programmazione ad oggetti; • documentare il codice durante la sua realizzazione. 2. Per implementare basi di dati relazionali, il soggetto ha bisogno di sapere come: • normalizzare e raffinare il progetto logico di un database relazionale; • codificare il progetto logico di una base di dati in un corrispondente database relazionale; • definire tabelle e vincoli intra ed inter relazionali. 3. Per interagire con basi di dati relazionali, il soggetto ha bisogno di sapere come: • inserire nuovi dati in un database nel rispetto dei vincoli; • esprimere il bisogno informativo in una interrogazione, utilizzando un linguaggio dichiarativo.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE 4. Per realizzare diverse tipologie di applicazioni software, il soggetto ha bisogno di sapere come: • utilizzare strumenti per lo sviluppo per componenti; • realizzare applicazioni client-server; • realizzare applicazioni orientate al web; • realizzare applicazioni orientate all’interfacciamento con DBMS. 5. Per applicare principi di qualità nelle varie fasi del ciclo di vita di un software, il soggetto ha bisogno di sapere come: • produrre documentazione associata alle fasi di sviluppo di un codice; • utilizzare metriche per la valutazione di un codice; • gestire strumenti atti a garantire la qualità del codice sviluppato. 6. Per individuare e correggere errori in un software con l’ausilio di opportuni strumenti di sviluppo software, il soggetto ha bisogno di sapere come: • utilizzare un debugger; • eseguire test funzionali sul codice • implementare codice utilizzando strumenti Computer-Aided Software Engineering (CASE).
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. interpretare documenti di progetto e creare codice conforme alla documentazione progettuale; 2. implementare basi di dati relazionali; 3. interagire con basi di dati relazionali; 4. realizzare diverse tipologie di applicazioni software; 5. applicare principi di qualità nelle varie fasi del ciclo di vita di un software; 6. individuare e correggere errori in un software utilizzando opportuni strumenti di sviluppo. Il soggetto deve dimostrare di: Gli indicatori sono: 1. • saper sviluppare codice, strutturato e • La conoscenza delle principali regole ad oggetti, in conformità ad un della programmazione strutturata e dei documento di progetto. paradigmi della programmazione ad oggetti; • la creazione di un programma, sulla base di documentazione progettuale, in almeno un linguaggio imperativo di alto livello; • la creazione di un programma, sulla base di documentazione progettuale, in almeno un linguaggio ad oggetti. 2. • conoscere i metodi formali di • La normalizzazione di un semplice raffinamento di uno schema schema relazionale in 3° Forma relazionale e di normalizzazione; Normale; • saper creare tabelle, con l’uso del Data • l’utilizzo di almeno un DBMS Definition Language di SQL, commerciale, per la creazione di un implementando i vincoli di integrità database sulla base di specifiche di previsti. progetto; • l’espressione in SQL di vincoli di integrità. 3. • La conoscenza dei principali costrutti di SQL; • saper utilizzare il Data Manipulation Language di SQL; • l’esecuzione di interrogazioni in SQL • saper formulare interrogazioni su più tabelle, utilizzando operatori utilizzando un tool QBE. aggregati.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE il soggetto deve dimostrare di: gli indicatori sono: 4. • saper realizzare codice per • L’interazione con sistemi remoti componenti predefiniti; mediante semplici RPC; • saper utilizzare collegamenti di tipo pipeline; • la conoscenza del funzionamento di un • saper utilizzare collegamenti di tipo Object Request Broker remote procedure call; • saper interagire con RDBMS • l’accesso a RDBMS, mediante utilizzando embedded SQL. connessioni ODBC. 5. • saper applicare tecniche standard di • La conoscenza di almeno una tecnica documentazione del codice prodotto. standard di documentazione del codice; • la creazione di codice documentato con tecniche standard. 6. • saper utilizzare l’ambiente di debug di • L’interazione con un debugger; uno strumento per lo sviluppo software; • la rilevazione e correzione di errori lessicali e sintattici; • saper distinguere errori lessicali ed errori sintattici; • l’esecuzione di elaborazione passo passo; • saper effettuare test funzionali su un codice. • la comprensione dei break point.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 5 5 - Installare e configurare software A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. installare pacchetti software; 2. configurare pacchetti software; 3. individuare situazioni di incompatibilità in una installazione e contribuire alla risoluzione del problema; 4. assicurare il mantenimento della sicurezza di un sistema a seguito di installazione di software. 1. Per installare pacchetti software, il soggetto ha bisogno di sapere come: • individuare le caratteristiche peculiari del pacchetto da installare; • individuare preventivamente eventuali conflitti tra il pacchetto da installare e l’ambiente ospite. 2. Per configurare pacchetti software, il soggetto ha bisogno di sapere come: • gestire pannelli di controllo; • effettuare attività di registrazione di prodotto; • Individuare le proprietà di configurazione dei pacchetti applicativi; • descrivere le funzionalità di una applicazione ad utenti. 3. Per individuare situazioni di incompatibilità in una installazione e contribuire alla risoluzione del problema, il soggetto ha bisogno di sapere come: • analizzare le possibili cause di incompatibilità determinate da una installazione; • determinare alternative risolutive in situazioni di incompatibilità di una installazione; • esemplificare le ragioni di incompatibilità; • ripristinare lo stato del sistema in caso di disinstallazione. 4. Per assicurare il mantenimento della sicurezza di un sistema a seguito di installazione di software, il soggetto ha bisogno di sapere come: • verificare la sicurezza di un sistema a seguito della installazione di un pacchetto software; • individuare le possibili cause di una perdita di sicurezza a seguito della installazione di un pacchetto software; • intervenire mediante reperimento ed installazione di “patch” per ripristinare la sicurezza di sistema.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. installare pacchetti software; 2. configurare pacchetti software; 3. individuare situazioni di incompatibilità in una installazione e contribuire alla risoluzione del problema; 4. assicurare il mantenimento della sicurezza di un sistema a seguito di installazione di software, Il soggetto deve dimostrare di: Gli indicatori sono: 1. • saper effettuare l’installazione dei • L’esecuzione di una corretta principali prodotti di office automation; installazione di una suite di prodotti software; • saper effettuare l’installazione di server • l’esecuzione di una corretta web e ftp. installazione di almeno una classe di server web e ftp. 2. • saper configurare e registrare i principali • individuazione dei componenti da pacchetti software di base e di configurare di una suite di prodotti di produttività office automation; • saper configurare server web e ftp • Configurazione di almeno una classe di server web e ftp. 3. • comprendere le principali possibili • L’esecuzione di un backup e ripristino cause di incompatibilità; di una configurazione. • saper effettuare backup preventivi e ripristino di configurazione. 4. • saper verificare il mantenimento della sicurezza di un sistema, a seguito della • Il reperimento di patch via Internet dai installazione di un applicativo; produttori di applicativi; • Individuazione di virus e backdoor con • saper reperire patch; l’uso di strumenti appropriati. • comprendere i rischi determinati dall’installazione di software non sicuro.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE UNITÀ CAPITALIZZABILE N° 6 6 - Collaudare, gestire e manutenere le applicazioni informatiche A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. predisporre un documento di collaudo; 2. gestire aggiornamenti del software; 3. riconoscere problematiche applicative. 1. Per predisporre un documento di collaudo, il soggetto ha bisogno di sapere come: • descrivere le caratteristiche funzionali di una applicazioni in termini verificabili; • determinare gli elementi per l’effettuazione di un collaudo; • redigere un documento di collaudo esaustivo. 2. Per gestire aggiornamenti del software, il soggetto ha bisogno di sapere come: • installare aggiornamenti di software di base; • installare aggiornamenti di specifici applicativi; • verificare il mantenimento delle funzionalità a seguito di aggiornamenti. 3. Per riconoscere problematiche applicative, il soggetto ha bisogno di sapere come; • determinare le cause di eventuali malfunzionamenti e ricondurle a possibili soluzioni; • descrivere le cause di eventuali malfunzionamenti.
TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. predisporre un documento di collaudo; 2. gestire aggiornamenti del software; 3. riconoscere problematiche applicative, Il soggetto deve dimostrare di: Gli indicatori sono: 1. • saper redigere un semplice documento • L’individuazione degli elementi di collaudo in conformità alle specifiche; essenziali collaudabili in un sistema e in una applicazione. • saper descrivere le caratteristiche funzionali di un sistema informatico. 2. • saper valutare l’opportunità di • La quantificazione del costo aggiornare software di base ed dell’aggiornamento, in rapporto alle applicativo ed eseguire gli caratteristiche di prestazione della aggiornamenti. versione aggiornata. 3 • La descrizione delle caratteristiche della manutenzione evolutiva. • comprendere le principali cause di malfunzionamento di un sistema; • comprendere il significato della manutenzione evolutiva.
Puoi anche leggere