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
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
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
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