anteo mda aosd

35

Upload: cedric-williamson

Post on 01-Nov-2014

661 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Anteo Mda Aosd
Page 2: Anteo Mda Aosd

Pôle ConseilOffre de conseil et d’expertise du Groupe Sodifrance

Aider nos clients à répondre aux problématiques soulevées par les enjeux des technologies de l’information autour du développement et de la maintenance de leurs Systèmes d’Information :

AMOA : Optimiser le cycle logiciel entre les besoins exprimés par une MOA et sa réalisation par la MOE

Pilotage des projets

Accompagner nos clients dans la production de leurs projets à l’aide de méthodes traditionnelles ou agiles

Architecture technique J2EE /.Net

S'aligner sur les nouvelles architectures et bénéficier de leurs avantages

Industrialisation & MDA :

Accélérer et pérenniser les approches et les développements

Accompagnement & Formation :

Assurer le transfert de compétences, à travers notre organisme de formation agréé disposant de formateurs issus du monde « opérationnel ».

Page 3: Anteo Mda Aosd

Domain Driven Designou « Comment tacler la complexité au

cœur du logiciel ? »

Page 4: Anteo Mda Aosd

But de la présentation

Présenter l’idée centrale du DDDDDD est vraiment très riche

Cette présentation est vraiment très courte

4

Page 5: Anteo Mda Aosd

Origine

Eric Evans

2003

5

Page 6: Anteo Mda Aosd

Définition : le domaine

Sujet auquel un utilisateur applique un programme

sphère de connaissances, d’influences et d’activités

=~ Métier / Business / Fonctionnel / Marché

Focalisé sur

la valeur ajoutée

l’avantage concurrentiel

6

Page 7: Anteo Mda Aosd

Exemple de domaine

Application de fret de marchandise longue distance

Avantage concurrentiel

• Rapidité de livraison• Optimisation du fret

• Suivi en direct des marchandises• Traçabilité

• Etc.

7

Page 8: Anteo Mda Aosd

Définition : Complexité(s) d’un système logiciel

Complexité inhérenterelié au problème qu’il essaye de résoudre

Complexité réelle relié à la taille et à la structure du système réellement construit

=> différenceune mesure de l’incapacité à faire correspondre la solution au problème

8

- Kevlin Henney, “For the sake of simplicity” (1999)

Page 9: Anteo Mda Aosd

DDD : Quel objectif ?

Minimiser cette différenceTacler la complexité réelle

Clarifier la complexité inhérente

FocaliserLe logiciel sur l’avantage concurrentiel

L’entreprise sur sa stratégie

9

Page 10: Anteo Mda Aosd

Quels moyens ?

Aspects techniques

Techniques de modélisation

Stratégies d’entreprise

Principes et bonnes pratiques

10http://www.flickr.com/photos/phploveme/2746295460    

Page 11: Anteo Mda Aosd

Quels acteurs ?

Toute partie prenante

L’équipe créatrice du logiciel

Les experts du domaines

Les utilisateurs

La direction• Stratégie

11

Page 12: Anteo Mda Aosd

Pré-requis

Processus itératif

Accès aux experts du domaine

ÞAgilité

12

Page 13: Anteo Mda Aosd

Modéliser le domainevers une compréhension accrue

13

Page 14: Anteo Mda Aosd

Définition : le modèle

Représentation / vue

du domaine

pour un but particulier : contexte borné

sous-jacente• Pas

• « un » document UML• Mais exprimé dans

• Le code• Les discussions et le vocabulaire• Des diagrammes « type-UML »

14

Page 15: Anteo Mda Aosd

Le modèle est vivant

Apprentissage permanent

Brainstorming

Expérimentation

Récupération de connaissances• Livres• Utilisateurs• Modèles déjà publiés• …

Collaboration avec les experts du domaine

15

Page 16: Anteo Mda Aosd

16

Expression purifiée de l’éléctromagnétismeJames Clerk Maxwell, A Treatise on Electricity and Magnetism, 1873

Page 17: Anteo Mda Aosd

Un langage omniprésent(ubiquitous language)

Bruegel

17

Page 18: Anteo Mda Aosd

18

Des analystes de terrain,des hommes de terrains analystes

Page 19: Anteo Mda Aosd

Distiller le domaineExtraire l’essence du domaine

19

Page 20: Anteo Mda Aosd

Cœur du domaine

Y mettre

Ce qui a le plus de valeur• Avantage concurrentiel

Le faire

Petit

L’attribuer

aux développeurs • Talentueux

• Tendances contraires !

• Pérennes • internes

20

Page 21: Anteo Mda Aosd

Sous-domaines génériques

Ensembles de concepts

Cohérents

N’étant pas la motivation propre du projet• En support des autres domaines

Ne pas mettre les développeurs principaux

Considérer les solutions• Sur étagère• Externalisés

Exemple

Gestion de fuseaux horaires

Pas forcément réutilisable

non prioritaire

21

Page 22: Anteo Mda Aosd

Cartographier le Système, ses interactions et ses contextes

Maintenir l’intégrité du modèle

22

Page 23: Anteo Mda Aosd

Contexte borné (bounded context)

http://www.infoq.com/articles/ddd-contextmappingAlberto Brandolini

23

Page 24: Anteo Mda Aosd

Cartographie des contextes

Interactions entre composant des systèmes

Les modules de l’application entre eux

Les applications entre elles

http://www.infoq.com/articles/ddd-contextmappingAlberto Brandolini

24

Page 25: Anteo Mda Aosd

Noyau partagé

Eric Evans, DOMAIN-DRIVEN DESIGN, Addison-Wesley, Eric Evans, 2004.Creative Commons Deed: Attribution 2.0

25

TranslationMap

shared

Page 26: Anteo Mda Aosd

Client / fournisseur

http://www.flickr.com/photos/chilangoco/    26

Page 27: Anteo Mda Aosd

Conformiste

http://www.flickr.com/photos/mckaysavage/    27

Page 28: Anteo Mda Aosd

http://www.flickr.com/photos/hansol/    28

Page 29: Anteo Mda Aosd

Hôte ouvert

http://www.flickr.com/photos/57768426@N00/    29

Page 30: Anteo Mda Aosd

Notre sous système

Coucheanti-corruption

Autre sous système

Façade

Service A Service B

Traducteur 1

Adaptateur 1 Adaptateur 2

Interface compliquée 423XB

……

……

Classe pas très propre

Classe élégante

Classe expressive

… …

Couche anti-corruption

Expose des services traités par un autre sous-système (legacy)

Dans le langage ubiquitaire

Met en valeur le strict nécessaire de ce sous système

Pattern façade

Relie les deux

Patterns adaptateurs

30

Page 31: Anteo Mda Aosd

Exemple de carte

http://www.infoq.com/articles/ddd-contextmappingAlberto Brandolini

31

Page 32: Anteo Mda Aosd

Conclusion

32

Page 33: Anteo Mda Aosd

L’essentiel

Collaboration créative entre experts du domaine et experts du logiciel

Exploration et expérimentation

Modèles émergents formant et reformant le langage ubiquitaire

Frontières des contextes explicites

Se concentrer sur le cœur domaine

33

Page 34: Anteo Mda Aosd

http://www.flickr.com/photos/phploveme/2746295460    

Page 35: Anteo Mda Aosd

35

?Questions

http://blog.anteo-consulting.com/

[email protected]