Intervento didattico - Inmatica – Code Your...

22
   Intervento didattico: Descrivere l’articolazione modulare indicando per ogni modulo gli obiettivi specifici, la durata, le conoscenze e competenze da acquisire, le modalità formative, le eventuali modalità di valutazione (se previste per il modulo), l’articolazione in unità didattiche. Per una migliore valutazione dell’impianto formativo, possono essere descritti anche gli indicatori di padronanza delle competenze acquisite, le attrezzature e tecnologie impiegate, la bibliografia di riferimento, i sussidi didattici che verranno forniti ai corsisti. E’ opportuno far precedere alla descrizione dei moduli un quadro grafico d’insieme dell’impianto formativo. Il corso si propone di creare una figura altamente professionale capace di realizzare applicativi informatici atti a risolvere, gestire e automatizzare procedure aziendali diversificate per campi di interesse. Il corso ha come obiettivo quello di introdurre la programmazione a oggetti e di fornire le basi fondamentali per lo sviluppo in ambiente Java. Durante il corso si svilupperanno esercizi pratici che saranno revisionati dall'istruttore al fine di poter apprendere correttamente le procedure dello sviluppo del software.   Specificatamente la figura professionale oggetto del presente corso è quella dell’analista programmatore Java EE, una figura che sviluppa l’analisi di un problema in termini informatici. A tal fine:   raccoglie richieste, necessità e indicazioni del Cliente;  analizza i processi aziendali nei quali si inserisce l’intervento e ne valuta la fattibilità economica e tecnologica;  collabora alla definizione di architetture e modelli e al disegno di processi di controllo dell’infrastruttura informatica garantendo coerenza e completezza del sistema rispetto ai vincoli tecnologici e progettuali;   definisce il diagramma di flusso degli applicativi del sistema informativo e ne realizza le varie fasi trascrivendole in codice di programmazione;   analizza e interpreta i dati ottenuti dal monitoraggio/test apportando eventuali modifiche o migliorie;  partecipa alla stesura del manuale d’uso del Sistema Informativo.   Il grafico in basso esplica le attività che l’Analista Programmatore Java EE svolge con la relativa descrizione: ATTIVITA’  DESCRIZIONE  Analizza e interpreta la domanda del cliente   Raccoglie le indicazioni e le necessità esplicite e fa emergere quelle latenti. Valuta la fattibilità economica e tecnologica, elabora e formalizza proposte alternative. Progetta gli Applicativi del Sistema Informativo Disegna i processi di esecuzione e controllo dell’infrastruttura informatica, garantendo coerenza e completezza e formalizza i dettagli dei moduli software.  Sviluppa e programma gli Applicativi del Sistema Informativo Scrive in codice di programmazione quanto riportato nel progetto.  Definisce le procedure per la gestione e la manutenzione degli Applicativi del sistema Predisposizione della relativa documentazione tecnica.  

Transcript of Intervento didattico - Inmatica – Code Your...

     

Intervento didattico: 

Descrivere l’articolazione modulare indicando per ogni modulo gli obiettivi specifici, la durata, le conoscenze e competenze da acquisire, le modalità formative, le eventuali modalità di valutazione (se previste per il modulo), l’articolazione in unità didattiche. Per una migliore valutazione dell’impianto formativo, possono essere descritti anche gli indicatori di padronanza delle competenze acquisite, le attrezzature e tecnologie impiegate, la bibliografia di riferimento, i sussidi didattici che verranno forniti ai corsisti. E’ opportuno far precedere alla descrizione dei moduli un quadro grafico d’insieme dell’impianto formativo. 

Il corso si propone di creare una figura altamente professionale capace di realizzare applicativi informatici atti a risolvere, gestire e automatizzare procedure aziendali diversificate per campi di interesse. Il corso ha come obiettivo quello di  introdurre  la programmazione a oggetti e di  fornire  le basi  fondamentali per  lo sviluppo  in  ambiente  Java.  Durante  il  corso  si  svilupperanno  esercizi  pratici  che  saranno  revisionati dall'istruttore al fine di poter apprendere correttamente le procedure dello sviluppo del software.  

 

Specificatamente  la  figura professionale oggetto del presente corso è quella dell’analista programmatore 

Java EE, una figura che sviluppa l’analisi di un problema in termini informatici. A tal fine: 

 

raccoglie richieste, necessità e indicazioni del Cliente; 

analizza  i processi aziendali nei quali si  inserisce  l’intervento e ne valuta  la fattibilità economica e 

tecnologica; 

collabora  alla  definizione  di  architetture  e  modelli  e  al  disegno  di  processi  di  controllo 

dell’infrastruttura  informatica  garantendo  coerenza  e  completezza del  sistema  rispetto  ai  vincoli 

tecnologici e progettuali;  

definisce  il diagramma di flusso degli applicativi del sistema  informativo e ne realizza  le varie fasi 

trascrivendole in codice di programmazione;  

analizza  e  interpreta  i  dati  ottenuti  dal  monitoraggio/test  apportando  eventuali  modifiche  o 

migliorie; 

partecipa alla stesura del manuale d’uso del Sistema Informativo. 

 

 

Il grafico in basso esplica le attività che l’Analista Programmatore Java EE svolge con la relativa descrizione: 

ATTIVITA’   DESCRIZIONE  

Analizza e interpreta la domanda del cliente   

Raccoglie  le  indicazioni e  le necessità esplicite e fa emergere  quelle  latenti.  Valuta  la  fattibilità economica  e  tecnologica,  elabora  e  formalizza proposte alternative. 

Progetta gli Applicativi del Sistema Informativo  Disegna  i  processi  di  esecuzione  e  controllo dell’infrastruttura  informatica,  garantendo coerenza e completezza e  formalizza  i dettagli dei moduli software.  

Sviluppa  e  programma  gli  Applicativi  del  Sistema Informativo 

Scrive  in  codice  di  programmazione  quanto riportato nel progetto.  

Definisce  le  procedure  per  la  gestione  e  la manutenzione degli Applicativi del sistema 

Predisposizione  della  relativa  documentazione tecnica.  

     Convalida gli Applicativi del Sistema Informativo  Analizza  e  interpreta  i  dati  ottenuti  dal 

monitoraggio/test  al  fine  di  evidenziare  eventuali problematicità  e  valuta  la  necessità  di  apportare delle modifiche.  

Collauda  gli  applicativi  del  Sistema  Informativo  e predispone il manuale d’uso 

Controlla  l’integrazione  dei  vari  componenti garantendo  il  corretto  funzionamento del  sistema complessivo.  

 

Gli argomenti principali del corso saranno: 

Introduzione a Java  La programmazione Object‐Oriented   La progettazione di classi  Arrays, eccezioni, asserzioni e librerie di classi di uso generale   L’analisi e la progettazione dei sistemi software UML  Class Diagram, Use Case Diagram, Sequence Diagram   I database relazionali, SQL e JDBC  Applicazioni web: componenti view, controller   Salute e sicurezza nei luoghi di lavoro   Inglese tecnico di settore   Il Project Management  

La formazione di aula in ottemperanza all’avviso pubblico di riferimento, si canalizza nell’azione B: interventi finalizzati al conseguimento della qualifica. Il percorso d’aula durerà complessivamente 510 ore e si articolerà in giornate formative per un massimo di 6 ore a giornata e prevede la presenza costante di un tutor tecnico. Al termine della formazione di aula verrà contemplata per tutti  i partecipanti  la realizzazione di uno stage formativo della durata di 210 ore  che  avrà  le  caratteristiche di un  training on  the  job e  che,  consisterà nell’affiancare  un  team  di  sviluppo  nelle  attività  progettuali  e  realizzative,  completando  il  percorso  di formazione canonico definito dalla formazione di aula iniziale.  

 

Al termine del corso, i discenti avranno acquisito le competenze per realizzare applicazioni, web o desktop che siano, in grado di integrare interfacce utente evolute, complesse logiche elaborative, accesso ai database più diffusi e servizi web distribuiti. Alla fine del Corso, tutti gli allievi che avranno raggiunti una frequenza dell’80% verranno ammessi a sostenere l'esame per il rilascio dell’Attestato di QUALIFICA PROFESSIONALE ai sensi della legge Regionale n° 23 del 25/02/1992 e della legge Quadro n° 845 del 21/12/1978.  

 

 

 

 

 

 

     La tabella riepilogativa delle unità di competenza del corso e dei relativi moduli didattici (comprensiva di durata dei moduli espressa in ore) è riportata di seguito:

Code Your Future:  

competenze tecniche e specialistiche per l’analista programmatore Java EE (Enterprise Edition)

Unità di competenza Num. Titolo Modulo Durata

1. Modellazione requisiti applicazioni informatiche

1.1

Introduzione a Java: metodologie, framework e strumenti di progettazione

56

1.2

La programmazione Object-Oriented: progettazione di base del sistema e delle componenti

48

2. Progettazione tecnica applicazioni informatiche

2.1

La progettazione dei sistemi software UML: definizione interfaccia utente, usabilità, veste grafica ed editoriale.

64

2.2 La modellazione dei database e la progettazione DBMS

32

3. Sviluppo applicazioni informatiche

3.1 I linguaggi di programmazione ad oggetti, Java

32

3.2 La relazione delle applicazioni con i database

56

3.3 Creazione di applicazioni su modello MVC

64

3.4 Introduzione alla Function Point Analisys

32

4. Convalida applicazioni informatiche

4.1 Metodologie, modalità e strumenti per il collaudo e testing del sistema e aspetti legati alla sicurezza

40

5. Moduli trasversali

5.1 Salute e sicurezza nei luoghi di lavoro D.lsg 81/08

8

5.2 Inglese tecnico di settore

38

5.3 Introduzione al Project Management

40

Totale Ore 510

     

Modulo 1.1 – Introduzione a Java: metodologie, framework e strumenti

di progettazione Il modulo ha l’obiettivo di fornire una panoramica sui linguaggi di programmazione basati sull'approccio Object Oriented (Java), sui linguaggi per interagire con un DBMS (SQL) ed introduzione agli ambienti di sviluppo (tools) più usati

Obiettivi specifici:

Panoramica sui linguaggi di programmazione basati sull'approccio misto (C++) , Object Oriented (Java), sui linguaggi per interagire con un DBMS (SQL)

Introduzione agli ambienti di sviluppo (tools) più usati

Durata: 56 Ore

Conoscenze da acquisire (sapere):

Capire la differenza fra linguaggio procedurale ed Object Oriented ed avere un idea di cosa offre il mercato per interagire con un DBMS

Conoscere, a grandi linee, cosa offrono gli ambienti di sviluppo più diffusi

Competenze da acquisire (saper fare, abilità):

A fronte di un problema saper individuare il linguaggio o i linguaggi migliori con cui esprimere la soluzione.

Saper selezionare la tecnologia ed i tools più adatti per la progettazione tecnica del prodotto software

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione: Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 I linguaggi di programmazione: a cosa servono e loro principali caratteristiche

ud.2 L'approccio procedurale: caratteristiche, pro e contro

ud.3 L'approccio OO: caratteristiche, pro e contro

ud.4 Interagire con un database: caratteristiche dei linguaggi commerciali

Indicatori di padronanza delle competenze acquisite: livello di comprensione delle differenze fra gli

approcci presentati

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma e Richard Helm (1994)

Introduction To Object-Oriented Programming, Timothy Budd (2001)

Sussidi didattici: Slide

 

 

     

Modulo 1.2 – La programmazione Object-Oriented: progettazione di

base del sistema e delle componenti Il modulo ha come obiettivi di identificare i requisiti, le tecnologie e le piattaforme adatte al progetto come soluzione concreta ad un progetto di business. In particolare verranno presentati i principali costrutti dello standard UML per la modellazione della soluzione di un problema secondo l'approccio Object Oriented

Obiettivi specifici:

Presentare i principali costrutti dello standard UML per la modellazione dei processi e della soluzione di un problema secondo l'approccio Object Oriented.

Durata: 48 Ore

Conoscenze da acquisire (sapere):

A fronte di un progetto, verrà evidenziato come individuare e descrivere una possibile soluzione ad alto livello usando il linguaggio UML.

Identificare la struttura di base del prodotto software con i componenti principali (moduli) e le relative relazioni ed interrelazioni.

Competenze da acquisire (saper fare, abilità):

Capacità di distinguere le componenti principali di un’applicazione Implementazione di una semplice applicazione Java che permetta di progettare la parte client

(html, css, javascript), la parte server e una connessione dati di esempio

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione: Test finale e verifiche intermedie

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Cosa è UML ed a cosa serve

ud.2 Il linguaggio UML per modellare i requisiti funzionali

ud.3 I costrutti UML per descrivere le classi ed i tipi di relazioni possibili fra classi

ud.4 I costrutti UML per modellare le relazioni fra le classi

ud.5 La modellazione del dominio: i diagrammi delle attività

Indicatori di padronanza delle competenze acquisite:

Capacità di rappresentare in UML un caso reale

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

www.omg.org UML distilled. Guida rapida al linguaggio di modellazione standard Fowler, Baresi - Pearson; 4

edizione (giugno 2010)

Sussidi didattici: Slide

     

Modulo 2.1 – La progettazione dei sistemi software UML: definizione

interfaccia utente, usabilità, veste grafica ed editoriale Il modulo ha gli obiettivi di fornire gli elementi di base per la progettazione di un’interfaccia utente coerente e funzionale, ed approfondire gli strumenti che permettono di comporla.

Obiettivi specifici:

Fornire la conoscenza dei principi di usabilità ed ergonomia delle interfacce utente. Fornire la conoscenza delle metodologie di progettazione di interfacce. Fornire la conoscenza delle metodologie di prototipazione (a vari livelli di dettaglio) Elementi di HTML5 e CSS

Durata: 64 Ore

Conoscenze da acquisire (sapere):

Principi di usabilità Principi di progettazione delle interfacce e delle interazioni Metodologie di prototipazione statica e dinamica Elementi di HTML5 e CSS

Competenze da acquisire (saper fare, abilità):

Capacità di valutare l’usabilità di una interfaccia utente (Expert Review) Capacità di realizzare storyboard, sketch e wireframe Capacità di realizzare prototipi statici e dinamici Capacità di realizzare Style Guide Capacità di realizzare un’interfaccia grafica sfruttando gli attuali standard HTML5

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Sviluppo di un caso di studio da svilupparsi in gruppo Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Principi di usabilità

ud.2 Progettazione di interfacce: Storyboard, Sketch e Wireframe

ud.3 Prototipazione statica e dinamica

ud.4 Style Guide e veste grafica di un prodotto/servizio

Indicatori di padronanza delle competenze acquisite:

Capacità di riconoscere problemi di usabilità in una interfaccia utente. Capacità di realizzare, a diversi livelli di dettaglio, Storyboard, Sketch e Wireframe. Capacità di realizzare un prototipo, statico e dinamico, di una interfaccia utente. Capacità di realizzare una style guide.

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

      Fondamenti di grafica di Gavin Abrose e Paul Harris (2012) Don't make me think. Un approccio di buon senso all'usabilità web e mobile di Steve Krug e B.

Sansone (2014) A Project Guide to UX Design: For user experience designers in the field or in the making di Russ

Unger (2009)

Sussidi didattici: Slide

     

Modulo 2.2 La modellazione database e la progettazione DBMS Il modulo ha come obiettivi la progettazione di database relazionali, e la concreta realizzazione ed utilizzo di un database tramite My SQL.

Obiettivi specifici:

Acquisire le conoscenze necessarie a progettare un database relazionale Acquisire i fondamenti del linguaggio SQL

Durata: 32 Ore

Conoscenze da acquisire (sapere):

Cosa si intende per Data Base e da cosa è formato. I passi per la sua progettazione. La sintassi del linguaggio SQL (Creare oggetti di database, Creare e modificare tabelle tramite

sintassi SQL, Oggetti e classi, Creare e modificare viste, Creare e modificare vincoli, Eseguire query di dati tramite istruzioni SELECT, Implementare sottoquery, Implementare tipi di dati, Implementare le query aggregate, Creare e modificare stored procedure, Modificare dati tramite istruzioni INSERT, UPDATE e DELETE, Combinare set di dati, Utilizzare le funzioni, Risoluzione di problemi e ottimizzazione, Ottimizzare le query)

Competenze da acquisire (saper fare, abilità):

Capacità di descrivere la realtà di interesse in modo concettuale, relazionale e fisico. Adottare strumenti e procedure per la progettazione funzionale della base dati. Funzioni e linguaggi dei Data Bases relazionali Progettare un database, con le sue relazioni, chiavi, indici e constraint Interrogare e modificare un database tramite linguaggio SQL

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Introduzione ai Data Base. I passi per la sua progettazione

ud.2 La modellazione concettuale: lo schema E-R, il diagramma delle classi UML

ud.3 La modellazione logica: il modello relazionale

ud.4 Passaggio schema concettuale - schema relazionale

ud.5 Lo schema fisico

ud.6 L’utilizzo del linguaggio SQL

Indicatori di padronanza delle competenze acquisite:

livello di comprensione dei vari passi del percorso progettuale di un Data Base livello di abilità nell' uso di SQL

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

      Bibliografia e sitografia di riferimento:

Basi di dati - Atzeni, Ceri, Paraboschi, Fraternali, Editore : McGraw-Hill Education; 4 edizione (febbraio 2014)

www.oracle.com Welcome to Oracle Ruocchio Editore : Lulu.com (ottobre 2011)

Sussidi didattici: Slide

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     

Modulo 3.1 I linguaggi di programmazione ad oggetti, Java Il modulo ha gli obiettivi di presentare un’introduzione ai linguaggi ad oggetti, con un concreto approfondimento su JAVA.

Obiettivi specifici:

implementare struttura e elementi di una classica applicazione desktop; creare classi, definire l'interfaccia, creare e usare collection; utilizzare l'ereditarietà per creare una gerarchia di classi; leggere e scrivere dati tramite file I/O e stream; utilizzare entity data model; interrogare dati remoti tramite JDBC; creare una interfaccia utente tramite XAML; integrare librerie e componenti dinamici.

Durata: 32 Ore

Conoscenze da acquisire (sapere):

Principi di programmazione a oggetti Sintassi del linguaggio JAVA

Competenze da acquisire (saper fare, abilità):

Creare un programma desktop in JAVA utilizzando il modello OOP.

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Java: struttura di un programma

ud.2 Java: tipi di dato primitivi e la dichiarazione di una variabile

ud.3 Java: strutture di controllo

ud.4 Java: arrays mono e multidimensionali

ud.5 Java: creazione di una classe e di oggetti

ud.6 Java: classi predefinite

ud.7 Java: l'ereditarietà e l'organizzazione delle classi nel mondo Java

ud.8 Java: classi abstract, interfaces

ud.9 Java: le eccezioni e la loro gestione

Indicatori di padronanza delle competenze acquisite:

Livello di abilità nell’uso del linguaggio

 

      Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

www.oracle.com Java: The Complete Reference – Schildt - McGraw - Hill Education, nona edizione (aprile 2014)

Sussidi didattici: Slide

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     

Modulo 3.2 La relazione delle applicazioni con i database Il modulo ha l’obiettivo di approfondire il linguaggio Java con particolare attenzione all’interfacciamento con i database.

Obiettivi specifici:

I Data Provider I Componenti di accesso ai dati Programmazione e database con JDBC Introduzione ai sistemi di Object Relational Mapping (ORM) con particolare riferimento alle Java

Persistence API (JPA) Introduzione ai Session Bean (EJB 3.0)

Durata: 56 Ore

Conoscenze da acquisire (sapere):

Le tecnologie di accesso ai dati con JDBC Interfacciamento ad un database tramite JPA

Competenze da acquisire (saper fare, abilità):

Capacità di realizzare un’applicazione di connessione ad un database

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Architettura di accesso ai dati.

ud.2 La tecnologia JDBC

ud.3 L’interazione con un RDBMS

ud.4 L’utilizzo di JPA per l’Object Relational Mapping

Indicatori di padronanza delle competenze acquisite:

Capacità di configurare l’accesso ad un RDBMS Capacità di creare query Entity Bean con JPA

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

JDBC: Practical Guide for Java Programmers (The Practical Guides), Gregory D. Speegle (2001) Jdbc Api Tutorial and Reference, Maydene Fisher e Jon Ellis (2003) Java JDBC, lavorare con i database: appunti di un programmatore per programmatori

(Programmazione Vol. 12), Christian Palazzo (2017)

Sussidi didattici: Slide

 

      

Modulo 3.3 - Creazione di applicazioni su modello MVC Introduzione al modello MVC (Model View Controller), e la sua applicazione nella realizzazione di componenti web in Java EE (Servlet, JSP).

Obiettivi specifici:

Progettare l'architettura di una applicazione web per rispondere a specifici requisiti funzionali e di interfaccia;

Creare MVC Models; Aggiungere Controller ad una applicazione MVC; Creare Views in una applicazione MVC; Scrivere un web service e richiamarlo da una applicazione MVC; Creare un’applicazione web utilizzando il framework STRUTS come modello di implementazione

del pattern MVC Descrivere come distribuire una web application Java MVC su un web server

Durata: 64 Ore

Conoscenze da acquisire (sapere):

Il modello MVC L’implementazione di MVC Interfacciamento con il lato client

Competenze da acquisire (saper fare, abilità):

Creare un’applicazione Java web basata sul modello MVC

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Il pattern MVC. Gli altri pattern fondamentali (Front Controller, Proxy, Singleton, …)

ud.2 STRUTS

ud.3 Definire e descrivere servizi web.

ud.4 La distribuzione di una web application

Indicatori di padronanza delle competenze acquisite:

Capacità di progettare casi d’uso in un contesto MVC Capacità di definire ed implementare API di servizi Web Capacità di eseguire il deploy di un’applicazione su un web conteiner java

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

Professional Java for Web Applications, Nicholas S. Williams (2014)

      Professional Java EE Design Patterns, Murat Yener e Alex Theedom (2015) Struts in Action: Building Web Applications With the Leading Java Framework (Inglese) George

Franciscus, Cedric Dumoulin, David Winterfeldt, Ted Husted (2002) Javascript & jQuery: Interactive Front-End Web Development, Jon Duckett e Gilles Ruppert

(2014)

Sussidi didattici: Slide

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     

Modulo 3.4 – Introduzione alla Function Point Analisys Il modulo ha l’obiettivo di introdurre all'utilizzo della stima della dimensione di un software utilizzando il metodo dei Function Points.

Obiettivi specifici:

Conoscere le basi della misurazione del software. Essere in grado di effettuare misure in Function Point. Saper interpretare i risultati ottenuti dalla misura. Saper distinguere ed usare appropriatamente misure funzionali e misure tecniche del software.

Durata: 32 Ore

Conoscenze da acquisire (sapere):

Conoscere le basi della misurazione funzionale Saper distinguere ed usare appropriatamente misure funzionali e misure tecniche del software Inquadrare il processo di misura nel contesto del governo e del process improvement dell’ICT Comprendere la metodologia IFPUG Conoscere il processo di conteggio dei Function Point, e le diverse tipologie di Conteggio

Competenze da acquisire (saper fare, abilità):

Applicare la tecnica Function Point Analysis a contesti specifici Essere in grado di effettuare misure in Function Point secondo la versione scelta Saper interpretare in maniera corretta i risultati ottenuti dalla misura Dimensionamento delle Funzioni Dati: ILF e EIF Dimensionamento delle Funzioni Transazionali: EI; EQ; EO

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Funzioni di Tipo Dati (ILF, EIF); definizioni e regole

ud.2 Funzioni di Tipo Transazionale (EI, EQ, EO); definizioni e regole

ud.3 Calcolo del valore di aggiustamento

ud.4 Formule di conteggio

Indicatori di padronanza delle competenze acquisite:

Capacità di effettuare misure in Function Point Capacità di applicare la tecnica Function Point Analysis a contesti specifici

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

      Function Point Analysis: Measurement Practices for Successful Software Projects, David Garmus

e David Herron (2000) It Measurement: Practical Advice from the Experts, International Function Point Users Group e

Ed Yourdon (2002)

Sussidi didattici: Slide

 

     

Modulo 4.1 – Metodologie, modalità e strumenti per il collaudo e testing

del sistema e aspetti legati alla sicurezza Il modulo ha gli obiettivi di presentare una panoramica delle tecniche ed aspetti generali legati al debug e alla sicurezza delle applicazioni.

Obiettivi specifici:

Tecniche di debug in visual studio Utilizzo dello Unit Testing Principi di un’applicazione robusta e sicura

Durata: 40 Ore

Conoscenze da acquisire (sapere):

Tecniche di debug Utilizzo dello Unit Testing Introduzione alla prevenzione di attacchi SQL Injection e D.O.S.

Competenze da acquisire (saper fare, abilità):

Realizzare un debug e il miglioramento di un’applicazione tramite unit testing

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 Il debugging

ud.2 Principi di test del software

ud.3 Il test di unità. Altri tipi di test (non regressione, sicurezza, carico, …).

ud.4 I principali tipi di attacco da cyber criminali e le contromisure tipiche da adottare

Indicatori di padronanza delle competenze acquisite:

Capacità di debugging di codice Capacità di progettazione ed esecuzione di test di unità Capacità di progettare contromisure per attacchi DOS e SQL Injection

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

Managing the Testing Process, 3rd Edition (2009) Design Driven Testing (2010)

Sussidi didattici: Slide

 

      

Modulo 5.1 – Sicurezza sul lavoro Il corso ha l’obiettivo di far acquisire ai lavoratori le nozioni di base della sicurezza sul lavoro in osservanza e ai sensi dell’art. 37 comma 2 del Testo Unico (D.Lgs. n. 81/2008) ed in conformità all’Accordo Stato Regioni del 21/12/2011 pubblicato nella Gazzetta Ufficiale n. 8 dell’11/01/2012.

Obiettivi specifici:

Conoscenza delle caratteristiche del posto di lavoro e dei rischi ad esso connessi; rispetto costante delle misure di prevenzione e sicurezza

Durata: 8 Ore

Conoscenze da acquisire (sapere):

I rischi connessi alla propria mansione/posto di lavoro;

Competenze da acquisire (saper fare, abilità):

Le misure di prevenzione collettiva presenti sul posto di lavoro

Modalità formative: Lezione frontale, esercitazioni guidate

Modalità di valutazione:

Test a risposte multiple

Unità didattiche:

Cod. Titolo unità didattica

ud.1 La sicurezza sui luoghi di lavoro – formazione di base

ud.2 Uso di videoterminali: aspetti di sicurezza sul lavoro

ud.3 Altri rischi specifici nel settore informatico

Indicatori di padronanza delle competenze acquisite:

Riduzione dei casi di infortunio e malattia professionale

Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva

Bibliografia e sitografia di riferimento:

D. Lgs 81/08 e s.m.; D. Lgs 106/09 e s.m. http://www.lavoro.gov.it/AreaLavoro/saluteSicurezza/pages/default.aspx

Sussidi didattici: Slide

 

 

 

 

 

      

Modulo 5.2 – Inglese tecnico di settore Il modulo vuole mettere la risorsa in grado di fruire delle principali conoscenze del linguaggio tecnico inerenti gli ambienti informatici. In quest’ottica, il modulo permette di conoscere la terminologia tipica del settore ed il significato delle principali sigle tecniche in lingua Inglese. • Obiettivi specifici:

Fornire le conoscenze per la corretta acquisizione e documentazione (modellazione) dei requisiti, funzionali e non, che il Cliente richiede vengano soddisfatti

• Durata: 38 Ore • Conoscenze da acquisire (sapere):

Raggiungere un buon grado di dimestichezza nell’utilizzo della lingua straniera durante il processo di fruizione/elaborazione dei contenuti

• Competenze da acquisire (saper fare, abilità):

Essere in grado di leggere ed utilizzare il gergo tecnico del settore informatico. • Modalità formative: Lezione frontale, esercitazioni guidate, prove pratiche. • Modalità di valutazione: Test a risposte multiple. • Unità didattiche:

u.d 1

English for computers (Computer Essentials, Inside the System, Capturing Images, Magnetic storage, Input/Output Devices, Flash Memory)

u.d. 2

Il gergo tecnico del server e del web (The Operating System (OS), Word Processing (WP), Spreadsheets and Databases, Desktop Publishing, Multimedia and the Web, Web Design, Web Server, Internet Security)

• Indicatori di padronanza delle competenze acquisite: Capacità di interpretare correttamente testi tecnici Capacità di scrivere un breve testo tecnico usando la corretta terminologia informatica

• Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva Video, Handout

• Bibliografia e sitografia di riferimento:

Infotech: English for Computer Users – Cambridge Professional English English for Information Technology – Pearson Longman Oxford English for Information Technology – Oxford University Press http://www.english4it.com/ http://www.pearsonlongman.com/technicalenglish/ http://www.myeducationkey.com/subject/computer-science.htm

      • Sussidi didattici: Slide, Video, Handout

Modulo 5.3 – Introduzione al Project Management Il modulo ha l’obiettivo di fornire le conoscenze fondamentali per gestire progetti/programmi, Il adottando l’approccio per processi di Project Management e fornisce tutte le informazioni per gestire correttamente un progetto (ed i relativi template). È sviluppato seguendo le logiche del PMBOK, ovvero esaminando tutte le problematiche connesse con la gestione progetti seguendo lo sviluppo dello stesso secondo le fasi di avvio, pianificazione, esecuzione, controllo e chiusura.

• Obiettivi specifici:

Fornire la definizione delle attività per la gestione di progetti IT stimando budget e costi.

• Durata: 40 Ore • Conoscenze da acquisire (sapere):

come operare la stima e determinare la durata delle attività progettuali fino alla costruzione ed ottimizzazione del reticolo di schedulazione delle stesse (Network Diagram).

come stimare i costi nelle fasi di definizione del budget di progetto per poi procedure al controllo economico dello stesso attraverso la metodologia dell'Earned Value.

come assicurare la qualità del prodotto e del processo attraverso la pianificazione e l'approntamento di sistemi di misura e di controllo.

come gestire il capitale umano a partire dalle fasi iniziali di team building mettendo a frutto quelle componenti di soft-skills che sono assolutamente indispensabili in questo contesto.

come impostare i processi di comunicazione fin dalle fasi iniziali attraverso un sapiente utilizzo degli strumenti di reporting e una gestione professionale delle relazioni con i vari stakeholders.

come identificare e classificare i rischi e le opportunità progettuali per poterne valutare l'incidenza in termini qualitativi e quantitativi e quindi stabilire e monitorare le azioni di contrasto preventive e non.

come gestire l'intero ciclo di approvvigionamento (dalla stipula alla chiusura) adottando le forme contrattuali più idonee in funzione della natura dell'incarico e del ruolo assegnato al fornitore.

illustrazione degli obblighi professionali e soprattutto etici cui un Project Manager deve adempiere nel pieno rispetto della propria qualifica e dei diversi interessi di cui gli stakeholders sono portatori.

• Competenze da acquisire (saper fare, abilità):

Gestione dell’integrazione di progetto Gestione dell’ambito di progetto Gestione dei tempi di progetto Gestione dei costi Gestione della qualità Gestione delle risorse umane di progetto Gestione della comunicazione di progetto Gestione dei rischi di progetto Gestione dell'approvvigionamento di progetto.

• Modalità formative: Lezione frontale, esercitazioni guidate, prove pratiche. • Modalità di valutazione: Test a risposte multiple.

      • Unità didattiche:

u.d 1

Gestione dell’integrazione di progetto

Sviluppare il Project Charter Sviluppare la descrizione preliminare dell'ambito del progetto Sviluppare il piano di Project Management Dirigere e gestire l'esecuzione del progetto Monitorare e controllare il lavoro del progetto Controllo integrato delle modifiche Chiudere il progetto

Gestione dell'ambito del progetto

Pianificazione dell'ambito Definizione dell'ambito Creare la WBS Verifica dell'ambito Controllo dell'ambito

u.d. 2

Gestione dei tempi di progetto

Definizione delle attività Sequenzializzazione delle attività Stima delle risorse delle attività Stima della durata delle attività Sviluppo della schedulazione Controllo della schedulazione

Gestione dei costi di progetto

Stima dei costi Allocazione dei costi Controllo dei costi

• Indicatori di padronanza delle competenze acquisite: Capacità di gestire un progetto armonizzando costi, tempo e qualità

• Attrezzature e tecnologie impiegate:

Postazione docente con pc Postazioni Allievi con PC Lavagna interattiva Video, Handout

• Bibliografia e sitografia di riferimento:

     “A Guide to the Project Management Body of Knowledge (PMBOK® Guide) - 5th Edition, PMI Project Management Institute e American National Standards Institute (ANSI), 2014”.

• Sussidi didattici: Slide, Video, Handout