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