Asforil s.r.l. - Via Zanoli, 12-20161 Milano Tel. +39 0236550237 fax. +39 0299981800 Email: info@asforil.net asforil@pec.it Web: http://www.asforil.net - P.IVA 06215610962 Corso Programmatore Object Oriented per Web e App. ISO 9001:2008 Certificato n. 6569
1 Introduzione Moltissime software house, aziende di primaria importanza, enti pubblici e strutture statali cercano con insistenza personale in grado di sviluppare software object oriented con uso di data base come Oracle per ambienti Web utilizzabile da diverse tipologie di dispositivi come Desk Top, Tablet, Smart Phone. Questo tipo di applicazioni software sono quasi sempre usufruibili da browser (es. Microsoft Edge, Google Crome, Mozilla Firefox, Apple Safari, Opera, ) o direttamente da APP che si installano sui Tablet e Smart Phone o anche sui PC. L architettura applicativa di questi software è tipicamente client server perciò bisogna avere competenze su molti pattern, paradigmi e conoscere diversi Framework e data base. Uno schema applicativo è quello illustrato di seguito per una tipica applicazione Web utilizzata tramite Browser. tanti Client http Request Server remoto o Cloud Application Web Server Http Frameworks Internet http Response Applicazione Web Data Base Come si vede l architettura è complessa ed è indispensabile acquisire le conoscenze di tutti gli ambienti oltre al Paradigma Object Oriented che è la base di tutto ed un linguaggio di programmazione ad oggetti come Java. In particolare: 1. Lato Client è indispensabile conoscere: HTML5, CSS3, Javascript e opzionalmente alcuni framework come Bootstrap, JQuery (con JQueryUI e Validator), Angular e/o altro; 2. Lato Server tipicamente bisogna conoscere: l ambiente Apcache http - Tomcat come Application Web Server; il Framework Java Spring MVC (Model-View-Controller); opzionalmente il Framework Hibernate; il linguaggio di interrogazione dei data base relazionali SQL; i data base Oracle con PL/SQL e MySql; 3. Eclipse: come IDE per sviluppare in Java con Spring o Javascript. Queste conoscenze, insieme alle metodologie agili che verranno illustrate al corso, permetteranno di acquisire le competenze necessarie per diventare un Programmatore Object Oriented per Web e App. Pagina 2 di 5
2 Destinatari I destinatari del progetto formativo sono tutti quelli che possedendo i seguenti requisiti: 1. buon uso del personal computer; 2. buon uso di Internet, Posta Elettronica, motori di ricerca e Social Network; 3. buona capacità di astrazione e logica e possibilmente conoscenza di almeno un linguaggio di programmazione; 4. buona capacità di: a. analisi e soluzione di problemi, b. di esposizione verbale e scritta sia di argomenti tecnici che generali; c. ascolto e comprensione; siano interessati a seguire il percorso formativo garantendone frequenza ed impegno. Possono perciò andar bene diplomati e/o laureati o persone che hanno acquisito con il lavoro capacità e conoscenze equivalenti. Preferibilmente si dovrebbero scegliere: diplomati in istituti tecnici informatici o ragionieri programmatori; laureati in Informatica, in Ingegneria Informatica o Ingegneria Gestionale. La selezione dovrebbe avvenire, dopo l analisi e selezione dei curricula, tramite un colloquio tecnico con eventuale somministrazione di test logici. Ai discenti verrà chiesto di portare in aula il loro notebook, ciò favorisce la familiarizzazione con i vari prodotti e Framework da installare su un personal computer adibito a sviluppo software. E consigliabile avere un PC con almeno 4 GB di memoria (meglio 8), processore Intel I5 o I7, Hard disk con 300 GB liberi e sistema operativo Windows 10 o 8.1 o 7. Nel caso il discente non avesse la possibilità di portare il proprio notebook gli verrà fornito un desktop adeguato alle esigenze. Pagina 3 di 5
3 Percorso Formativo il percorso formativo ha una durata di 220 ore ed è costituito dai seguenti moduli. Paradigma Object Oriented Ore: 40 tra lezioni (10) ed esercitazioni pratiche (30). Attraverso esempi pratici verranno illustrate le caratteristiche degli oggetti e delle classi con le principali relazioni e la gestione delle eccezioni. Si acquisirà il linguaggio di programmazione Java e le principali librerie di classi. Per le lezioni ed esercitazioni si useranno diagrammi UML, Eclipse con Java, Maven e Junit. Gli esempi verranno gestiti tramite metodologia Agile. La verifica dell apprendimento verrà effettuata tramite il riscontro oggettivo della correttezza dei modelli creati dagli allievi ed il funzionamento delle librerie di classe realizzate e testate con Junit. Data Base: Oracle, JDBC Ore: 40 tra lezioni (10) ed esercitazioni pratiche (30). Attraverso esempi pratici verranno illustrati il concetto base di Entità e Relazioni e i linguaggi DDL e DML generici. Si passerà quindi ad illustrare il funzionamento di Oracle, la creazione di uno schema, i ruoli e i grant, la creazione di tabelle, la creazione di relazioni, troncare e/o eliminare tabelle, creazione di viste, creazione di indici e l uso dell SQL standard (Select, Insert, Update, Delete) e gli schemi di Join. Uso del data base Java tramite JDBC e definizione delle stored procedure in PL/SQL. Introducendo l uso di Oracle da Java verrà illustrata la problematica della persistenza dei dati evidenziando le differenze tra un modello Object Oriented ed uno schema E/R. Applicazione lato Client Ore: 60 tra lezioni (15) ed esercitazioni pratiche (45). Dopo aver illustrato l architettura generale delle applicazioni Internet, attraverso esercizi si acquisiscono le conoscenze e le tecniche di auto apprendimento su: HTML 5, CSS 3, Javascript con cenni a JQuery, Bootstrap, JQueryUI e JQueryValidate. Al termine del modulo gli allievi saranno in grado di realizzare applicazioni lato Client con interfacce utente legate al contesto e adattabili automaticamente ai vari dispositivi. Con l uso di Javascript e acquisiranno le capacità di manipolazione dinamica delle interfacce e sapranno realizzare oggetti Javascript riutilizzabili. Spring MVC Framework Ore: 80 tra lezioni (20) ed esercitazioni pratiche (60). Viene illustrato il Framework Spring MVC dettagliando l architettura di un applicazione MVC(Model- View-Controller) con gestione della persistenza tramite l uso del Data Base Relazionale Oracle. Dopo aver dettagliato i concetti di Model View Controller e le relazioni tra essi, attraverso esempi ed esercitazioni pratiche verranno realizzate applicazioni Web con View utilizzanti HTML 5, CSS 3, Javascript. A complemento verrà descritto ed usato nelle esercitazioni Ajax e verranno anche illustrate le tecniche REST per i Web Services e le Api e lo scambio di dati in formato JSON. Pagina 4 di 5
4 Metodologia e valutazione La metodologia di insegnamento che verrà adottata è basata sulla simulazione di uno o più gruppi di progetto software. Il docente, che funge da capo progetto, fornirà agli allievi i requisiti Utente di un determinato Cliente. Gli allievi dovranno definire la soluzione software da implementare definendo i diagrammi statici delle classi, i casi d uso e la descrizione delle azioni previste in ogni classe individuata, il modello Entità Relazione del data base da utilizzare e il modello dell interfaccia utente (quando necessario). La soluzione sarà presentata al Capo Progetto (Docente) che l approverà o farà apportare correzioni. Quando la soluzione è accettata dal Capo Progetto ogni allievo dovrà implementarla in toto o solo la parte assegnata dal docente. L insegnamento teorico viene somministrato durante l illustrazione delle richieste del Cliente (Metodologia Agile di Analisi) e durante la fase di progettazione e realizzazione dell applicazione software. La valutazione avverrà tramite un giudizio sugli elaborati (diagrammi e documenti di specifiche tecniche) e sulla constatazione che l applicazione funzioni in tutte le parti o solo in parte. Pagina 5 di 5