Agile and Iterative Agile Modeling con UML, Patterns e sviluppo Test

Transcript

Agile and Iterative Agile Modeling con UML, Patterns e sviluppo Test
LA TECHNOLOGY TRANSFER PRESENTA
CRAIG
LARMAN
Agile and Iterative Agile Modeling
Development: con UML, Patterns e
a Manager’s Guide sviluppo Test-Driven
ROMA 9 GIUGNO 2008
ROMA 10-13 GIUGNO 2008
VISCONTI PALACE HOTEL - VIA FEDERICO CESI, 37
[email protected]
www.technologytransfer.it
AGILE AND ITERATIVE DEVELOPMENT: A MANAGER’S GUIDE
DESCRIZIONE
Questo corso molto intenso e molto pratico spiega le principali ricerche, idee e pratiche sullo sviluppo
Iterativo. Questo seminario rappresenta una guida ad alto impatto per Managers sui metodi di sviluppo Agile
e Iterativo: cosa sono, come lavorano, come si implementano e perché devono essere usati. Usando significative ricerche e Case Studies, Craig Larman, esperto di questi metodi, presenta un caso convincente di sviluppo Iterativo. Il seminario offre un sommario efficace e conciso delle principali idee che guidano tutti i processi Agile e Iterativi, con alcuni dettagli sui principali metodi Iterativi: Scrum, Lean Development e altri.
In particolare questo seminario fornirà:
• Prove convincenti che i metodi Iterativi riducono il rischio di progetto
• FAQ (Frequently Asked Questions)
• Valori e pratiche Agile e Iterative
• Molti suggerimenti utili per le pratiche più importanti nei metodi Agile e Iterativi
• Nuovi skills di Management per i Leaders di progetti Agile/Iterativi
• I movimenti Lean Manufacturing/Thinking e la loro applicazione allo sviluppo software
• Consigli utili per Scrum, Lean Software Development, un Agile UP, XP e altri
PARTECIPANTI
• IT Executives
• Project Managers
• Sviluppatori
• Software Engineers
Tutti i Professionisti di IT che vogliono capire la promessa dello sviluppo Iterativo, propagandare queste idee
attraverso l’organizzazione e trasformare questa promessa in realtà.
DOCUMENTAZIONE
Oltre alla documentazione tecnica,
i partecipanti riceveranno una copia
del libro di Craig Larman
“Agile and Iterative Development:
A Manager’s Guide”.
AGILE MODELING CON UML, PATTERNS E SVILUPPO TEST-DRIVEN
DESCRIZIONE
Questo workshop di coaching personalizzato si rivolge a sviluppatori e architetti ed è basato su molti anni di
esperienza e sulle esperienze di migliaia di studenti. È un corso molto intenso che si basa sulla pratica.
Imparerete a pensare in oggetti, a fare il design con i Patterns, ad applicare il Visual Modeling, a fare lo sviluppo Test-Driven, applicare refactorings e tools di refactoring, trasformare modelli agili OO in codici e tests OO e
l’UML in un approccio di Agile Modeling. Imparerete ad affrontare un problema attraverso l’analisi dei requisiti, l’analisi architetturale e il design nel contesto di un processo iterativo. Il seminario apre con un Case Study
che Vi permetterà di acquisire skills attraverso una serie di passi: a cominciare dai Casi d’Uso, quindi il
Modeling del dominio, poi il design dell’oggetto con Patterns e l’assegnazione di responsabilità, infine il mapping del design dell’oggetto al codice. Questi skills saranno applicati ancora una volta in una seconda iterazione dello stesso Case Study per andare ancora più in dettaglio, rinforzare la conoscenza e illustrare lo sviluppo iterativo. A ogni iterazione successiva verranno introdotti nuovi concetti. In breve, in questo seminario si
lavorerà molto e si applicheranno tutti i concetti attraverso esercitazioni e Case Studies per permettere ai partecipanti di acquisire quelle conoscenze e quella confidenza che permetterà loro di fare il design dell’oggetto
e di applicare i Patterns. Viene usato UML nel contesto dell’analisi e del design anche se l’enfasi verrà posta
su come pensare e progettare con gli oggetti, piuttosto che sulla notazione. Il metodo scelto per insegnare
OOA/D è un approccio leggero e agile all’Unified Process (UP). Verranno applicate molte tecniche di insegnamento frutto di 20 anni di esperienza di coaching e di mentoring per massimizzare l’apprendimento, il valore e
il divertimento includendo buzz groups, multi-modal learning e moltissime esercitazioni pratiche.
COSA IMPARERETE
PARTECIPANTI
• A pensare in oggetti
• A fare il design con i Patterns
• Ad applicare il Visual Modeling e l'UML in un approccio di Agile Modeling
• A fare lo sviluppo Test-Driven
• Ad applicare Refactorings e tools di Refactoring
• A trasformare modelli agilli OO in codice e tests OO
• Ad affrontare un problema attraverso l'analisi dei
requisiti, l'analisi architetturale e il design nel
contesto di un processo iterativo
Tutti coloro che sono coinvolti nell’analisi e nel
design per la costruzione di sistemi ObjectOriented con almeno tre mesi di esperienza di
programmazione OO, includendo:
• Sviluppatori
• Architetti
• Analisti di Requisiti
• Analisti di Business
• Process Engineers
Questo workshop di coaching personalizzato
è a numero chiuso, si accetteranno le iscrizioni in ordine cronologico d’arrivo.
DOCUMENTAZIONE
Oltre alla documentazione tecnica,
i partecipanti riceveranno una copia
del libro di Craig Larman
“Applicare UML e i Pattern:
Analisi e progettazione orientata agli oggetti”.
I partecipanti sono invitati a portare il proprio laptop per lo svolgimento degli esercizi.
AGILE AND ITERATIVE DEVELOPMENT: A MANAGER’S GUIDE
PROGRAMMA
1. Metodi Iterativi e Evolutivi
• Sviluppo Iterativo
• Pianificazione Iterativa Risk-driven e Client-driven
• Sviluppo Iterativo timeboxed
• Sviluppo evolutivo e adattabile
• Analisi evolutiva dei requisiti
• Pianificazione evolutiva e adattabile
DOCENTE
6. Scrum, XP, Agile UP e altri
metodi
• Panoramica su Scrum, XP, Agile
UP e altri metodi
• Workproducts, ruoli e pratiche
• Valori
• Comuni errori e incomprensioni
• Esempi di progetti
• Miscugli di processo
• Strategie di adozione
2. Metodi Agili
7. Lean Software Development
• Classificazione di metodi
• Il manifesto e i principi dell’Agile
• Agile Project Management
• Le Qualità dell’Agile
• Modelli empirici verso modelli
definiti verso modelli prescrittivi
• Il team come un complesso sistema adattabile
3. Uno scenario per un Agile
Project
4. Motivazione
• I fatti che determinano un cambiamento sui progetti software
• Le principali motivazioni per lo
sviluppo Iterativo
• Raccogliere i requisitivi Iterativamente
• Problemi con il Waterfall
5. Prova
• Ricerca della prova
• Prima prova storica sul progetto
• La prova “Standards-Body”
• La prova del leader esperto
• Un Business Case per lo sviluppo Iterativo
• Il pericolo delle sotto-ottimizzazioni nel miglioramento del processo
• La straordinaria potenza dello
sviluppo Lean nel manufactoring
• I 5 principi generali di Lean
• La realizzazione di Lean
Software Develompment nelle
pratiche Agile
• I 7 principi del Lean Software
Development
• I 22 Lean Software Development
thinking tools
• Spreco nello sviluppo software
• Massimizzare il valore del cliente
con le pratiche Lean
• Piccoli batches nel Lean
Software Development
8. Consigli pratici
• Project Management
• Ambiente
• Requisiti
• Test
9. FAQ
(Frequently Asked Questions)
Craig Larman è Chief Scientist
della Valtech, una società di consulenza internazionale che applica
metodi agili e tecnologie ad oggetti.
È autore del grandissimo best seller “Applying UML and Patterns:
an Introduction to OOA/D and
the Unified Process”, tradotto in 9
lingue e usato nelle Università e
nel Business in tutto il mondo. Ha
pubblicato di recente il libro: “Agile
and Iterative Development: a Manager’s Guide”. È co-autore di
“Java 2 Performance and Idiom
Guide” e di “Applying Design
Patterns with C#”. È conosciuto
nella comunità internazionale del
software come un esperto e coach
nelle tecnologie Object, OOA/D,
Patterns, UML, Agile Modeling, un
approccio Agile all’Unified Process
(UP), alla combinazione fra UP, XP
(Extreme Programming) e Scrum,
metodi di sviluppo Agili-Iterativi. È
uno speaker di grande fama che
partecipa regolarmente alle principali conferenze dell’industria presentando Keynotes e tutorials.
Insegna OOA/D dal 1986 e ha formato migliaia di sviluppatori. È un
grandissimo professionista che nutre una passione per l’eccellenza e
l’alta professionalità. La sua tecnica di insegnamento si basa su una
teoria che tende a massimizzare il
valore dell’apprendimento e il divertimento per i partecipanti.
AGILE MODELING CON UML, PATTERNS E SVILUPPO TEST-DRIVEN
PROGRAMMA
1. Introduzione a OOA/D
• Cosa è OOA/D?
• UML
• Patterns
• Cosa è importante?
• Metodi di sviluppo:
UP, XP, Scrum e altri
2. Un processo Iterativo e Agile;
Agile Modeling
• Metodi Iterativi e ciclo di vita timeboxed
• Modelli e prodotti in output delle
attività di analisi e design
• Agile Visual Modeling
3. Requisiti Iterativi
• Documentazione moderna dei
requisiti
• Analisi dei requisiti evolutiva e
Iterativa
4. Scrivere Casi d’Uso: requisiti
contestualizzati
• Definizione e motivazione
• Casi d’Uso e scenari
• Casi d’Uso come storie testuali e
non diagrammi
• Lo stile popolare di Cockburn per
i Casi d’Uso
• Livelli di Casi d’Uso
• Linee guida per la modellazione
dei Casi d’Uso
• Stili di descrizione sintetici e approfonditi per i Casi d’Uso
• Linee guida per la scrittura dei
Casi d’Uso
• Diagrammi dei Casi d’Uso
• Esempi
• Esercitazioni, con supporto alla
pratica
5. Visualizzare l’interfaccia del
sistema con i diagrammi di
sequenza a livello sistema
• Definizione e motivazione
• System Sequence Diagrams
(SSDs)
• Inter-system SSDs
• Linee guida per SSDs
• Esempi
• Esercitazioni, con supporto alla
pratica
6. Domain Modeling: visualizzazione dei concetti
• Definizione e motivazione
• Linee guida: trovare i concetti del
dominio
• Associazioni, molteplicità e attributi
• Mettere in relazione altri modelli
ai modelli del dominio
• Esempi
• Esercitazioni, con supporto alla
pratica
• Notazione dei diagrammi di comunicazione (collaborazione)
• Multioggetti
• Messaggi e numerazione della
sequenza
9. GRASP: fare il design di oggetti con le responsabilità
• Definizione e motivazione
• Design guidato delle responsabilità
• Design Patterns e principi di assegnazione di responsabilità
• Linee guida: i 9 Patterns GRASP
• Esperto, creatore e controllore
dell’informazione
• Basso coupling e alta coesione
• Realizzazioni di Casi d’Uso
• Esempi
• Mettere in relazione altri modelli
con i diagrammi di Interazione
• Esercitazioni, con supporto alla
pratica
10. Creare i diagrammi di classe
a livello di design
7. Aggiungere dettagli con i
contratti sulle operazioni
• Definizione e motivazione
• Pre e post condizioni
• Contratti e modello del dominio
• Categorie di post condizione
• Design per contratto
• Mettere in relazione altri modelli
con i contratti sulle operazioni
• Esempi
• Esercitazioni, con supporto alla
pratica
• Definizione e motivazione
• Ulteriori notazioni del diagramma
delle classi UML
• Mettere in relazione i diagrammi
di Interazione e delle classi
• Errori tipici
• Esempi
• Mettere in relazione altri modelli
con i diagrammi delle classi a livello di design
• Esercitazioni, con supporto alla
pratica
8. Notazione del diagramma di
Interazione
11. Fare il mapping fra design e
codice
• Notazione e principi di design
• UML: diagrammi di sequenza e di
comunicazione (collaborazione)
• Notazione dei diagrammi di sequenza
• Definizione e motivazione
• Programmazione, creatività e
Agile Modeling
• Fare il mapping fra diagrammi di
classe e codice
• Fare il mapping fra diagrammi di
Interazione e codice
• Forward e Reverse Engineering
• Esempi
• Mettere in relazioni altri modelli
al codice
• Esercitazioni, con supporto alla
pratica
12. Test-Driven Development
• Definizione e motivazione:
Unit TDD e Acceptance TDD
• Tools per Unit TDD:
JUnit, CxxTest...
• Guidelines ed esempi
• Esercitazioni, con supporto alla
pratica (implementare i Vostri
modelli di design usando Unit
TDD e Refactoring)
15. Raffinare il modello del dominio con generalizzazioni e
tipi di associazione
• Definizione e motivazione
• Nomi di ruolo
• Modellare le quantità
• Generalizzazione
• Aggregazione
• Classi associative
• Esercitazioni, con supporto alla
pratica
16. Altri elementi UML ad alta
frequenza
• Stereotipi
• Elementi astratti
• Interfacce
• Interfacce e polimorfismo nei diagrammi di Interazione
13. Refactoring
• Definizione e motivazione
• Code Smells
• Tools per il Refactoring:
Eclipse, IDEA, XRefactory, Ref++
• Top-ten refactorings
• Esercitazioni, con supporto alla
pratica (implementare i Vostri
modelli di design usando Unit
TDD e Refactoring)
14. Mettere in relazione i Casi
d’Uso
• Definizione e motivazione
• La relazione include
• Linee guida
• Altre relazioni tra Casi d’Uso?
• Esempi
• Esercitazioni, con supporto alla
pratica
17. Più Patterns per il design a
oggetti: GOF e GRASP
• Più GRASP: pura fabbrica di oggetti, indirezione, variazioni protette, polimorfismo
• Patterns di design della Gang-offour
• Façade, Adapter, Factory,
Singleton, Strategy, State
• Esempi
• Esercitazioni, con supporto alla
pratica
18. Design di una architettura
logica con i Patterns
• Definizione e motivazione
• Il Pattern Layers
• UML correlato: diagrammi di
package, diagrammi di deployment, stereotipi di sottosistema
• Layer e session facades
• Processo: quando focalizzarsi
sull’architettura
• Esercitazioni, con supporto alla
pratica
Cosa dicono di Craig Larman:
“Craig è un grande insegnante, un
metodologo brillante e un “guru” di
OO”.
Philippe Kruchten, Lead Architect,
The Rational Unified Process, autore di “The RUP: an Introduction”
“Craig è molto chiaro, è altruista, è
visionario e molto percettivo su
quello che funziona e quello che
non funziona”.
Peter Coad, CEO, TogetherSoft
“Solo poche persone hanno l’abilità di saper spiegare le cose.
Ancora meno hanno una gestione
sull’analisi e il design del software.
Craig possiede entrambe le cose”.
John Vlissides, autore di “Design
Patterns”
“La gente spesso mi chiede qual è
il miglior libro per introdursi nel
mondo del design OO. La mia
scelta incondizionata è il libro di
Craig Larman Applying UML and
Patterns.”
Martin Fowler, autore di “UML Distilled ”
“Applying UML and Patterns” è diventato uno standard.
Amazon Editors
INFORMAZIONI
QUOTA DI
PARTECIPAZIONE
MODALITÀ
D’ISCRIZIONE
Agile and Iterative
Development:
a Manager’s Guide
€ 700 (+iva)
Il pagamento della quota,
IVA inclusa, dovrà essere
effettuato tramite bonifico,
codice Iban:
IT 34 Y 03069 05039 048890270110
Banca Intesa Sanpaolo S.p.A.
Ag. 4815 di Roma
intestato alla
Technology Transfer S.r.l.
e la ricevuta di versamento
inviata insieme alla scheda
di iscrizione a:
La partecipazione ad entrambi
i seminari viene offerta ad una
speciale quota di
€ 2500 (+iva)
La quota di partecipazione
comprende documentazione,
colazioni di lavoro e coffee
breaks.
CONDIZIONI GENERALI
In caso di rinuncia con
preavviso inferiore a 15 giorni
verrà addebitato il 50% della
quota di partecipazione, in
caso di rinuncia con preavviso
inferiore ad una settimana
verrà addebitata l’intera quota.
In caso di cancellazione del
seminario, per qualsiasi
causa, la responsabilità della
Technology Transfer si intende
limitata al rimborso delle quote
di iscrizione già pervenute.
TECHNOLOGY
TRANSFER S.r.l.
Piazza Cavour, 3
00193 ROMA
(Tel. 06-6832227
Fax 06-6871102)
Roma, Visconti Palace Hotel
Via Federico Cesi, 37
DURATA
ED ORARIO
1 giorno/4 giorni: 9.30-13.00
14.00-17.00
È previsto il servizio di
traduzione simultanea
entro il 26 Maggio 2008
Vi consigliamo di far precedere
la scheda d’iscrizione da una
prenotazione telefonica.
CRAIG LARMAN
AGILE AND ITERATIVE
DEVELOPMENT:
A MANAGER’S GUIDE
Roma 9 Giugno 2008
Visconti Palace Hotel - Via Federico Cesi, 37
Quota di iscrizione: € 700 (+iva)
TUTELA DATI PERSONALI
Ai sensi dell’art. 13 della legge
n. 196/2003, il partecipante è
informato che i suoi dati
personali acquisiti tramite la
scheda di partecipazione al
seminario saranno trattati da
Technology Transfer anche con
l’ausilio di mezzi elettronici, con
finalità riguardanti l’esecuzione
degli obblighi derivati dalla Sua
partecipazione al seminario,
per finalità statistiche e per
l’invio di materiale
promozionale dell’attività di
Technology Transfer.
Il conferimento dei dati è
facoltativo ma necessario per la
partecipazione al seminario. Il
titolare del trattamento dei dati
è Technology Transfer, Piazza
Cavour, 3 - 00193 Roma, nei
cui confronti il partecipante può
esercitare i diritti di cui all’art.
13 della legge n. 196/2003.
"
Agile Modeling con UML,
Patterns e Sviluppo
Test-Driven
€ 1900 (+iva)
LUOGO
nome ......................................................................
cognome ................................................................
funzione aziendale .................................................
Timbro e firma
azienda ..................................................................
partita iva ...............................................................
AGILE MODELING CON UML,
PATTERNS E SVILUPPO
TEST-DRIVEN
Roma 10-13 Giugno 2008
Visconti Palace Hotel - Via Federico Cesi, 37
Quota di iscrizione: € 1900 (+iva)
ENTRAMBI I SEMINARI
Quota di iscrizione
per entrambi i seminari: € 2500 (+iva)
codice fiscale .........................................................
indirizzo ..................................................................
città ........................................................................
cap .........................................................................
provincia ................................................................
telefono ..................................................................
In caso di rinuncia o di cancellazione dei seminari
valgono le condizioni generali riportate sopra.
fax ..........................................................................
È previsto il servizio di traduzione simultanea
e-mail .....................................................................
Da restituire compilato a:
Technology Transfer S.r.l.
Piazza Cavour, 3 - 00193 Roma
Tel. 06-6832227 - Fax 06-6871102
[email protected]
www.technologytransfer.it