Xp Day2009 Modelisation Agile
Upcoming SlideShare
Loading in...5
×
 

Xp Day2009 Modelisation Agile

on

  • 2,303 views

 

Statistics

Views

Total Views
2,303
Views on SlideShare
2,294
Embed Views
9

Actions

Likes
1
Downloads
65
Comments
0

2 Embeds 9

http://www.slideshare.net 7
http://www.developpez.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Xp Day2009 Modelisation Agile Xp Day2009 Modelisation Agile Presentation Transcript

  • La modélisation agile Pascal Roques 25 mai 2009
  • Présentations : Pascal Roques Modélisation : depuis plus de 20 ans • SADT, OMT, UML, SysML • Blog: http://consultants.a2-artal.fr/proques Méthodes agiles : depuis près de 10 ans • RUP S RUP, Scrum 2
  • A2 – Présentation de la société Société créée début 2009 • Une dizaine de personnes à Toulouse et Paris fin 2009 • Filiale du groupe Artal, SSII spécialiste J2EE de 100 personnes Créée par des consultants venant de groupes de conseil IT • D seniors (plus de 10 d’expérience) Des i ( l d d’ éi ) • Des juniors passionnés par les technologies du domaine de l’IT Société spécialisée dans l’innovation IT l innovation • Conseil sur SOA / BPM / Agilité / Modélisation / Urbanisation • Expertise technique sur J pe t se tec que su J2EE, RIA ( e , GWT, Ajax…) , (Flex, G , ja ) • Spécialistes du Cloud+SaaS en entreprise (SOA sur le Cloud) • Formations sur l’ensemble de ces domaines Forte activité de R&D • Pour la création de cours • Pour l’exploration technique des sujets « de demain » View slide
  • Plan Introduction Les valeurs Les principes Les pratiques p q Exemple Conclusion 4 View slide
  • Introduction : quelques idées fausses … Modélisation Processus lourd l d Tout le monde Les modèles sait modéliser sont figés Modéliser est une perte de Modèle = temps … Documentation Modélisation Outil CASE cher 5 La modélisation agile
  • Introduction : au fait, les gurus agiles ? A. Cockburn M. F l M Fowler C. Larman 6
  • Introduction : la modélisation agile Référence : le livre de Scott Ambler • agile modeling • Eff ti Practices for Effective P ti f eXtreme Programming and th U ifi d P d the Unified Process Accompagné de son site : • www.agilemodeling.com 7
  • Introduction : trouver le juste milieu … Pas de modélisation du tout ! Trop de modélisation ! 8
  • Valeurs de la modélisation agile • Une des raisons principales de modéliser Communication • Un diagramme vaut mille mots ! • Garder les modèles aussi simples que possible Simplicité • P de sur-modélisation ! Pas d déli ti • Modéliser en groupe Feedback • Revoir les modèles avec l’audience ciblée • Implémenter le modèle ! • Prendre les bonnes décisions, même si elles semblent contraire Courage aux « habitudes » • Reconnaître que l’on ne sait pas tout • Les modélisateurs agiles ont l’humilité de reconnaître qu’ils ont Humilité besoin des autres, de leur expertise • Les modèles ne sont jamais parfaits 9 La modélisation agile
  • Principes de la modélisation agile (1/2) Core Principles : • S ft Software is your primary goal i i l • Enabling the next effort is your secondary goal • T Travel li ht l light • Assume simplicity • Embrace change • Incremental change Core Principles (suite) : • Model with a purpose • Multiple models • Quality work • Rapid feedback • Maximize stakeholder investment 10
  • Principes de la modélisation agile (2/2) Supplementary Principles : • Content is more important than representation • Everyone can learn from everyone else • Know your models y • Local adaptation • Work with people’s instincts 11
  • Pratiques de la modélisation agile (1/3) Core Practices : • 1 - It Iterative and i ti d incremental t l modeling • Apply the right artifact(s) • Create several models in parallel • Iterate to another artifact • Model in small increments • 2 - Teamwork • Model with others • Active stakeholder participation • Collective ownership • Display models publicly 12
  • Pratiques de la modélisation agile (2/3) Core Practices : • 3 - Simplicity • Create simple content • Depict models simply • Use the simplest tools • 4 - Validation • C Consider testability • Prove it with code 13
  • Pratiques de la modélisation agile (3/3) Supplementary Practices : • 1 - Productivity • Apply modeling standards • Apply patterns gently • Reuse existing resources • 2 - Documentation • Discard temporary models • Formalize contract models • Update only when it hurts 14
  • Organisation selon C. Larman 15
  • Exemple : librairie en ligne (1/4) Diagramme de UC : vue globale des l b l d fonctionnalités 16
  • Exemple : librairie en ligne (2/4) Diagramme de séquence : • scénario nominal d’une visite au site 17
  • Exemple : librairie en ligne (3/4) Diagrammes de classes : g modélisation incrémentale du domaine 18
  • Exemple : librairie en ligne (4/4) 19
  • Exercice 1 Réalisez : • Un diagramme de cas d’utilisation pour le jeu de démineur • Un diagramme de séquence pour le scénario nominal du cas d’utilisation principal 20
  • Exercice 2 Réalisez : • Un diagramme de classes pour le jeu de démineur • Un diagramme d’états pour une des classes du domaine 21
  • Conception : diagramme de communication Montre la • Met l’accent sur les relations structurelles entre les objets communication entre i ti t • Notation simplifiée par rapport au éléments dans le plan diagramme de séquence • La numérotation décimale permet au sein d’une de montrer l’imbrication des interaction envois de messages 22
  • Conclusion : qu’est‐ce qu’un modèle agile ? Il remplit son objectif et reste compréhensible Il est aussi Il est simple que suffisamment possible mais précis, procure une cohérent et valeur claire détaillé 23
  • Conclusion La valeur ajoutée principale est plus dans l’activité d l’ i i é de modélisation elle-même, que déli i ll ê dans le modèle obtenu ! • …Every model is wrong! and that’s OK (Larman) UML est le standard, mais adoptez juste le j sous-ensemble nécessaire et suffisant ! • Règle des 80 / 20 24
  • Conclusion : et les outils ? Il commence à émerger une offre d’outils « agiles » ! Gratuits et capables de dessiner à partir d’une forme textuelle • http://yuml.me/ Permet de créer des diagrammes UML en ligne et de les publier sur un blog ou un Wiki • http://www umlgraph org/ http://www.umlgraph.org/ Permet de créer des diagrammes de séquence et de classes • http://abstratt.com/ (TextUML Toolkit) Open-source IDE for UML that lets you create models at the same speed you write code • http://metauml.sourceforge.net/ (MetaUML) GNU GPL MetaPost library for typesetting UML diagrams, using a textual notation • http://code.google.com/p/modsl/ (ModSL) Text-to-diagram UML sketching tool • htt // http://www.websequencediagrams.com/ b di / Permet de créer des diagrammes de séquence • http://sdedit.sourceforge.net/index.html p g Permet de créer des diagrammes de séquence 25
  • Des outils UML agiles ! http://yuml.me/ • P Permet de créer des diagrammes UML en td é d di ligne et de les publier sur un blog ou un Wiki [Joueur]-(Jouer une partie de demineur{bg:green}) (Jouer une partie de demineur)<(Configurer le jeu) (Jouer une partie de demineur)<(Consulter l'aide) [Partie|niveau;resultat;temps]0..1-1[Plateau|nbLignes;nbColonnes;nbMines] [Plateau]++1 [Case|x;y;estMinee] [Plateau]++1-*[Case|x;y;estMinee] [Partie]1-1[Joueur|nom] 26
  • Des outils UML agiles ! http://www.websequencediagrams.com/ opt Joueur->Demineur: configurerPartie end loopp alt clic gauche Joueur->Demineur: decouvrirCase else clic droit Joueur->Demineur: marquerCase end Joueur->Demineur: decouvrirCase Demineur->Joueur: Demineur >Joueur: gagné ! opt high score Joueur->Demineur: entrerNom(n) end 27
  • Solution 1 28
  • Solution 1 29
  • Solution 2 30
  • Solution 2 31
  • Solution 2 32