K-tech formazione e corsihttp://www.k-tech.it/page/catalogoCorsi di K-Tech: RSS per rimanere informati sulle novità e nuove edizioni dei corsi di formazione enterprise erogati di K-Tech.it-ITThu, 20 Sep 2012 09:42:06 -0000 Corso APM - Application Performance Management http://www.k-tech.it/formazione/apm-application-performance-management

Corso APM - Application Performance Management (cod. ktampj)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 3 giorni

Il corso APM - Application Performance Management illustra la disciplina della gestione delle performance applicative per un tipico sistema distribuito basato sulla Java Enterprise Edition (JEE).

Utilizzando le tecniche e gli strumenti dell'Application Performance Management si evitano i problemi di performance che impediscono agli utenti di usufruire di un servizio on-line. I malfunzionamenti vengono individuati, isolati, circoscritti e diagnosticati con precisione prima che diventino bloccanti per la fruizione del servizio, così da evitare le conseguenze economiche legate al disservizio.

Ogni modulo spiega i concetti, le tecniche e gli strumenti necessari ad implementare una valida soluzione per il monitoraggio applicativo così da soddisfare le aspettative del business e degli utenti. Gli esempi e gli esercizi presentano situazioni reali dove il partecipante, applicando il metodo e gli strumenti opportuni, arriva velocemente all'obiettivo, che sia esso la veloce individuazione di un problema o la certificazione della scalabilità di un applicativo on-line.

Obiettivi

Al termine del corso APM - Application Performance Management i partecipanti saranno in grado di:

  • Identificare i punti cardine della disciplina APM
  • Progettare ed implementare una soluzione di monitoraggio in produzione
  • Descrivere ed applicare il metodo per l'Incident Management
  • Individuare e descrivere i punti critici per le performance di una tipica architettura distribuita
  • Riconoscere e catalogare i diversi tipi di problemi
  • Decidere lo strumento più adatto da utilizzare per ogni tipo di problema

 

A chi è rivolto

Il corso APM - Application Performance Management si rivolge a coloro che sono coinvolti nello sviluppo e nella gestione del software in produzione: architetti, sviluppatori, Quality Assurance (Q/A), responsabili applicativi, responsabili dei servizi business ed amministratori di sistema.

Prerequisiti

Per partecipare al corso APM - Application Performance Management è necessario avere una formazione scientifica, aver lavorato nello sviluppo o nella manutenzione di un software. E' preferibile avere delle nozioni di programmazione Java e della versione Enterprise JEE.

Moduli

Il corso APM - Application Performance Managementè composto da dodici moduli:

  1. Introduzione
  2. La gestione delle performance applicative
  3. Il metodo per l'Incident Management
  4. Gli strumenti
  5. Le misure -  gli indicatori -  gli allarmi
  6. Criticità tipiche in ambito JEE
  7. La pianificazione del monitoraggio in produzione
  8. Un approccio Agile
  9. Problemi applicativi consistenti
  10. Problemi applicativi progressivi
  11. Problemi applicativi periodici
  12. Problemi applicativi improvvisi

 

Letture Consigliate

Programma Completo

1. Introduzione

  • Scenario tipico di produzione
  • Gli attori coinvolti
  • Le architetture
  • Sistemi complessi
  • Definizioni e Glossario

2. La gestione delle performance applicative

  • Le performance
  • Il monitoraggio
  • I test
  • L'analisi dei dati
  • Gli interventi migliorativi

3. Il metodo per l'Incident Management

  • Scopo
  • Limiti di applicabilità
  • Fasi
  • Prerequisiti

4. Gli strumenti

  • Tipi di strumenti
  • Strumenti a disposizione degli ASA
  • Strumenti per gli sviluppatori
  • Strumenti per i tester

5. Le misure -  gli indicatori -  gli allarmi

  • I sistemi complessi
  • Come misurare le performance dei componenti
  • Indicatori principali e gli anticipatori
  • Reagire e/o anticipare
  • Avvisi e allarmi

6. Criticità tipiche in ambito JEE

  • Descrizione dello standard JEE
  • La JVM ed il suoi moduli interni
  • Criticità tipiche della JVM
  • Criticità tipiche dell' AS JEE
  • Criticità tipiche dei backend

7. La pianificazione del monitoraggio in produzione

  • Il processo
  • Identificare i componenti
  • Identificare le metriche
  • I livelli
  • Gli avvisi
  • Dimensionare gli strumenti

8. Un approccio Agile

  • Il manifesto ed i principi del movimento Agile
  • Come e quando applicarlo con successo all'APM
  • Le motivazioni
  • Il cambiamento
  • La comunicazione
  • La velocità

9. Problemi applicativi consistenti

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

10. Problemi applicativi progressivi

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

11. Problemi applicativi periodici

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

12. Problemi applicativi improvvisi

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/apm-application-performance-management
Corso Code Refactoring http://www.k-tech.it/formazione/corso_code_refactoring

Corso Code Refactoring (cod. ktcore)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Refactoring è il processo di cambiamento su un Sistema Software che non altera il comportamento esterno del codice, ma ne migliora la struttura interna. È un modo disciplinato per "pulire" il codice minimizzando così le possibilità di introdurre bugs.

Applicando il Refactoring si ottengono una serie di trasformazioni al sistema tali che:

  • non si altera il comportamento atteso ("passano" tutti i test)
  • si rimuove il codice duplicato
  • si rimuovono le complessità non necessarie
  • si aumenta la qualità del Software
  • si rende il codice più comprensibile
  • si rende  il codice più flessibile
  • si rende il codice più semplice da modificare

 

Obiettivi

Il corso di Code Refactoring ha l'obiettivo di mostrare ai partecipanti i diversi approcci al refactoring: preventivo e correttivo.

Particolare attenzione verrà posta nell'identificazione e rimozione dei code smells (indizi di ciò che non va nel codice) mediante le principali tecniche di Refactoring.

A chi è rivolto

Il corso di Code Refactoring si rivolge a designer e sviluppatori.

Prerequisiti

I partecipanti devono possedere una discreta esperienza di programmazione in un linguaggio strutturato e conoscenza delle basi di programmazione orientata agli oggetti.

 

Moduli

Il corso di Code Refactoring si compone di nove moduli:

  1. Introduzione
  2. Tecniche per la composizione di metodi
  3. Tecniche per lo spostamento fra oggetti
  4. Tecniche per l'organizzazione dei dati
  5. Tecniche per la semplificazione di espressioni condizionali
  6. Tecniche per la semplificazione di invocazioni di metodi
  7. Tecniche per la gestione delle generalizzazioni
  8. Code smell
  9. Supporto degli IDE al Refactoring

 

Letture Consigliate

Per completare il percorso formativo, si consiglia di leggere uno dei seguenti libri:

  • Refactoring to patterns (Kerievsky) [libro cartaceo]
  • Refactoring: Improving the Design of Existing Code (Fowler, Bech, Brant) [libro cartaceo]

 

Programma Completo

1. Refactoring

  • Un po' di storia
  • Definizione di Refactoring
  • Obiettivi del Refactoring
  • Prerequisiti per fare Refactoring
  • Importanza e conseguenze del Refactoring
  • Quando fare Refactoring
  • Quando non fare Refactoring
  • Classificazione delle tecniche di Refactoring

2. Composizione di metodi

  • Extract Method
  • Inline Method
  • Inline Temp
  • Replace Temp with Query
  • Introduce Explaining Variable
  • Split Temporary Variable
  • Remove Assignments to Parameters
  • Replace Method with Method Object
  • Substitute Algorithm

3. Spostamenti fra oggetti

  • Move Method
  • Move Field
  • Extract Class
  • Inline Class
  • Hide Delegate
  • Remove Middle Man
  • Introduce Foreign Method
  • Introduce Local Extension

4. Organizzazione dei dati

  • Self Encapsulate Field
  • Replace Data Value with Object
  • Change Value to Reference
  • Change Reference to Value
  • Replace Array with Object
  • Change Unidirectional Association to Bidirectional
  • Change Bidirectional Association to Unidirectional
  • Replace Magic Number with Symbolic Constant
  • Encapsulate Field
  • Encapsulate Collection
  • Replace Record with Data Class
  • Replace Type Code with Class
  • Replace Type Code with Subclasses
  • Replace Subclass with Fields

5. Semplificazione di espressioni condizionali

  • Decompose Conditional
  • Consolidate Conditional Expression
  • Consolidate Duplicate Conditional Fragments
  • Remove Control Flag
  • Replace Nested Conditional with Guard Clauses
  • Replace Conditional with Polymorphism

6. Semplificazione di invocazioni di metodi

  • Rename Method
  • Add Parameter
  • Remove Parameter
  • Separate Query from Modifier
  • Parameterize Method
  • Replace Parameter with Explicit Methods
  • Preserve Whole Object
  • Replace Parameter with Method
  • Introduce Parameter Object
  • Remove Setting Method
  • Hide Method
  • Replace Constructor with Factory Method
  • Encapsulate Downcast
  • Replace Error Code with Exception
  • Replace Exception with Test

7. Gestione delle generalizzazioni

  • Pull Up Field
  • Pull Up Method
  • Pull Up Constructor Body
  • Push Down Method
  • Push Down Field
  • Extract Subclass
  • Extract Superclass
  • Extract Interface
  • Collapse Hierarchy
  • Form Template Method
  • Replace Inheritance with Delegation
  • Replace Delegation with Inheritance

8. Code smell

  • Duplicated Code
  • Long Method
  • Large Class
  • Long Parameter List
  • Divergent Change
  • Shotgun Surgery
  • Parallel Inheritance Hierarchies
  • Feature Envy
  • Data Clumps
  • Primitive Obsession
  • Switch Statements
  • Lazy Class
  • Speculative Generality
  • Temporary Field
  • Message Chains
  • Middle Man
  • Inappropriate Intimacy
  • Alternative Classes with Different Interfaces
  • Incomplete Library Class
  • Data Class
  • Refused Bequest
  • Comments

9. Supporto degli IDE al refactoring

  • Tool di refactoring di Eclipse
  • Tool di refactoring di IntelliJ IDEA
  • Plugin di refactoring
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_code_refactoring
Corso DB Modelling http://www.k-tech.it/formazione/corso_db_modelling

Corso DB Modelling (cod. ktdbm)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 3 giorni

Nel corso di DB Modelling vengono esposti i principi base della modellazione dei DB relazionali.

La modellazione dei dati è una tecnica utilizzata per illustrare come le informazioni sono, o dovrebbero essere, memorizzate all'interno di un sistema.

Il corso prevede una parte teorica ed una pratica. Partendo dalla definizione di 'modello', se ne vedranno gli elementi base, se ne descriveranno gli schemi e le notazioni, si faranno dei laboratori con esempi realistici.

Questo corso non è legato ad alcun prodotto software commerciale.

Obiettivi

Il corso DB Modelling ha come obiettivo quello di trasmettere ai partecipanti i concetti della modellazione e progettazione dei DB relazionali.

I partecipanti acquisiranno la capacità di analizzare un problema semplice e la successiva formalizzazione e modellazione del relativo database.

A chi è rivolto

Il corso di DB Modelling si rivolge sia ad architetti, progettisti, analisti e sia a coloro che sono coinvolti nella fase di implementazione del software, come i  programmatori.

Prerequisiti

Per partecipare al corso di DB Modelling è necessaria  una formazione scientifica, possedere delle nozioni di programmazione in qualunque linguaggio e avere delle basi di SQL.

Moduli

Il corso di DB Modelling è composto da otto moduli:

  1. Modellare
  2. Elementi di base
  3. Requisiti
  4. Disegno
  5. Notazione avanzata
  6. Normalizzazione
  7. Data Warehouse
  8. DB Refactoring

 

Letture Consigliate

Prima e dopo il corso è consigliabile la lettura di uno dei seguenti testi:

  • Architetture e linee di evoluzione 2/ed (Atzeni, Ceri) [libro cartaceo]
  • Modelli e linguaggi di interrogazione 2/ed (Atzeni, Ceri) [libro cartaceo]
  • Data Modelling Essentials (Simsion Witt) [libro cartaceo]
  • Physical DataBase Design (Sam Lighstone, Toby Teorey, Tom Ndeau) [libro cartaceo]
  • Data Modelling Fundamentals (Ponniah) [libro cartaceo]
  • DataBase Modelling and Design (Sam Lighstone, Toby Teorey, Tom Ndeau) [libro cartaceo]
  • Implementing Data Warehouse (Bruce Russell Ullrey) [libro cartaceo]
  • Data Modelling Theory and Practice (Simsion) [libro cartaceo]
  • Data Modelling Made Simple (Hoberman) [libro cartaceo]

 

Programma Completo

1. Modellare

  • La conoscenza
  • Il nuovo ordine
  • Perché modellare
  • Modellare=?
  • Modellare=Comunicare
  • Concetto essenziale
  • Ciclo di vita di una base dati
  • Modellare un Sistema vs Base Dati

2. Elementi di Base

  • Dato
  • Metadato
  • Transazione
  • Modelli di Dati
  • L'importanza dei vincoli
  • Architettura
  • Classificazione dei DBMS

3. Requisiti

  • Fasi del progetto
  • Progetti e requisiti
  • Requisito
  • Requisito e progetto concettuale
  • Esercizio: caccia al requisito

4. Disegno

  • Progettazione logica e fisica
  • Il modello E/R
  • Entità, Relazioni, Attributi
  • Vincoli, Identificazione, gerarchie ISA
  • Notazioni a confronto
  • Notazione UML
  • Astrazione e Qualità del modello
  • Utilità e Limiti del modello

5. Notazione avanzata

  • Costrutti Avanzati
  • Sottotipi
  • Attributo discriminante
  • Gerarchia di sottotipi
  • Generalizzazioni
  • Stereotipi
  • Packages

6. Normalizzazione

  • Forme Normali e Normalizzazione
  • Esempi
  • Dipendenza Funzionale
  • 1° e 2° NF
  • Dipendenza Funzionale Transitiva
  • 3° NF e BCNF
  • Dipendenza multivalente
  • Dipendenza di join e 5° NF
  • Esercizi

7. Data Warehouse

  • Classificazione sistemi informatici
  • OLTP e OLAP
  • Multi-database
  • Data Warehouse
  • Rappresentazione multidimensionale
  • Progettazione del data warehouse
  • Ristrutturazione dello schema
  • Star e Snowflake schema
  • Esempi e la dimensione Tempo

8. DB Refactoring

  • SW Refactoring
  • DB Refactoring

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_db_modelling
Corso Django http://www.k-tech.it/formazione/django

Corso Django (cod. ktdja)

Chiedi informazioni su questo corso  |  Visualizza Scheda PDF

Durata del corso: 5 giorni

Django è un framework di alto livello per la creazione di applicazioni Web, basato sul linguaggio di programmazione Python. Usando Django si ottengono applicazioni sviluppate rapidamente e dal design pragmatico. Questo framework è la soluzione ideale per quei professionisti che, nonostante le deadline serrate, non intendo rinunciare alla qualità del lavoro.

Una caratteristica importante di Django è la bassa curva di apprendimento, che permette ai programmatori di essere operativi e focalizzati sullo sviluppo delle applicazioni in tempi molto brevi. Questo fondamentale risultato è frutto dell’attenzione che i creatori di Django hanno posto all’approccio pragmatico del design applicativo, unito all’implementazione del paradigma CoC (Convention over Configuration).

Oggigiorno tutte le applicazioni Web condividono una serie di caratteristiche consolidate in noti pattern (come autorizzazione e autenticazione, logging, etc...). Django offre queste  caratteristiche "out of the box" e, a differenza di altri framework, ne permette un altissimo livello di personalizzazione in caso di necessità. La sua architettura "pluggable" consente un rilevante riutilizzo non solo delle librerie ma anche di intere applicazioni.

Punti di forza:

  • Rapidità di sviluppo
  • Architettura modulare
  • Altissima possibilità di personalizzazione
  • Alta considerazione sia del design quanto dei tempi di delivery
  • Indipendente dalla piattaforma
  • Multi Database
  • Sorgenti disponibili
  • Elevato numero di plugin
  • Linguaggio di programmazione OO, solido ed elegante 
Obiettivi

Scopo del corso Django è offrire ai partecipanti le conoscenze per poter sviluppare una applicazione Web in modo autonomo. Il programma è stato formulato in modo da trasmettere sia le conoscenze di base del framework, sia l’architettura e gli strumenti principali.

A chi è rivolto

Il corso Django si rivolge a tutti coloro che sono coinvolti nel processo di sviluppo applicativo: sviluppatori software, analisti e architetti.

Prerequisiti

E’ necessaria una conoscenza base di Python, dello sviluppo Web e dei principi di programmazione a oggetti.

Moduli

Il corso Django prevede sette moduli:

  1. Django Overview
  2. Environment Setup
  3. Developing the First Application with Django
  4. The Model Layer
  5. The View Layer
  6. The Template Layer
  7. Advanced knowledge
Letture Consigliate

Per approfondire gli argomenti del corso Django è consigliabile la lettura dei seguenti testi:

  • Espressioni regolari - Pocket (Marco Beri) [libro cartaceo] 
  • Python - Pocket (Marco Beri) [libro cartaceo] 
  • The Quick Python Book (Daryl, McDonald) [libro cartaceo] 
  • Python in a Nutshell (Martelli) [libro cartaceo] 
  • Beginning Python: from novice to professional (Hetland) [libro cartaceo] 
  • Learning Python (Mark, Ascher) [libro cartaceo] 
Programma Completo

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/django
Corso GOF Design Pattern http://www.k-tech.it/formazione/corso_gof_design_pattern

Corso GOF Design Pattern (cod. ktpgof)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Un design pattern può essere definito come "la descrizione di una soluzione provata ad un problema ricorrente in un determinato contesto". In pratica un design pattern è una regola che esprime una relazione tra un contesto, un problema ed una soluzione.

Durante il corso verrà effettuata una trattazione approfondita dei design pattern della GoF (Gangs of Four) per analizzare e risolvere efficacemente complessi problemi a livello business. Lo studio di tali pattern facilita l’apprendimento di metodologie testate e comprovate per l'analisi e la risoluzione di problematiche legate all'aspetto progettuale e architetturale delle soluzioni applicative.

Obiettivi

Al termine del corso GOF Design Pattern, i partecipanti saranno in grado di capire quando sono di fronte ad un problema ricorrente, di riconoscerlo e di applicare il relativo pattern. 

Durante il corso verranno illustrati i 23 pattern GoF, dal codice alla loro implementazione. Di ognuno si analizzerà il problema ricorrente che è chiamato a risolvere, il contesto in cui il problema si colloca e la soluzione trovata.

A chi è rivolto

Il corso di GOF Design Pattern si rivolge a tutti i ruoli coinvolti nella gestione del processo di sviluppo: analisti, designer e sviluppatori.

Prerequisiti

I partecipanti al corso GOF Design Pattern, devono possedere competenze di Object Oriented (ereditarietà, polimorfismo, incapsulamento) ed avere dimestichezza con il linguaggio Java (costrutti di classi astratte e interfacce). Completano il profilo ideale nozioni di UML.

Moduli

Il corso di GOF Design Pattern è articolato in quattro moduli:

  1. Introduzione ai Design Pattern
  2. Design Pattern Creazionali
  3. Design Pattern Strutturali
  4. Design Pattern Comportamentali

Vi presentiamo un modulo del Corso in anteprima.

Letture Consigliate

Si consiglia di leggere i seguenti libri:

  • Design Patterns: Elements of Reusable Object-Oriented Software (Gamma) [libro cartaceo]
  • Head First Design Patterns (Freeman, Freeman, Sierra) [libro cartaceo]

 

Programma Completo

1. Introduzione ai Design Pattern

  • Storia dei Design Pattern
  • Definizione di Design Pattern
  • Classificazione dei Pattern Software: Pattern di Design, di Analisi, di Processo
  • Caratteristiche dei Design Pattern
  • Importanza dei Design Pattern
  • Il catalogo dei Design Pattern della Gangs of Four

2. Design Pattern Creazionali

  • ABSTRACT FACTORY
  • BUILDER
  • FACTORY METHOD
  • PROTOTYPE
  • SINGLETON

3. Design Pattern Strutturali

  • ADAPTER
  • BRIDGE
  • COMPOSITE
  • DECORATOR
  • FACADE
  • FLYWEIGHT
  • PROXY

4. Design Pattern Comportamentali

  • CHAIN OF RESPONSIBILITY
  • COMMAND
  • INTERPRETER
  • ITERATOR
  • MEDIATOR
  • MEMENTO
  • OBSERVER
  • STATE
  • STRATEGY
  • TEMPLATE METHOD
  • VISITOR
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione, avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_gof_design_pattern
Corso Ingegneria dei Requisiti http://www.k-tech.it/formazione/corso_ingegneria_dei_requisiti

Corso Ingegneria dei Requisiti (cod. ktura)

Chiedi informazioni su questo corso  | Viausalizza Scheda PDF

Durata del corso: 4 giorni

L'ingegneria dei requisiti è una branca dell'ingegneria del software che si occupa di individuare gli obiettivi, le funzioni ed i limiti dei sistemi software. In particolare il suo compito è di formalizzare, dopo averle individuate ed analizzate, le relazioni tra i diversi fattori (obiettivi, funzioni e limiti) dei sistemi per meglio descriverne il comportamento.

Durante il corso Ingegneria dei Requisiti, verranno trattate accuratamente le problematiche legate alla cattura e formalizzazione delle informazioni. Particolare attenzione sarà posta sullo studio di UML per la rappresentazione formale dei requisiti, in modo che i partecipanti ne comprendano le metodiche e siano in grado di realizzare la loro tracciatura.

Obiettivi

Ottimizzare la capacità di trasformare un progetto software in un insieme di requisiti validi, di qualità, comprensibili e condivisi con le risorse a disposizione.

I partecipanti saranno messi in grado di organizzare, dirigere ed utilizzare un processo flessibile e strutturato per la conduzione del ciclo di vita dei requisiti di progetto.

I partecipanti si confronteranno con il processo mentale della raccolta dei requisiti ed i problemi legati al linguaggio. Comprenderanno cosa sono i requisiti di un progetto ed il loro ruolo. Impareranno a riconoscere gli errori più comuni nella loro rilevazione. Faranno propri il concetto di glossario e le definizioni internazionali.

A chi è rivolto

Il corso Ingegneria dei Requisiti si rivolge ad architetti, progettisti, analisti ed a coloro che sono coinvolti nella fase di implementazione del software, quali i  programmatori.

Prerequisiti

I partecipanti al corso Ingegneria dei Requisiti devono possedere nozioni di UML, della programmazione Object Oriented e concetti di analisi.

Moduli

Il corso Ingegneria dei Requisiti è articolato in nove moduli:

  1. Il problema:premessa dell'ingegneria dei requisiti
  2. I requisiti
  3. Il processo
  4. L'analisi
  5. Lo studio di fattibilità di un sistema
  6. Il glossario
  7. Il documento di specifica (SRS)
  8. I casi d'uso
  9. La gestione dei requisiti

Vi presentiamo un modulo del programma.

Letture Consigliate

Prima di seguire il corso Ingegneria dei Requisiti si consiglia di leggere uno dei seguenti testi:

  • Software Engineering Theory and Pratice (2nd ed.) [libro cartaceo]
  • Object-Oriented Analysis and Design with Applications (Booch, Conellen) [libro cartaceo]
  • Applying Uml and Patterns (Craig Larmann) [libro cartaceo]
  • The Art of Requirements Triage (Davis, A. IEEE Computer – 2003) [libro cartaceo]
  • Writing a Requirements Document  (Tanya Berezin – 1999) [libro cartaceo]
  • Object Oriented Software Construction (Bertrand Meyer – 2000) [libro cartaceo]

 

Programma Completo

1. Il problema: premessa all'ingegneria dei requisiti

  • CHAOS Report
  • Il Valore dei Requisiti

2. I Requisiti

  • 2.I requisiti
  • Cosa sono
  • Requsiti Funzionali
  • Requisiti non funzionali
  • Requisiti di dominio

3. Il processo

  • Che cosa è l’ingegneria dei requisiti
  • Gli stackholder

4. L'analisi

  • Il linguaggio
  • la raccolta dei requisiti
  • Validazione di un requisito
  • Il Glossario
  • Il diagramma dei casi d'uso
  • I casi d'uso
  • Gli scenari

5. Lo studio di fattibilità di un sistema

  • Obiettivi
  • Le prime domande
  • I punti di vista
  • Aggregare i requisiti
  • I punti di priorità

6. Il glossario

  • Cosa è
  • Linee Guida
  • Omonimi
  • Sinonimi
  • Esempi di Glossari

7. Il documento di specifica (SRS)

  • Il documento delle specifiche
  • Definizione vs specifica

8. I Casi d'uso

  • Casi d'uso e Scenari
  • Modello e diagramma
  • Gli attori
  • Generalizzazione, inclusione ed esetensione
  • L'identificazione dei casi d'uso

9. La gestione dei requisiti

  • Requisiti duraturi
  • Requisiti volativi
  • Tracciabilità dei requisiti
  • La gestione delle modifiche dei requisiti

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_ingegneria_dei_requisiti
Corso Java Virtual Machine http://www.k-tech.it/formazione/corso_java_virtual_machine

Corso Java Virtual Machine (cod. ktjvm)

Chiedi informazioni su questo corso  |  Visualizza Scheda PDF

Durata del corso: 2 giorni

Il corso Java Virtual Machine si propone di descrivere l'architettura della Sun HotSpot JVM 5 ed i principali meccanismi di funzionamento. Dalla compilazione alla garbage collection, passando per il class loading e per le componenti di una JVM.

Nella prima parte del corso si descriveranno tutte le maggiori caratteristiche della JVM, in modo da avere una visione di insieme, utile nel prosieguo. Successivamente si entrerà più in dettaglio, con particolare attenzione al compilatore JIT, alle ottimizzazioni effettuate nella fase di compilazione, ai vari tipi di classloader e, ancora più approfonditamente, al garbage collector.

Obiettivi

Il corso Java Virtual Machine ha l'obiettivo di illustrare l'architettura della Java Virtual Machine (vers. 1.5).

Al termine del corso i partecipanti conosceranno la struttura ed il funzionamento dei componenti critici della JVM. Avranno inoltre gli strumenti per poter meglio utilizzare i parametri operativi (partizionamento della memoria tra le varie generations, scelta del garbage collector, ecc.) che influenzano le performance delle applicazioni.

A chi è rivolto

Il corso Java Virtual Machine si rivolge a coloro che sono coinvolti nella configurazione ed amministrazione della JVM: sistemisti.

Prerequisiti

Per partecipare al corso Java Virtual Machine è necessario avere una formazione scientifica ed avere delle nozioni di programmazione Java.

Moduli

Il corso Java Virtual Machine è composto da otto moduli:

  1. La Java Virtual Machine (JVM)
  2. Compilazione
  3. ClassLoader
  4. Struttura della memoria
  5. Garbage collection
  6. Monitoraggio delle applicazioni
  7. La sicurezza nella JVM
  8. Java Native Interface e Java Virtual Machine Tool Interface (JNI e JVMTI)

 

Letture Consigliate
Programma Completo

1. La Java Virtual Machine (JVM)

  • Panoramica
  • Architettura
  • Funzionamento
  • Ergonomia
  • Il meccanismo delle estensioni
  • Altre funzionalità

2. Compilazione

  • Il compilatore
  • Il compilatore Just in Time
  • Il compilatore Java HotSpot Client e Server
  • Tecnologia di ottimizzazione adattativa

3. ClassLoader

  • Come funziona
  • Tipi di ClassLoader
  • Eccezioni
  • Class data sharing
  • Unloading delle classi

4. Struttura della memoria

  • L'Heap e le generations
  • Gli “handleless objects”
  • Intestazioni degli oggetti a due parole macchina
  • Entità ad uso interno rappresentate come oggetti
  • Supporto al threading nativo

5. Garbage collector

  • La gestione automatica della memoria
  • Accuratezza
  • L'algoritmo di copia generazionale
  • Tipi di garbage collection   
  • Tuning e ottimizzazione del garbage collector (misure, dimensionare le generations, tipi di collector)   

6. Monitoraggio delle applicazioni

  • Le Java Management Extensions (JMX)
  • Gestione e monitoraggio locale
  • Gestione e monitoraggio remoto
  • La tecnologia jvmstat
  • La JVM Tool Interface

7. La sicurezza nella JVM

  • L'architettura: i security manager e i security provider
  • Crittografia
  • Public Key Interface
  • Autenticazione
  • Comunicazione sicura
  • Il controllo degli accessi

8. Java Native Interface e Java Virtual Machine Tool Interface (JNI e JVMTI)

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_java_virtual_machine
Corso JBoss Amministrazione & Clustering http://www.k-tech.it/formazione/corso_jboss_amministrazione_clustering

Corso JBoss Amministrazione & Clustering (cod. ktjba)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 2 giorni

Il corso JBoss Amministrazione & Clustering è focalizzato sull’amministrazione di JBoss Application Server V4.

Verranno trasmesse le competenze sull'architettura e mostrati i passaggi coinvolti nella configurazione e deployment. Si affronteranno i problemi di installazione in ambiente di produzione, l'ottimizzazione ed il monitoraggio, la protezione dei servizi ed il clustering.

Durante il corso JBoss Amministrazione & Clustering, si mostreranno soluzioni di Best Practice per gestire le comuni complessità che si riscontrano in un ambiente JBoss.

Obiettivi

Al termine del corso JBoss Amministrazione & Clustering, i partecipanti avranno acquisito familiarità con la configurazione e l'amministrazione di JBoss Application Server. Saranno in grado di predisporre un approccio critico per il setup e l'ottimizzazione di JBoss Application Server.

A chi è rivolto

Il corso JBoss Amministrazione & Clustering è rivolto agli amministratori di sistema che aspirino a rafforzare le proprie conoscenze sull´amministrazione di JBoss Application Server in produzione.

Prerequisiti

Il corso JBoss Amministrazione & Clustering è consigliato a partecipanti che possiedano:

  • familiarità sui sistemi operativi Windows/Unix (esecuzione di comandi da prompt e networking)
  • confidenza con programmazione di applicazioni basate sul Web, Web Server e Java (utile, ma non richiesto)
  • conoscenze minime di XML (utile, ma non richiesto)

 

Moduli

Il corso JBoss Amministrazione & Clustering è composto dai seguenti otto moduli:

  1. JBoss Overview: Introduzione a JBoss Application Server V4 ed al software Open Source, panoramica sull’architettura, il microkernel, JMX, Mbeans, boot process, services, deployers, e configuration files.
  2. Installiamo JBoss: Attraverso uno scenario d'installazione base, si espone l’organizzazione del codice di JBoss Application Server V4 e la sua configurazione.
  3. Struttura del Server: Con questo modulo prendiamo familiarità con la struttura delle directory di JBoss Application Server V4, in modo da individuare rapidamente i sui componenti, i servizi principali e quelli opzionali.
  4. Applicazione JEE di Esempio: E' un modulo tutorial, si espone come avviare le applicazioni tramite le implementazioni JEE del server. Lo scopo è mostrare come eseguire il deploy e l'esecuzione, attraverso delle modifiche ai deployment descriptors e le configurazioni particolari di JBoss Application Server.
  5. Sicurezza: In questo modulo sono esposte le nozioni base dei modelli di protezione, implementati in applicazioni J2EE e in JBoss Application Server. Vengono introdotti i concetti base, i file di configurazione pertinenti per creare domini in sicurezza, e gli strumenti per creare certificati per la comunicazione sicura.
  6. Production Settings e Tuning Tips: Il modulo è organizzato per introdurre l'ottimizzazione di JBoss Application Server V4, in ambiente di produzione. Si percorreranno i concetti relativi al tuning, gli obiettivi, le problematiche incontrate in genere, ed alcune delle tecniche utilizzate per il loro superamento.
  7. Monitoring della Java Virtual Machine: Ottimizzazione della Macchina Virtuale Java e gli strumenti disponibili per monitorare il processo dell'Application Server.
  8. Introduzione al Clustering JBoss: Questo modulo introduce i concetti e le tecnologie utilizzate da JBoss Application Server per ottenere la funzionalità di failover e bilanciamento del carico.

 

Letture Consigliate

Dopo il corso JBoss Amministrazione & Clustering, si consiglia l'approfondimento con almeno una delle seguenti letture: 

  • JBoss 4.0 - The Official Guide (Stark, Fleury, Richards) [libro cartaceo]
  • JBoss in Action (Jama, Johnson) [libro cartaceo]
  • JBoss at Work: A Practical Guide (Marrs, Davis) [libro cartaceo]

 

Programma Completo

1. JBoss Overview

  • Che cos'è un Application Server?
  • Componenti e Caratteristiche
  • Caching Distribuito
  • Deployment Distribuito
  • Clustering e Load Balancing
  • Fault Tolerance e Fail Over
  • Load Balancing
  • JAAS (Java Authentication and Authorization Service)
  • EJB 3 (e Supporto per EJB 2.1)
  • Supporto Aspect-Oriented Programming (AOP)
  • Integrazione con Hibernate
  • Supporto per i Web Services JEE
  • Integrazione con JMS (Java Message Service)
  • Integrazione con Tomcat
  • JTS (Java Transaction Service)
  • JNDI (Java Naming and Directory Interface)
  • Piattaforma e Supporto Standard
  • Requisiti Minimi di Sistema
  • Sistemi Operativi Supportati
  • Standard supportati

2. Scarichiamo e Installiamo JBoss

  • Introduzione
  • Installazione Java JDK (Java Development Kit)
  • Installazione JBoss Application Server
  • Configurazione della Memoria
  • Starting / Stopping Server
  • La JMX Console (Java Management Extensions)

3. Struttura del Server

  • Directories Principali
  • Configurazioni del Server
  • Configurazione Base
  • Servizi Principali
  • Il Servizio di Logging
  • La Security
  • Servizi Aggiuntivi

4. Applicazione JEE di Esempio

  • Il Tutorial JEE
  • Quali sono le Differenze?
  • Deployment Descriptors Specifici per il Container
  • Modifiche sul Database
  • Configurazione della Sicurezza
  • JEE nella Realtà
  • L'applicazione DukeBank
  • Installazione DBMS MySql
  • Installare MySQL 5.0
  • Utilizzo di altri Databases in JBoss

5. Sicurezza

  • Configurare il Dominio di Sicurezza
  • SSL in JBoss
  • Creazione del KeyStore
  • Creazione del Certificate Signing Request (CSR)
  • Installazione e Configurazione del Toolkit OpenSSL
  • Creazione della Certificate Authority (CA)
  • Certificare una Richiesta
  • Import del Certificato nel Keystore
  • Configurazione di JBoss
  • Autorità di Certificazione Fonti Attendibili

6. Production Settings e Tuning Tips

  • Introduzione
  • Concetti di Tuning
  • Scopo del Tuning
  • Colli di Bottiglia (Bottleneck)
  • JBoss Configuration
  • Tuning Java Virtual Machine (JVM)
  • Protezione della Administration Console
  • Configurare il Log4J
  • Disabilitare Hot Deploy
  • Abilitare/Disabilitare la Java Monitoring & Management Console (jConsole)
  • Utilizzare Java Monitoring & Management Console (jConsole)

7. Monitoring della Java Virtual Machine

  • Monitoring con Jstat
  • Monitoring con la Web-Console
  • Monitoring con ServerInfo MBean
  • Monitoring con Twiddle (Command Line)

8. Introduzione al Clustering JBoss

  • JBoss Clustering: Partizioni e Nodi
  • Smart Proxies
  • Regole di Ricerca e Registrazione

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_jboss_amministrazione_clustering
Corso JEE - Architettura e Web Development su JBoss http://www.k-tech.it/formazione/jee-architettura-e-web-development-su-jboss

Corso JEE - Architettura e Web Development su JBoss (cod. ktjeaw)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Per JEE - Architettura e Web Development si intende la conoscenza dell'architettura, dei servizi e delle specifiche che offre la libreria Enterprise della piattaforma Java.

Il programma prevede una descrizione dei servizi e delle specifiche JEE e fornisce una base solida per lo sviluppo di applicazioni Web.

Ogni modulo del programma è accompagnato da esperienze pratiche per approfondire problematiche reali. Essendo gli esercizi redatti secondo le specifiche tecniche Standard dettate da Sun Microsystems, possono essere applicati a qualsiasi  Application Server certificato JEE 5.

Per questo corso verrà utilizzato l’Application Server open source JBoss, certificato JEE 5. Basato su Java, JBoss è multipiattaforma ed utilizzabile su qualsiasi sistema operativo che supporti il JDK. JBoss è sostenuto sia da una consolidata community di sviluppatori sia dalla robustezza della società Red Hat. Attualmente l'intera suite di servizi Java EE e l’offerta di prodotti per lo sviluppo Enterprise rendono JBoss competitivo rispetto agli Application Server commerciali presenti sul mercato.

Al termine i partecipanti avranno acquisito le conoscenze di base tali da permettere di sviluppare autonomamente progetti Web.

Obiettivi

Il corso JEE - Architettura e Web Development su JBoss ha come obiettivo quello di far comprendere l'Architettura ed i servizi JEE e fornire una base solida per lo sviluppo di applicazioni Web Standard.

A chi è rivolto

Il corso JEE - Architettura e Web Development su JBoss si rivolge a tutti coloro che sono coinvolti nel processo di sviluppo del software: sviluppatori, analisti e architetti.

Prerequisiti

I partecipanti al corso JEE - Architettura e Web Development su JBoss devono avere la conoscenza del linguaggio Java e di XML.

Moduli

Il corso JEE - Architettura e Web Development è composto da otto moduli:

  1. Introduzione a JEE (Java Enterprise Edition)
  2. Application Servers e Containers
  3. Servizi JEE
  4. Sviluppo web (Web Tier)
  5. Le Servlet
  6. JSP (Java Server Pages)
  7. EJB (Enterprise JavaBean)
  8. Web Services

 

Letture Consigliate

Prima e dopo il corso è consigliabile la lettura di uno dei seguenti testi:

  • Introduction - The Java EE 5 Tutorial (di Sun Microsystems) [risorsa online]
  • The Java EE 5 Tutorial (Addison Wesley) [libro cartaceo]
  • JBoss at Work: A Practical Guide (Marrs) [libro cartaceo]

 

Programma Completo

1. Introduzione a JEE

  • Cos'è JEE?
  • Architettura JEE (Java Enterprise Edition)
  • Da applicazioni Single-Tier verso Multi-Tier

2. Application Servers e Containers

  • I servizi
  • Web Container
  • EJB Container
  • Web Services

3. Servizi JEE

  • JDBC (Java DataBase Connectivity)
  • JNDI (Java Naming and Directory Interface)
  • EJB (Enterprise JavaBeans)
  • JMS (Java Message Service)
  • JAAS (Java Authentication and Authorization Service)
  • JCA (JEE Connector Architecture)
  • JTA (Java Transaction API)
  • SAAJ (SOAP with Attachments API for Java)
  • JAX-RPC( Java APIs for XML-Based Remote Procedure Call)
  • JAF (JavaBeans Activation Framework)
  • JAVA IDL (Interactive Data Language)
  • JAXP (Java API for XML Processing)

4. Sviluppo Web (Web tier)

  • Struttura (packaging) dell'applicazione
  • Web Descriptor (web.xml)
  • La sicurezza con JAAS

5. Le Servlet

  • Cos'è una Servlet
  • Il ciclo di vita di una Servlet
  • Gli Scope Objects
  • Sessione e Cookie
  • Filter
  • Listener

6. JSP

  • Cos'è una JSP
  • Traduzione e compilazione
  • Contenuto statico
  • Contenuto dinamico - Scriptlet e accesso agli Scoped Objects
  • Built-in Taglibrary
  • Custom Tag e JSTL (JavaServer Pages Standard Tag Library)

7. EJB

  • Il Container EJB
  • Session Stateless Bean
  • Session Statefull Bean
  • Entity Bean
  • Message Driven Bean
  • Il ciclo di vita degli EJB

8. Web Services

  • Interoperabilità con i Web Services
  • HTTP e SOAP
  • UDDI (Universal Description Discovery and Integration)
  • WSDL (Web Services Description Language)
  • SAAJ - Attachment con i Web Services
  • JAX-WS (Java API for XML-based Web Service)
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione, avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/jee-architettura-e-web-development-su-jboss
Corso Object Oriented Analysis and Design http://www.k-tech.it/formazione/corso_object_oriented_analysis_design

Corso Object Oriented Analysis and Design (cod. ktooad)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

La modellazione Object Oriented è una disciplina al confine tra l’arte e la scienza.
Come arte non può prescindere da fattori quali l’inventiva, la bellezza e l’innovazione; come scienza non può ignorare i principi fondamentali sui quali si basa.

Può un codice essere “bello”
?

Qualunque programmatore risponderà positivamente alla domanda pur non potendo elencare le regole in base alle quali si raggiunge questo risultato.

L’OOAD è quindi la disciplina che consente di gestire questo mondo di confine, di padroneggiare i principi base e di allenare la mente ad un pensiero Object Oriented.

Attraverso l’applicazione dei principi base, si illustrerà il metodo analitico per mezzo del quale si studia un problema (sistema) per raggiungerne una rappresentazione ad oggetti che rispetti i due principali obiettivi di una architettura Object Oriented: Design per il riuso e Design per il cambiamento.

Durante il corso Object Oriented Analysis and Design, si approfondiranno concetti, come l’astrazione, per comprenderne gli effetti sui processi mentali.  

Obiettivi

Fornire ai programmatori la capacità di progettare sistemi Object Oriented ben strutturati e duraturi nel tempo.

Un buon progetto deve:

  • essere in grado di resistere ai cambiamenti, generati da un mutamento delle specifiche oppure da un cambio di contesto tecnologico (Design for change);
  • consentire  di riutilizzare parti del software in contesti diversi da quello per cui è stato pensato originariamente (Design for reuse).

 

A chi è rivolto

Il corso Object Oriented Analysis and Design si rivolge a tutti i ruoli coinvolti nella gestione del processo di sviluppo del software: analisti, designer e sviluppatori.

Prerequisiti

I partecipanti al corso Object Oriented Analysis and Design, devono possedere conoscenze sia dei fondamenti dell’informatica, sia di almeno un linguaggio di programmazione. E’ preferibile la conoscenza di un linguaggio Object Oriented.

Moduli

Il corso Object Oriented Analysis and Design è articolato in cinque moduli:

  1. Origini e concetti fondamentali della OOP
  2. Qualità del Software e Metodologie di Sviluppo
  3. Pensare ad Oggetti e Modellazione
  4. GRASP
  5. Altri principi della OOD

Vi presentiamo in anteprima un modulo del corso:

Letture Consigliate

Prima di partecipare al corso Object Oriented Analysis and Design è preferibile leggere uno dei seguenti libri:

  • The Object Oriented Thought Process (Matt Weisfeld) [libro cartaceo]
  • Object-Oriented Analysis and Design with Applications (Booch, Conellen) [libro cartaceo]
  • Applying Uml and Patterns - Craig Larman [libro cartaceo]

Dopo il corso si consiglia di leggere uno dei seguenti testi:

  • Design Patterns: Elements of Reusable Object-Oriented Software (Gamma,Helm) [libro cartaceo]
  • Refactoring Improving the Design of Existing Code (Fowler-Beck-Brant-Opdyke-Roberts) [libro cartaceo]

 

Programma Completo

1. Origini e concetti fondamentali della OOP

  • Problematiche
  • Obiettivi del Design
  • L’approccio
  • Miti del Software
  • Origini della OOP
  • Concetti OO fondamentali

2. Qualità del Software e Metodologie di Sviluppo

  • Metriche di Qualità del Software
  • Ciclo di vita del Software
  • Metodologie di Sviluppo
  • Modello a Cascata
  • Modello a Spirale
  • Procedimento Unificato
  • Extreme Programming

3. Pensare ad Oggetti e Modellazione

  • Definizione di Oggetto
  • Definizione di Oggetto in termini di Responsabilità
  • Classificazione delle Responsabilità
  • Modellazione ed Obiettivi
  • Cattivo Design vs Buon Design
  • Modellare il Sistema vs Modellare Base Dati

4. GRASP (General Responsability Assignment Software Patterns)

  • Creator
  • Controller
  • Expert
  • Low Coupling
  • High Coesion
  • Polymorphism
  • Indirection
  • Pure Fabrication
  • Protected Variations

5. Principi Object Oriented

  • Rasoio di Occam
  • Incapsulamento
  • Information Hiding
  • Open-Closed
  • Liskov (LLP)
  • Don't Talk to Strangers
  • Design by Contract
  • Inversion of Control
  • Command Query Separation Principle
  • Interface Segregation Principle
  • Separation of Concern
  • Least Surprise

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione, avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_object_oriented_analysis_design
Corso Programmazione Java Avanzata http://www.k-tech.it/formazione/corso_programmazione_java_avanzata

Corso Programmazione Java Avanzata (cod. ktjaav)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Per Java Avanzato si intende l'applicazione di determinate metodologie  di programmazione fondamentali per la realizzazione di progetti Java complessi. Attraverso la trasmissione di tecniche di programmazione orientate agli oggetti, il corso vuole formare figure professionali altamente specializzate che possano affrontare la realizzazione di un progetto nella sua interezza.

Verranno esaminati alcuni concetti relativi a Java Base, approfondendo le conoscenze e gli elementi avanzati del linguaggio, quali l'integrazione con i DataBase, la programmazione parallela, i Design Pattern, ottimizzazione della JVM e le Best Practice. Ogni modulo di studio si completa con esercitazioni ed esempi.

Obiettivi

Il corso Programmazione Java Avanzata, ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti, cioè di modellare e "pensare" a oggetti, di approfondire i concetti base del linguaggio applicando le metodologie di programmazione necessarie alla costruzione di applicazioni complesse.

Dopo il completamento del corso i discenti saranno in grado di:

  • utilizzare le Regular Expression
  • interagire con un Database attraverso le API JDBC
  • applicare i Design Pattern nel proprio contesto applicativo
  • lavorare con applicazioni su network e gestire le socket
  • lavorare con gli oggetti distribuiti attraverso RMI
  • scrivere codice performante rispettando le best practice consigliate
  • lavorare con documenti XML
A chi è rivolto

Potrà trarre i maggiori benefici dal corso di Programmazione Java Avanzata chi è coinvolto nella fase:

  •  di implementazione del Software
  • di messa in esercizio delle Applicazioni Java

 

Prerequisiti

Per partecipare al corso di Programmazione Java Avanzata è necessario possedere buona esperienza sul linguaggio Java e delle relative librerie.

 

Moduli

Il corso Programmazione Java Avanzata è suddiviso nei seguenti diciotto moduli:

  1. Introduzione (richiami a concetti di Java Base)
  2. Regular Expression, String Tokenizer, librerie di utilità
  3. JavaMail
  4. JDBC
  5. Design Pattern
  6. Networking (URI, URL, HTTP Connection, Socket)
  7. RMI
  8. i18n, dateformat, locale
  9. Reflection
  10. XML (Dom, Sax)
  11. ORM- Overview
  12. Cache
  13. Logging
  14. SWING/AWT
  15. JVM
  16. Profiling e Tuning
  17. Multithreading
  18. Grid Computing

Vi presentiamo un modulo in anteprima.

Letture Consigliate

Prima di seguire il corso di Programmazione Java Avanzata è consigliabile la lettura di almeno uno dei seguenti libri:

  • The Object Oriented Thought Process (Matt Weisfeld) [libro cartaceo]
  • Thinking in Java (Bruce Eckel) [libro cartaceo]
  • Algoritmi e strutture dati in java (Drozdek) [libro cartaceo]
  • Java Network Programming (Elliotte Rusty Harold) [libro cartaceo]
  • Java Threads (Scott Oaks and Henry Wong) [libro cartaceo]

Link utili:

Best Practices

Performance

Networking Standards

Programma Completo

1. Introduzione (richiami dei concetti di java base)

  •  La JVM, JRE e JDK
  •  Sintassi (Tipi primitivi, parole chiavi, flussi di controllo, ecc...)
  • Classe e istanza
  •  L'ereditarietà
  •  Polimorfismo
  •  Eccezioni
  •  I/O
  •  Collections
  •  Intro Thread

2. Regular Expression, String Tokenizer, librerie di utilità

  • Il package java.util.regex
  • Il package java.util.jar e java.util.zip
  • java.util.StringTokenizer
  •  java.text.SimpleDateFormat
  •  java.lang.System
  •  java.lang.Runtime

3. JavaMail

  • Introduzione e protocolli (POP, IMAP, SMTP)
  • API

4. JDBC

  • Architettura
  • Drivers tipo 1
  • Drivers tipo 2
  • Drivers tipo 3
  • Drivers tipo 4
  • API
  • Esempi

5. Design Pattern

  • Introduzione
  • Classificazione dei patterns
  • Pattern creazionali: Singleton e Factory method
  • Pattern strutturali: Composite e Proxy
  • Pattern comportamentali: Iterator

6. Networking(URI,URL,HTTP Connection, Client/Server)

  • package java.net

7. RMI

  • Architettura RMI
  • Il Package java.rmi
  • Esempio

8. i18n, dateformat, locale

  •  Contesti di internazionalizzazione
  •  Locale, ResourceBoundle e Date & Time handling (SimpleDateFormat)


9. Reflection

  • Cos'è la reflection
  • Il package java.lang.reflect
  • Contesti di utilizzo
  • La reflection e la sicurezza

10. XML (Dom, Sax)

  • XML, DTD, XSD
  • XQuery, XPath
  • Parsing XML con SAX e DOM
  • XMLBeans

11. ORM- Overview

  • Cos'è un ORM (Object relational mapping)
  • ORM vs JDBC
  • Hibernate
  • JPA/JDO

12. Cache

  • Contesti di utilizzo della cache
  • Proxy pattern e cache
  • Librerie: Java Caching System(JCS), EHCache, OSCache

13. Logging

  • Logging overview
  • Log4j, commons-logging e util.logging: overview    

14. SWING/AWT

  • Scrivere GUI con AWT e Swing
  • Composite pattern applicato a Swing/AWT: le API
  • Look and feel        - Il toolkit SWT (Cenni)

15. JVM

  • Introduzione
  • Il compilatore javac
  • JIT vs HotSpot (ottimizzazioni della JVM)
  • Struttura della memoria
  • Garbage collector

16. Profiling e Tuning

  • JvmStat e JConsole
  • Tuning dei parametri della memoria della JVM
  • Tuning dei parametri del GC

17. Multithreading

  • Cos'è un Java Thread
  • Creare Threads
  • Ciclo di vita dei Threads
  • Priority, scheduler e sistemi operativi
  • Synchronized
  • sleep(), wait(), notify(), notifyAll(), join(), yield()
  • ThreadGroup e ThreadLocal
  • Esempio pratico: produttore/consumatore

18. Grid Computing

  • Cos'è Grid Computing?
  • jcgrid
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_programmazione_java_avanzata
Corso Programmazione Java Base http://www.k-tech.it/formazione/programmazione_java_base

Corso Programmazione Java Base (cod. ktjaba)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Per Corso Java Base si intende la trasmissione della conoscenza della sintassi elementare della programmazione Java e delle principali librerie della Java Standard Edition.

Il Corso prevede un'esposizione dei concetti base della programmazione Java. Tra gli argomenti trattati, oltre ai concetti elementari, verranno mostrate le novità introdotte dalla Java 5.

Il corso di Programmazione Java Base è strutturato in modo che alla fine di ogni modulo esposto vengano eseguiti degli esercizi per verificare il corretto apprendimento degli argomenti trattati.

Obiettivi

Il Corso  ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti. Al termine del programma del corso i partecipati sapranno modellare e “pensare” a oggetti, avranno propri i concetti base del linguaggio e le basi per sviluppare piccole applicazioni in modo autonomo.

A chi è rivolto

Potrà trarre i maggiori benefici dal Corso di Programmazione Java Base chi:

  • è coinvolto nella fase di implementazione del software;
  • si occupa della messa in esercizio delle applicazioni java;
  • ha già sviluppato in un linguaggio di programmazione diverso da java.
Prerequisiti

I partecipanti al Corso Programmazione Java Base, devono possedere sia competenze dei fondamenti dell’informatica e sia di almeno un linguaggio di programmazione. E’ preferibile la conoscenza di un linguaggio Object Oriented.

Moduli

Il Corso Programmazione Java Base è composto da dodici moduli:

  1. Introduzione
  2. Ciclo di sviluppo
  3. Sintassi Elementare
  4. Principi OOP
  5. Classi e Oggetti
  6. Concetti Object Oriented
  7. Collections
  8. Eccezioni
  9. Input Output
  10. Serialization
  11. Unit Testing
  12. Threads

Vi presentiamo in anteprima un modulo del corso:

Letture Consigliate

Prima di seguire il corso Programmazione Java Base è consigliabile la lettura dei seguenti libri:

  • The Object Oriented Thought Process (Matt Weisfeld) [libro cartaceo]
  • Thinking in Java (Bruce Eckel) [libro cartaceo]
  • Algoritmi e strutture dati in Java (Drozdek) [libro cartaceo]

 

Programma Completo

1. Introduzione

  • Storia di Java
  • Evoluzione della JDK
  • Caratteristiche del linguaggio
  • Ambiente di esecuzione
  • JVM
  • JRE vs JDK

2. Ciclo di sviluppo del software

  • Struttura JDK
  • Comandi fondamentali
  • Sviluppo del software
  • Ambiente runtime di java
  • Prima applicazione in java

3. Sintassi Java

  • Tipi primitivi
  • Casting di tipi primitivi
  • Classi Wrapper
  • Autoboxing
  • Tipi Enumerati
  • Parole chiave in java
  • Dichiarazione di variabili
  • Dichiarazioni e assegnazioni
  • Operatori
  • Operatori Logici
  • Esempio di Javadoc
  • Flussi di controllo
  • Istruzioni condizionate
  • Array
  • Scope delle variabili
  • Classe System
  • Annotation

4. Principi OOP

  • Cos'è la programmazione orientata agli oggetti
  • Approccio Object Oriented
  • Concetti Fondamentali
  • Costrutti Object Oriented
  • Vantaggi della programmazione Object Oriented

5. Classi e Oggetti

  • Programmazione orientata agli oggetti
  • Classe e Oggetto
  • Struttura e componenti di una classe
  • Primo esempio di classe
  • Terminologia, notazioni e convenzioni
  • Creazione di oggetti
  • Oggetti in memoria
  • Garbage Collector
  • Assegnazione: tipi primitivi vs oggetti
  • Modificatori di accesso
  • Attributi, metodi, blocchi e importazioni statiche
  • Generics
  • Varargs

6. Concetti Object Oriented

  • Ereditarietà
  • Overriding
  • Classi Astratte
  • Classi e Metodi Final
  • Interfacce

7. Java Collection Framework

  • Strutture Dati
  • Overview Java Collection Framework
  • Interfaccia Collection
  • Interfaccia Set
  • Interfaccia List
  • Interfaccia Queue
  • Interfaccia Map
  • Iterator

8. Eccezioni

  • Gerarchia delle eccezioni
  • Classificazione delle eccezioni
  • Rilanciare eccezioni
  • Progettare eccezioni
  • Gestire eccezioni

9. Input Output

  • Flussi
  • Classificazione dei Flussi
  • Flussi di byte (InputStream, OutputStream)
  • Flussi di caratteri (Reader, Writer)
  • Flussi di I/O standard
  • New I/O
  • File mappati in memoria
  • Lock dei file
  • Formattazione

10. Serialization

  • Serialization e Deserialization
  • Transient
  • Externalization

11. Unit Testing

  • Test unitari
  • Test Driven Process
  • JUnit Framework
  • JUnit Annotation
  • JUnit Assertion
  • JUnit Demo

12. Threads

  • Definizione di base
  • Creare Thread in Java
  • Ciclo di vita dei Thread
  • Utilizzo dei Thread
  • Priorità dei Thread
  • Meccanismi di sincronizzazione
  • Produttore Consumatore
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al Corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/programmazione_java_base
Corso Python Base http://www.k-tech.it/formazione/python-base

Corso Python Base (cod. Pyb)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

Python è un linguaggio di programmazione multi-paradigma ad alto livello e adatto per sviluppare applicazioni distribuite. Fu ideato da Guido van Rossum, intorno agli anni 1990, nell'istituto di matematica e informatica di Amsterdam.

I principali obiettivi di Python sono: dinamicità, semplicità e flessibilità. Il linguaggio supporta il paradigma Object Oriented, la programmazione strutturata e molte caratteristiche di programmazione funzionale. 

Il Corso di Python base di K-Tech è strutturato in modo che al termine di ogni modulo esposto vengano eseguiti degli esercizi per verificare il corretto apprendimento degli argomenti trattati.

Obiettivi

Il Corso Python base è focalizzato sia sulla trasmissione ai partecipanti della conoscenza della sintassi di  Python e sia sul trasferimento e utilizzo di nozioni di Object Oriented Programming.

Al termine del Corso Python base i partecipanti avranno acquisito familiarità con i concetti fondamentali del linguaggio e saranno in grado di sviluppare piccole applicazioni in modo autonomo.

A chi è rivolto

Potrà trarre i maggiori benefici dal Corso di Python base chi:

  • è coinvolto nella fase di implementazione del software;
  • si occupa della messa in esercizio delle applicazioni;
  • ha già sviluppato in un linguaggio di programmazione diverso da Python.

 

Prerequisiti

I partecipanti al Corso Python base devono possedere sia competenze dei fondamenti dell’informatica e sia di almeno un linguaggio di programmazione. E’ preferibile la conoscenza di un linguaggio Object Oriented. I partecipanti dovranno conoscere le basi degli ambienti di lavoro Windows e Linux.

Moduli

Il Corso Python base è composto da nove moduli:

  1. Introduzione a Python
  2. Sintassi Python - Parte 1
  3. Sintassi Python - Parte 2
  4. Sintassi Python - Parte 3
  5. Python Object Oriented - Parte 1
  6. Python Object Oriented - Parte 2
  7. Eccezioni
  8. Input / Output
  9. Multithreading

 

Letture Consigliate

Per approfondire la conoscenza di Python è consigliabile la lettura dei seguenti libri:

  • The Quick Python Book (Daryl, McDonald) [libro cartaceo]
  • Python in a Nutshell (Martelli) [libro cartaceo]
  • Beginning Python: from novice to professional (Hetland) [libro cartaceo]
  • Learning Python (Mark, Ascher) [libro cartaceo]

 

Programma Completo

1. Introduzione a Python

  • Storia di Python
  • Cos'è Python?
  • Caratteristiche del linguaggio
  • PEP
  • PEP8
  • Vantaggi di Python
  • Campi di utilizzo
  • Chi utilizza Python?
  • Interprete Python

2. Sintassi Python - Parte 1

  • Introduzione
  • Variabili in Python
  • Namespace
  • Parole riservate
  • Operatori
  • Built-in Object

3. Sintassi Python - Parte 2

  • Tipi di dati semplici
  • Tipi Numerici
  • Stringhe
  • Operazioni sui tipi semplici
  • Tipi di dati avanzati
  • Liste
  • Tuple
  • Dictionary
  • File
  • Operazioni sui tipi avanzati

4. Sintassi Python - Parte 3

  • Controllo di flusso
  • Funzioni
  • Scope delle variabili
  • Riferimenti
  • Copia di oggetti complessi

5. Python Object Oriented - Parte 1

  • Classi e oggetti
  • Le classi in Python
  • Gli oggetti in Python
  • Notazioni e convenzioni
  • Ereditarietà

6. Python Object Oriented - Parte 2

  • Overloading degli operatori
  • Overloading delle funzioni
  • Conversioni di tipo
  • Descriptor
  • Data Descriptor
  • Non Data Descriptor
  • Property
  • Closure

7. Eccezioni

  • Introduzione alle Eccezioni
  • Gestire le Eccezioni
  • Propagazione delle Eccezioni
  • Progettare Eccezioni
  • Assert

8. Input / Output

  • Accesso allo standard I/O
  • Manipolazione dello standard I/O
  • Operazione sui File
  • Oggetti File-like
  • Context Manager
  • Generator

9. Multithreading

  • Introduzione ai thread in Python
  • Concorrenza
  • Evitare deadlock
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al Corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/python-base
Corso Spring 2 e Spring MVC http://www.k-tech.it/formazione/corso_spring2_spring_mvc

Corso Spring 2 e Spring MVC (cod. ktspr)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 3 giorni

Spring è un Application Framework Open Source. Ad oggi possiamo affermare che Spring è lo standard architetturale di riferimento per Java. Può essere usato per sviluppare sia applicazioni Java Standard Edition sia applicazioni Java Enterprise Edition.

Alla base delle funzionalità messe a disposizione da Spring vi è il supporto dell’Inversion Of Control (IOC)  ed una serie di tecniche di programmazione associate. L’IOC si pone come obiettivo la realizzazione di applicazioni con componenti “loosely coupled” (a basso accoppiamento, con poche dipendenze) al fine di ottenere la massima flessibilità nell’uso, riutilizzo e test delle componenti software. Spring realizza una versione dell’IOC chiamata “Dependency Injection”.

Quali sono i benefici che otterremo usando Spring nelle nostre applicazioni?

  • Avremo una semplificazione dell’architettura delle applicazioni basate su piattaforma java, promuovendo i principi della buona programmazione.
  • Interagiremo perfettamente con i più importanti framework MVC - Model-View-Controller e di persistenza (Hibernate, Struts, JSF, WebWork, Tapestry, JPOX, JDO, e molti altri ORM).
  • Raggiungeremo la portabilità  su ogni Application Server e Web container
    (Oracle |WebLogic, Tomcat, Resin, JBoss, Jetty, Geronimo, WebSphere ed altri Application Server).

 

Obiettivi

L'obiettivo del corso Spring 2 e Spring MVC è far comprendere ai partecipanti perché usare Spring e non solamente come usarlo.

Durante il corso saranno mostrati i principi di Spring e descritti i suoi moduli (Spring MVN, IoC Container, AOP, ORM, ecc...). Si affronterà l'argomento della integrazione con altri Framework e Tool.

A chi è rivolto

Il corso Spring 2 e Spring MVC si rivolge a tutti coloro che sono coinvolti nel processo di sviluppo applicativo: sviluppatori software, analisti e architetti.

Prerequisiti

 I partecipanti al corso Spring 2 e Spring MVC devono avere la conoscenza del linguaggio Java e di XML.

Moduli

Il corso Spring 2 e Spring MVC prevede tredici moduli:

  1. Introduzione
  2. Architettura
  3. Concetti fondamentali di Spring
  4. Spring Container
  5. Configurazione Annotation-Based
  6. Ciclo di vita Bean
  7. Validazione
  8. Gestione delle transazioni in Spring
  9. Spring security – Acegi Security
  10. Classi DAO di Spring
  11. Hibernate e Spring
  12. Spring Web MVC
  13. Integrazione con altri Framework
Letture Consigliate
  • SpringSource [sito web]
  • Spring in Action (Walls, Breidenbach) [libro cartaceo]
  • Pro Spring (Harrop, Machacek) [libro cartaceo]
Programma Completo

1. Introduzione

  • Cos’è Spring?
  • Obiettivi di Spring
  • I benefit dell'Architettura Spring
  • Spring e le versioni di Java

2. Architettura

  • I moduli di Spring
  • Spring Application Layers
  • Top Layer (User Interface, Web)       
  • Middle Layer (Service, Domain Model)
  • Bottom Layer (Persistence)
  • Domain Model

3. Concetti fondamentali di Spring

  • Inversion of control (IoC)
  • Dependency Injection (DI)
  • Spring Containers

4. Spring Container

  • ApplicationContext
  • Bean Factory
  • Autowiring
  • Bean scopes: singleton
  • Bean scopes: prototype
  • Bean scopes: session
  • Bean scopes: global session

5. Configurazione Annotation-Based

  • @Required
  • @Configurable
  • @Resource
  • @PostConstruct
  • @PreDestroy

6. Ciclo di vita Bean

  • Descrizione del ciclo di vita
  • Metodi chiamati allo startup
  • Metodi chiamati alla shutdown

7. Validazione

  • Validation
  • Data-binding
  • BeanWrapper
  • PropertyEditors

8. Gestione delle transazioni in Spring

  • Introduzione alle transazioni
  • Supporto Spring alle transazioni
  • Utilizzo delle transazioni

9. Spring security – Acegi Security

  • Introduzione ad Acegi
  • Struttura generale
  • Autenticazione
  • Controllo dell'accesso
  • Mettere in sicurezza le applicazioni web
  • Data Access Framework
  • Le eccezioni

10. Classi DAO di Spring

  • JdbcDaoSupport
  • HibernateDaoSupport
  • JdoDaoSupport
  • JpaDaoSupport
  • JDBCTemplate

11. Hibernate e Spring

  • Hibernate Overview
  • Hibernate mappings
  • Esempi utilizzo Hibernate
  • Hibernate Annotations
  • Hibernate Query Language
  • Creare un oggetto utilizzando Hibernate
  • Vantaggi utilizzo Hibernate
  • Configurare Hibernate DAO

12. Spring Web MVC

  • Concetti MCV
  • Dispatcher
  • Controllers

13. Integrazione con altri Framework

  • Struts
  • JSF
  • WebWork
  • Tapestry

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_spring2_spring_mvc
Corso Subversion Avanzato http://www.k-tech.it/formazione/corso_subversion_avanzato

Corso Subversion Avanzato (cod. ktsubv)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 1 giorni

Subversion è un sistema per il versionamento del codice sorgente. È comunemente usato durante lo sviluppo del software, dove un team di persone lavora su un progetto modificando contemporaneamente gli stessi file. Ogni cambiamento è identificato da un numero di revisione.

Subversion, come altri software SCM (Source Code Management), gestisce i cambiamenti risolvendo i conflitti (merge), grazie all'interazione con gli sviluppatori (update e commit). Le innovazioni di Subversion, rispetto ad altri SCM, sono molteplici. La principale è la gestione puntuale del numero di revisione che, a differenza del suo predecessore CVS, non è più diversa per ogni file ma unica per l'intero repository.

In un progetto di sviluppo l'utilizzo di Subversion è essenziale, non solo perché è un backup sempre aggiornato del codice sorgente, ma perché storicizzando i cambiamenti effettuati è sempre possibile tornare indietro, gestendo così la non regressione del codice.

Obiettivi

Al termine del corso Subversion Avanzato i partecipanti saranno in grado di configurare ed amministrare un repository di Subversion in termini di sicurezza e gestione. Verranno affrontati alcuni temi avanzati sul suo utilizzo e discusse le principali differenze con lo storico sistema di versionamento CVS (Concurrent Versions System).

A chi è rivolto

Il corso Subversion Avanzato si rivolge agli amministratori di sistema ed agli sviluppatori che vogliono approfondire le proprie conoscenze su Subversion.

Prerequisiti

Per partecipare al corso Subversion Avanzato è necessario avere acquisito concetti base sui sistemi di versionamento ed avere familiarità con sistemi basati su Unix.

Moduli

ll corso Subversion Avanzato è strutturato in sei moduli:

  1. Concetti base
  2. Subversion Admin Tools
  3. Amministrazione del repository
  4. Configurazione del server
  5. Differenze tra CVS e Subversion
  6. Migrare da CVS a Subversion

 

Letture Consigliate

Per maggiori approfondimenti si consiglia di consultare le risorse di seguito elencate:

 

Programma Completo

1. Concetti base

  • Cos'è un Repository?
  • Cosa sono le Revisioni?
  • Cos'è una Transazione?

2. Subversion Admin Tools

  • svnadmin
  • svndumpfilter
  • svnlook

3. Amministrazione del repository

  • Creazione di un repository
  • Mantenimento di un repository
  • Migrazione di un repository
  • Backup del repository
  • Hook script
  • Best Practices

4. Configurazione del server

  • Scelta del tipo di server
  • Strati di Subversion
  • Autenticazione e autorizzazioni su Svnserver
  • Configurazione del file svnserve.conf
  • Autenticazione e autorizzazioni con Apache HTTP server
  • Configurazione base

5. Differenze tra CVS e Subversion

  • Subversion differenze con CVS in dettaglio
  • Branching e tagging

6. Migrare da CVS a Subversion

  • Panoramica di cvs2snv
  • Tipi di migrazioni
  • Vantaggi e svantaggi
  • Best practices
  • cvs2svn a da riga di comando
  • cvs2svn tramite l'utilizzo di un file

 

Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_subversion_avanzato
Corso Troubleshooting Java Virtual Machine http://www.k-tech.it/formazione/troubleshooting-java-virtual-machine

Corso Troubleshooting Java Virtual Machine (cod. ktjvmt)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 3 giorni

La gestione dei problemi in produzione è una attività critica in carico agli Amministratori degli Application Server (ASA). Il processo per la loro risoluzione è di interesse aziendale e spesso viene misurato in modo da contribuire agli indici di qualità. Il corso Troubleshooting sulla Java Virtual Machine (JVM) fornisce ai partecipanti le conoscenze per una rapida individuazione e una corretta gestione del problema. Fare la cosa giusta sin dall'inizio è un prerequisito essenziale per poter arrivare il più velocemente possibile alla risoluzione del problema. Le informazioni raccolte in produzione sono le più importanti, la loro qualità rappresenta una criticità decisiva per tutto il processo di Troubleshooting.

Il corso Troubleshooting sulla Java Virtual Machine presenta le criticità più comuni per la JVM di un server in produzione ed un metodo efficace per gestirle in modo veloce e vincente. Gli esempi pratici e gli esercizi in aula guidano i partecipanti nell'applicare correttamente il metodo e selezionare gli strumenti più adatti in ogni singolo caso.

Obiettivi

Al termine del corso Troubleshooting sulla Java Virtual Machine i partecipanti saranno in grado di:

  1. Gestire con metodo i problemi in produzione
  2. Differenziare i problemi applicativi da quelli infrastrutturali
  3. Comprendere l'architettura ed i moduli interni della JVM
  4. Configurare correttamente i parametri della JVM
  5. Isolare e classificare i problemi di produzione
  6. Determinare lo strumento più adatto per ogni tipo di problema
  7. Documentare il problema utilizzando le informazioni del Monitoraggio e del Profiling

 

A chi è rivolto

Il corso Troubleshooting sulla Java Virtual Machine si rivolge a coloro che sono coinvolti nella configurazione e amministrazione della JVM:  Application Server Administrator (ASA).

Prerequisiti

Per partecipare al corso Troubleshooting sulla Java Virtual Machine è necessario avere una formazione scientifica, avere delle nozioni di programmazione Java, conoscere i concetti di gestione della memoria, thread, debug e ottimizzazione delle prestazioni.

Moduli

Il corso Troubleshooting sulla Java Virtual Machine è composto da dodici moduli:

  1. Introduzione
  2. I problemi e le performance
  3. Il metodo
  4. Gli strumenti
  5. La JVM ed il suoi moduli interni
  6. L'AS secondo lo standard JEE
  7. Criticità tipiche della JVM
  8. Criticità tipiche dell'AS JEE
  9. Problemi applicativi consistenti
  10. Problemi applicativi progressivi
  11. Problemi applicativi periodici
  12. Problemi applicativi improvvisi

 

Letture Consigliate

Si consiglia la lettura dei seguenti testi:

Programma Completo

1. Introduzione

  • Scenario tipico di produzione
  • Gli attori coinvolti
  • Le architetture
  • Definizioni e Glossario

2. I problemi e le performance

  • Quando e cosa rappresenta un problema
  • Situazioni problematiche nella pratica
  • Tipi e loro classificazione

3. Il metodo

  • Scopo
  • Limiti di applicabilità
  • Fasi
  • Prerequisiti

4. Gli strumenti

  • Tipi di strumenti
  • Strumenti a disposizione degli ASA
  • Strumenti per gli sviluppatori
  • Strumenti per i tester

5. La JVM ed i suoi moduli interni

  • JVM: Architettura
  • Moduli: GC e JIT
  • Crash e Hang
  • Parametri della JVM: opzioni standard e non standard
  • Strumenti per il troubleshooting della JVM

6. L'AS secondo lo standard JEE

  • Descrizione dello standard JEE
  • Scenario di utilizzo
  • Strumenti dell'AS
  • Configurazione dell'AS

7. Criticità tipiche della JVM

  • Crash
  • Hang
  • Lentezza

8. Criticità tipiche dell'AS JEE

  • Installazione ed aggiornamenti
  • Configurazione ottimale
  • Thread management
  • Connection pooling
  • Clustering
  • Web Server plugin

9. Problemi applicativi consistenti

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

10. Problemi applicativi progressivi

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

11. Problemi applicativi periodici

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni

12. Problemi applicativi improvvisi

  • Indizi per la classificazione
  • Esempi
  • Strumenti
  • Azioni
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/troubleshooting-java-virtual-machine
Corso Unified Modeling Language (UML) http://www.k-tech.it/formazione/corso_unified_modeling_language_uml

Corso Unified Modeling Language (UML) (cod. ktuml)

Chiedi informazioni su questo corso  | Visualizza Scheda PDF

Durata del corso: 5 giorni

UML e' un linguaggio visuale diventato lo standard de facto per l'analisi e la determinazione dei requisiti. Si utilizza per definire, progettare, realizzare e documentare sistemi Software (in particolare quelli Object Oriented, ma è indipendente dai linguaggi di programmazione).

La forza dell'UML è che i vari ruoli coinvolti nella creazione di un sistema (sviluppatori, DBA, manager, analisti), utilizzando le notazioni grafiche ed i diagrammi di un solo linguaggio, riescono a comunicare facilmente fra loro.

Per riuscire in questo dialogo, l'UML utilizza diversi tipi di diagrammi, statici e dinamici, in modo da fornire diverse viste di uno stesso sistema.

Durante il corso verranno forniti i concetti fondamentali dell'UML 2.0
.

Al termine, i partecipanti saranno in grado di leggere e descrivere un qualsiasi processo utilizzando il linguaggio UML.

Obiettivi

Scopo del corso UML è quello di offrire ai partecipanti gli strumenti per sapere leggere e usare lo Unified Modeling Language, sia nella comunicazione all’interno del team di sviluppo, sia all’esterno con gli stakeholder coinvolti.

A chi è rivolto

Il corso Unified Modeling Language (UML) si rivolge a tutti i ruoli coinvolti nella gestione del processo di sviluppo: analisti, designer e sviluppatori.

Prerequisiti

Per poter partecipare al corso Unified Modeling Language (UML), è necessario avere delle conoscenze di progettazione e sviluppo del software, avere chiara la differenza tra sintassi e semantica, sapere cos'è un metadato e un metamodello, avere nozioni dei principi GRASP e dei Design Pattern (GOF’s).

Moduli

Il corso Unified Modeling Language (UML) si compone di diciotto moduli:

  1. Overview
  2. Introduzione all’UML
  3. Modellazione Strutturale
  4. Relazioni
  5. Diagrammi
  6. Class Diagram
  7. Object Diagram
  8. Component Diagram
  9. Package Diagram
  10. Deployment Diagram
  11. Composite Structure Diagram
  12. Activity Diagram
  13. Use Case Diagram
  14. Statechart Diagram
  15. Timing Diagram
  16. Sequence Diagram
  17. Communication Diagram
  18. Interaction Overview Diagram

Vi presentiamo un modulo del Corso.

Letture Consigliate

Prima del corso Unified Modeling Language (UML), si consiglia la lettura dei seguenti testi:

  • Learning UML 2.0 (Miles) [libro cartaceo]
  • UML 2.0 in Action: A Project-Based Tutorial (Baumann, Baumann, Grassle) [libro cartaceo]

Dopo il  corso, si consiglia l'approfondimento con:

  • UML 2.0 in a nutshell (Pilone e Pitman) [libro cartaceo]
  • Unified Modeling Language User Guide, 2nd Edition (Booch, Rumbaugh, Jacobson) [libro cartaceo]

 

Programma Completo

1. Overview

  • Un po’ di storia
  • Evoluzione
  • UML 2.0
  • Modellare il problema
  • Scopo del modello
  • Qualità di un modello
  • “Cattivo” disegno
  • Rigido
  • Fragile
  • Immobile
  • La mappa e il territorio
  • Rimozione
  • Distorsione
  • Generalizzazione
  • Informazione scartata
  • Principi di modellazione

2. Introduzione all’UML

  • Modellare il Sistema vs Modellare la Base Dati
  • Architettura
  • Use Case View
  • Design View
  • Process View
  • Implementation View
  • Deployment View
  • Approaches
  • MetaMetaModello vs MetaModello
  • MetaModello
  • UML
  • Generalizzazione
  • Dipendenza
  • Associazione
  • Realizzazione
  • UML: Diagrams
  • Rules
  • UML: Estensibilità

3. Modellazione Strutturale

  • UML: Classi
  • Classi
  • Attributi
  • Operazioni
  • Parametri
  • Altre proprietà
  • Classi
  • Template Class
  • Classe di Associazione
  • Inner Class
  • ActiveClass
  • Interfacce

4. Relazioni

  • Dipendenza
  • Generalizzazione
  • Classificazione
  • Associazione
  • Associazione Qualificata
  • Associazione Derivata
  • Aggregazione
  • Composizione
  • Constraint

5. Diagrammi

  • Main Process Workflow
  • Diagrammi
  • UML: Diagrammi
  • Class Diagram
  • Object Diagram
  • Component Diagram
  • Package Diagram
  • Deployment Diagram
  • Composite Structure Diagram
  • Activity Diagram
  • Use Case Diagram
  • State Diagram
  • Timing Diagram
  • Interaction Overview Diagram
  • Communication Diagram
  • Sequence Diagram
  • Component Diagram

6. Class Diagram

  • Il Class Diagram
  • Descrive
  • Punti di vista
  • Il concetto di classe
  • Generalizzazione fra classi
  • Principio di sostituzione
  • Generalizzazione fra classi
  • Associazioni
  • Molteplicità
  • Molteplicità (es.)
  • Navigabilità
  • Vincoli aggiuntivi
  • Class diagram
  • Classi associative
  • Aggregazione
  • Composizione
  • Aggregazione e Composizione
  • Interfacce e realizzazioni
  • Classi parametriche
  • Visibilità di attributi ed operazioni
  • Visibilità: problemi
  • Class diagram resume
  • Gli errori più comuni

7. Object Diagram

  • Introduzione a Object Diagram
  • Tipi primitivi e Oggetti

8. Component Diagram

  • Introduzione a Component Diagram
  • Classi vs Componenti
  • Componenti

9. Package Diagram

  • Introduzione a Package Diagram
  • Package vs Package Diagrams
  • Package
  • Generalizzazione e dipendenze

10. Deployment Diagram

  • Deployment & Component Diagrams
  • Obiettivi
  • Deployment Diagrams
  • Elementi
  • Nodi – Componenti
  • Processori e Dispositivi

11. Composite Structure Diagram

  • Introduzione a Composite Structure Diagram
  • Module Review
  • Elementi(Part-Port-Connector)

12. Activity Diagram

  • Introduzione a Activity diagram
  • a cosa servono I
  • componenti
  • Comportamento condizionale
  • Cicli
  • Comportamento parallelo
  • Combinazione di Fork e Join
  • Thread condizionale
  • Activity diagram
  • Scomposizione di attività
  • Concorrenza dinamica
  • Swimlanes
  • Activity diagram: resume

13. Use Case Diagram

  • Use case diagram
  • A cosa serve?
  • Perchè si usa
  • Scenari ... e casi d’uso
  • Basic e alternative flows
  • Specifica dei casi d’uso
  • Pre e Postcondizione
  • Altre informazioni
  • Casi d’uso
  • Use case diagram
  • Generalizzazione
  • Relazioni fra use cases
  • Punti di estensione
  • Use case diagram
  • Packages
  • Use case diagram: resume

14. Statechart Diagram

  • Statechart diagram
  • Componenti
  • Stati
  • Transizioni
  • Eventi e Condizioni
  • Azioni e Attività
  • A cosa servono gli statechart diagram
  • Stato: notazione
  • Stato
  • Stato iniziale e stato finale
  • State diagram
  • Transizioni triggerless
  • Eventi temporali
  • Sottostati
  • Stati concorrenti
  • History states
  • H e H*

15. Timing Diagram

  • Introduzione a Timing Diagram
  • Elementi minimali
  • Rappresentazione “a valori”
  • Considerazione sui tool

16. Sequence Diagram

  • Introduzione a Sequence Diagram
  • Quando usarli
  • Componenti
  • Messaggi
  • Interaction frames
  • Stereotipi

17. Communication Diagram

  • Introduzione a Communication diagram
  • A cosa serve?
  • Messaggio
  • Equivalenza fra Interaction diagrams

18. Interaction Overview  Diagram

  • Introduzione a Interaction Overview Diagram
  • Notazione degli IOD
  • Tipologie di nodi degli IOD
  • Esempio
Wiki a supporto

Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso.

Sconti e Promozioni

I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo rispetto alla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti.

]]>
http://www.k-tech.it/formazione/corso_unified_modeling_language_uml