Xp Day2009 Modelisation Agile

  • 1,267 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,267
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
66
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. La modélisation agile Pascal Roques 25 mai 2009
  • 2. 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
  • 3. 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 »
  • 4. Plan Introduction Les valeurs Les principes Les pratiques p q Exemple Conclusion 4
  • 5. 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
  • 6. Introduction : au fait, les gurus agiles ? A. Cockburn M. F l M Fowler C. Larman 6
  • 7. 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
  • 8. Introduction : trouver le juste milieu … Pas de modélisation du tout ! Trop de modélisation ! 8
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Organisation selon C. Larman 15
  • 16. Exemple : librairie en ligne (1/4) Diagramme de UC : vue globale des l b l d fonctionnalités 16
  • 17. Exemple : librairie en ligne (2/4) Diagramme de séquence : • scénario nominal d’une visite au site 17
  • 18. Exemple : librairie en ligne (3/4) Diagrammes de classes : g modélisation incrémentale du domaine 18
  • 19. Exemple : librairie en ligne (4/4) 19
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. Solution 1 28
  • 29. Solution 1 29
  • 30. Solution 2 30
  • 31. Solution 2 31
  • 32. Solution 2 32