ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE DESCRIZIONE Il Tecnico superiore per le applicazioni informatiche collabora all’analisi e alla successiva reingegnerizzazione ed alla automazione di processi aziendali e di business; contribuisce, pertanto, all’automazione di workflow aziendali, mediante adattamento ed integrazione di applicazioni specifiche, disponibili sul mercato; interagisce con il committente attraverso l’impiego di appropriate metodologie, a partire dalla fase di analisi dei requisiti delle applicazioni, giungendo fino al collaudo e all’installazione delle soluzioni realizzate. ATTIVITA’ PROFESSIONALI FONDAMENTALI • • • • • • collabora nelle attività di individuazione e formalizzazione dei requisiti dell’applicazione, in termini funzionali e architetturali; partecipa alle attività di pianificazione, reingegnerizzazione, progettazione e configurazione di applicazioni volte all’automazione di processo; interviene nelle fasi di individuazione degli strumenti e delle metodologie per la conduzione delle attività; contribuisce alle fasi di integrazione delle applicazioni, realizzando i prodotti software appropriati e individuando e integrando le componenti reperibili sul mercato; collabora nelle operazioni di installazione e configurazione delle soluzioni applicative realizzate; partecipa alle attività di collaudo, gestione tecnica, manutenzione e assistenza relative alle soluzioni applicative realizzate. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE UNITÀ CAPITALIZZABILE N° 1 1) Individuare e formalizzare i requisiti dell’applicazione 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 le funzionalità e l’architettura di sistema; 3. valutare per grandi linee il costo di realizzazione di un sistema informatico; 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 le funzionalità e l’architettura di sistema, 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 l’architettura di sistema; • descrivere con metodologie e strumenti formali i requisiti utente per le funzionalità di sistema. 3. Per valutare per grandi linee il costo di realizzazione di un sistema informatico, il soggetto ha bisogno di sapere come: • definire i principali parametri che determinano il costo di un sistema informatico; • identificare i punti critici dello sviluppo di un sistema informatico relativamente ai costi. 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 sia 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 LE APPLICAZIONI INFORMATICHE 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 le funzionalità e l’architettura di sistema; 3. valutare per grandi linee il costo di sviluppo di un sistema informatico; 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: 1. • saper interagire con il cliente per definire modalità di raccolta requisiti; • saper identificare e descrivere i requisiti utente; 2. • saper descrivere i requisiti utente con metodologie formali per l’architettura e le funzionalità di sistema. 3. • saper individuare e quantificare i principali elementi che determinano il costo di sviluppo di sistema informatico 4. • saper individuare e descrivere i processi, i flussi e i depositi di dati. 5. • saper individuare e utilizzare strumenti software atti a produrre documenti di specifica. 6. • aver compreso l’utilità di un dizionario di dati Gli indicatori sono: • La conoscenza delle principali tecniche per la raccolta delle esigenze del cliente; • la redazione di semplici specifiche. • L’utilizzo di metodologie di modellazione dei requisiti; • la distinzione tra modellazione funzionale e modellazione comportamentale. • La redazione di preventivi di massima; • l’esecuzione di indagini di mercato; • la descrizione delle principali metriche di costo. • La redazione in autonomia di semplici documenti di analisi. • L’uso di almeno uno strumento CASE. • la redazione ed l’interpretazione di dizionari dei dati. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE UNITÀ’ CAPITALIZZABILE N° 2 2) Modellare una soluzione con l’uso di metodologie standard A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. 2. 3. 4. redigere documenti di progetto; definire l’architettura di una applicazione sulla base di documenti di specifica; modellare la logica di business con l’uso di applicazioni informatiche; reingegnerizzare ed automatizzare processi aziendali con l’ausilio di applicazioni software; 5. contribuire alla realizzazione di applicazioni integrate con l’uso di Components Off The Shell (COTS). 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 una applicazione sulla base di documenti di specifica, il soggetto ha bisogno di sapere come: • analizzare e disegnare l’architettura dei dati e delle funzioni; • analizzare e disegnare l’infrastruttura tecnologica. 3. Per modellare la logica di business con l’uso di applicazioni soggetto ha bisogno di sapere come: • individuare i processi; • individuare le criticità; • modellare processi e criticità. informatiche, il 4. Per reingegnerizzare ed automatizzare processi aziendali con l’ausilio di applicazioni software, il soggetto ha bisogno di sapere come: • individuare i processi automatizzabili e modellarli mediante workflow diagram; • utilizzare strumenti di Work Flow Management System (WFMS) per ridisegnare i processi individuati. 5. Per contribuire alla realizzazione di applicazioni integrate con l’uso di COTS, il soggetto ha bisogno di sapere come: • integrare componenti software; • reperire applicazioni e componenti sul mercato; • valutare componenti e applicazioni. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. 2. 3. 4. redigere documenti di progetto; definire l’architettura di una applicazione sulla base di documenti di specifica; modellare la logica di business con l’uso di applicazioni informatiche; reingegnerizzare ed automatizzare processi aziendali con l’ausilio di applicazioni software; 5. contribuire alla realizzazione di applicazioni integrate con l’uso di Components Off The Shell (COTS), Il soggetto deve dimostrare di: 1. • saper applicare principi di astrazione, raffinamento e modularizzazione nella generazione del progetto, sulla base di documenti di specifica ed analisi 2. • saper modellare una base di dati • saper definire l’infrastrastruttura tecnologica di una applicazione Gli indicatori sono: • L'interpretazione di un semplice documento di analisi e l’esecuzione della relativa progettazione • L’utilizzo del modello Entità Relazioni nel disegno dei dati • la comprensione di logiche multi-tier e client-server 3. • saper descrivere processi aziendali e di • La creazione di semplici modelli statobusiness con metodologie standard transizioni sulla base di processi definiti 4. • saper analizzare un processo, individuando attività e sequenze temporali e ristrutturarlo con metodologie standard 5. • saper scegliere e integrare componenti software per realizzare una applicazione • La modellazione di semplici processi con l’uso di workflow diagrams • L’esecuzione di ricerche per scegliere COTS • la comprensione delle modalità di integrazione di COTS TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE UNITÀ’ CAPITALIZZABILE N° 3 3) Individuare gli strumenti per le applicazioni informatiche A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. collaborare alla pianificazione di una infrastruttura telematica aziendale; 2. creare piccole reti aziendali; 3. scegliere lo strumento di sviluppo più adatto per un processo di realizzazione di una applicazione informatica; 4. scegliere un Sistema Operativo ospite sulla base della applicazione. 1. Per collaborare alla pianificazione di una infrastruttura telematica, il soggetto ha bisogno di sapere come: • individuare le peculiarità di una infrastruttura telematica; • definire metriche relative a storage area, necessità di banda, necessità di potenza di calcolo. 2. Per creare piccole reti aziendali, il soggetto ha bisogno di sapere come: • • • • individuare gli elementi costitutivi di una Local Area Network (LAN); scegliere i componenti; conformarsi alle regole previste dai protocolli di rete; Individuare fornitori di servizio esterni; 3. Per scegliere lo strumento di sviluppo più adatto per un processo di realizzazione di una applicazione informatica, il soggetto ha bisogno di sapere come: • descrivere un progetto di applicazione con strumenti di sviluppo automatici; • effettuare la scelta di uno strumento di sviluppo, in relazione al progetto da realizzare; • giustificare la scelta di uno strumento di sviluppo. 4. Per scegliere un Sistema Operativo (SO) ospite sulla base della applicazione, il soggetto ha bisogno di sapere come: • individuare le caratteristiche peculiari di un Sistema Operativo; • descrivere le caratteristiche peculiari di un Sistema Operativo; • giustificare la scelta di un Sistema Operativo. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. collaborare alla pianificazione di una infrastruttura telematica aziendale; 2. creare piccole reti aziendali; 3. scegliere lo strumento di sviluppo più adatto per un processo di realizzazione di una applicazione informatica; 4. scegliere un Sistema Operativo ospite sulla base della applicazione, Il soggetto deve dimostrare di: 1. • saper scegliere le caratteristiche hardware degli elaboratori, sulla base delle applicazioni da ospitare; • saper eseguire le principali attività di installazione e configurazione del protocollo Transmission Control Protocol/Internet Protocol (TCP/IP) in un elaboratore connesso in rete locale. Gli indicatori sono: • La conoscenza delle principali classi di processori; • la descrizione delle peculiarità dei dispositivi SCSI e USB ; • la descrizione delle peculiarità di installazione e configurazione del protocollo TCP/IP su un elaboratore connesso in rete locale. 2. • comprendere le differenze tra apparati attivi e passivi; • La descrizione delle caratteristiche e funzionalità di Hub, switch e router; • distinguere le varie tipologie di cablaggio; • la conoscenza delle caratteristiche dei principali elementi di cablaggio; • conoscere i vincoli spaziali e di banda dei protocolli LAN . • l’identificazione dei vincoli di distanza e numero di host in una LAN. 3. • conoscere le caratteristiche dei • La descrizione delle caratteristiche di principali ambienti di sviluppo e le loro almeno due ambienti di sviluppo. peculiarità. 4. • saper distinguere le caratteristiche dei • La comprensione delle differenze fra i principali Sistemi Operativi; principali Sistemi Operativi; • aver compreso i concetti di multiprocessing, multitasking e • i criteri della scelta di un Sistema Operativo. multithreading; • aver compreso le modalità di accesso ed utilizzo per Sistemi Operativi mono e multi-utente. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE UNITÀ CAPITALIZZABILE N° 4 4 - Integrare le applicazioni per realizzare prodotti software A – STANDARD MINIMO DELLE COMPETENZE Il soggetto è in grado di: 1. interpretare documenti di analisi e documenti di progetto; 2. applicare le principali regole di programmazione ad oggetti per integrare componenti; 3. creare basi di dati relazionali; 4. amministrare DBMS; 5. realizzare diverse tipologie di applicazioni software; 6. codificare algoritmi con linguaggi di alto livello. 1. Per Interpretare documenti di analisi e documenti di progetto, il soggetto ha bisogno di sapere come: • • • • individuare gli elementi di un documento di analisi; verificare la consistenza di un documento di analisi; individuare gli elementi di un documento di progetto; verificare la consistenza di un documento di progetto. 2. Per Applicare le principali regole di programmazione ad oggetti per integrare componenti, il soggetto ha bisogno di sapere come: • utilizzare i paradigmi della programmazione ad oggetti, con particolare riferimento ad ereditarietà e polimorfismo; • riutilizzare componenti software in varie tipologie di applicazione; • utilizzare ambienti di sviluppo per componenti al fine di creare applicazioni integrate. 3. Per creare basi di dati relazionali, il soggetto ha bisogno di sapere come: • implementare un database relazionale, sulla base di specifiche di progetto; • interrogare un database relazionale; • assicurare il mantenimento dei vincoli sui dati. 4. Per amministrare DBMS, il soggetto ha bisogno di sapere come: • sviluppare politiche di accesso controllato ad un DBMS; • garantire l’interfacciamento di applicazioni ad un DBMS; • assicurare il mantenimento delle proprietà ACID in un sistema transazionale. 5. Per realizzare diverse tipologie di applicazioni software, il soggetto ha bisogno di sapere come: • creare applicazioni client-server; • creare applicazioni orientate al web; • creare applicazioni orientate all’interfacciamento con DBMS. 6. Per codificare algoritmi con linguaggio di alto livello, il soggetto ha bisogno di sapere come: • realizzare codice strutturato; • documentare il codice durante la sua realizzazione; • effettuare operazioni di debug. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE B - DECLINAZIONE DI LIVELLO Per essere in grado di: 1. interpretare documenti di analisi e documenti di progetto; 2. applicare le principali regole di programmazione ad oggetti per integrare componenti; 3. creare basi di dati relazionali; 4. amministrare DBMS; 5. realizzare diverse tipologie di applicazioni software; 6. codificare algoritmi con linguaggi di alto livello, Il soggetto deve dimostrare di: 1. • conoscere gli elementi dell’Unified Modeling Language (UML). 2. • saper creare un’applicazione, con l’utilizzo di un linguaggio ad oggetti integrando componenti di libreria. 3. • conoscere gli elementi del DDL e del DML di SQL; • saper mappare un modello E-R in uno schema relazionale, utilizzando un DBMS commerciale; • saper analizzare la struttura relazionale, per effettuare interrogazioni concatenando più tabelle; • saper inserire, modificare e cancellare dati in conformità ai vincoli presenti sulla base di dati. 4. • conoscere le proprietà ACID di un sistema transazionale • aver compreso l’utilizzo delle regole di accesso ad un DBMS Gli indicatori sono: • La conoscenza dei diagrammi dell’UML e degli elementi costitutivi di ciascuno. • La creazione di un’applicazione con interfaccia a finestre. • La creazione di una base di dati costituita da più tabelle; • l’esecuzione di interrogazioni con l’uso di join e condizioni. • L’esecuzione di riprese da crash di sistema; • la conoscenza e l’uso dei comandi di grant e revoke. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE 5. • saper effettuare connessioni a DBMS mediante ODBC; • saper creare codice, lato client e lato server. • L’esecuzione di interrogazioni su un DBMS, mediante una connessione remota; • la creazione di form per l’inserimento dati in un server remoto; • la creazione di semplici script. 6. • conoscere le proprietà di un algoritmo • essere in grado di applicare le regole della programmazione strutturata • saper scrivere documentazione per codice strutturato • saper distinguere gli errori lessicali da quelli sintattici • la creazione di procedure e funzioni, sulla base di un documento di progetto in un linguaggio procedurale; • la documentazione del codice scritto, con tecniche standard; • l’utilizzo di un debugger. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE UNITÀ’ CAPITALIZZABILE N° 5 5) Installare e configurare le applicazione informatiche 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 ospitante. 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 LE APPLICAZIONI INFORMATICHE 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: 1. • saper effettuare l’installazione dei principali prodotti di office automation. Gli indicatori sono: • L’esecuzione di una corretta installazione di una suite di prodotti software. 2. • saper configurare e registrare i principali • L’individuazione dei componenti da pacchetti software di base e di configurare da una suite di prodotti di produttività. office automation. 3. • comprendere le principali possibili cause di incompatibilità; • L’esecuzione di un backup e ripristino di una configurazione. • saper effettuare backup preventivi e ripristino di configurazione. 4. • saper verificare il mantenimento della sicurezza di un sistema, a seguito della installazione di un applicativo; • saper reperire patch; • comprendere i rischi determinatri dall’installazione di software non sicuro. • Il reperimento di patch via internet dai produttori di applicativi; • l’individuazione di virus e backdoor con l’uso di strumenti appropriati. TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE 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 esaustivo documento di collaudo. 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 LE APPLICAZIONI INFORMATICHE 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: 1. • saper redigere un semplice documento di collaudo in conformità alle specifiche Gli indicatori sono: • L’individuazione degli elementi essenziali collaudabili in un sistema e in una applicazione • saper descrivere le caratteristiche funzionali di un sistema informatico 2. • saper valutare l’opportunità di aggiornare hardware e software di base ed applicativo ed eseguire gli aggiornamenti • La quantificazione del costo dell’aggiornamento in rapporto alle caratteristiche di prestazione della versione aggiornata 3 • comprendere le principali cause di malfunzionamento di un sistema • La descrizione delle caratteristiche della manutenzione evolutiva • aver compreso il significato della manutenzione evolutiva