uml2

26
UML 2.0 : quoi de neuf, docteur ?

Upload: pascal-roques

Post on 04-Jul-2015

2.780 views

Category:

Technology


0 download

DESCRIPTION

UML 2.0 : quoi de neuf, docteur ?

TRANSCRIPT

Page 1: Uml2

UML 2.0 :

quoi de neuf, docteur ?

Page 2: Uml2

Présentations

Intervenant : Pascal Roques

• Formateur et consultant senior chez Valtech Training

• Responsable de toute l’offre formation autour de la

modélisation avec UML

• Certifié par l’OMG :

OCUP Advanced

• Auteur de plusieurs ouvrages sur UML 2

chez Eyrolles…

Page 3: Uml2

Notre programme

1. Présentation générale d’UML 2.0

2. Modélisation statique : principales

nouveautés

3. Modélisation dynamique : principales

nouveautés

4. Conclusion

Page 4: Uml2

1. Présentation générale

d’UML 2.0

Page 5: Uml2

Historique d’UML

Booch'93 + OMT-2

UML 1.0

UML 0.9

UML 1.1

UML 1.5

Partenaires

UML

09/1997 : révision 1.1

11/1997 : adoption par l'OMG

03/2003 : révision 1.5

10/1994

10/1995

06/1996

01/1997 : soumission à l'OMG

Unified Method 0.8

Industrialisation

Standardisation

Unification

Fragmentation G. Booch

Booch-91

J. Rumbaugh

OMT-1

I. Jacobson

OOSE

http://www.uml.org/

03/2005

Page 6: Uml2

Critique d’UML 1.x :

Ce qui a été positif :

• Exister !! (répondre à un vrai besoin)

• …

• Plus de sémantique que dans les notations d’origine

• Des abstractions de plus haut niveau que ce qui est

disponible dans les langages OO Diagrammes d’états et d’activité

Support pour spécifier les interactions entre objets

Cas d’utilisation

• Extensibilité prévue dès le départ Stéréotypes, profils, etc.

Page 7: Uml2

Critique d’UML 1.x :

Ce qui a été négatif : • Manques pour modéliser certains aspects :

Systèmes complexes

Décomposition en sous-systèmes

Interactions hiérarchiques

Processus métier

Component-based development

• Sémantique pas toujours adéquate Distinction diagrammes d’activités / d’états ?

Héritage de diagrammes d’états

• Pas de capacité d’échange de diagrammes entre outils Limitations de XMI (XML Metadata Interchange)

Page 8: Uml2

Les diagrammes d’UML 2.0

UML 2.0 propose 13 types de diagrammes :

• Diagramme de cas d’utilisation

• Diagramme de classes

• Diagramme d’objets

• Package diagram

• Composite structure diagram

• Interaction overview diagram

• Diagramme de séquence

• Diagramme de communication

• Timing diagram

• Diagramme d’activité

• Diagramme d’états

• Diagramme de composants

• Diagramme de déploiement

New !?

New !

New !

New !

Modified !

Modified !

Modified !

Page 9: Uml2

2. Modélisation statique :

principales nouveautés

Page 10: Uml2

Classes et associations ne suffisent pas !

Limitations importantes !

• Associations au même niveau de décomposition

Page 11: Uml2

Associations dans un contexte !

Diagramme de structure composite

• Le contexte est aussi une classe !

Page 12: Uml2

Port

Les ports de communication

• Encapsulent l’extérieur pour l’intérieur !

• Peuvent supporter des interfaces multiples

• Sont reliés par des connecteurs

Page 13: Uml2

Composant

Un composant spécifie un contrat formel par

ses interfaces fournies et requises

• Classe structurée particulière !

id Component Model

Composant1

I2

Composant2

ComposantStructuré

Port1

Composant3 Composant4

I1

«delegate»

Page 14: Uml2

Déploiement

On ne déploie

plus des

composants,

mais des

artifacts

dd Deployment Model

Noeud1

Noeud2«artifact»

Artifact1

SousNoeud

«artifact»

Artifact2

Component Model::

Composant4

«artifact»

Artifact3

«deploy»«manifest»

Page 15: Uml2

3. Modélisation dynamique

: principales nouveautés

Page 16: Uml2

Sémantique plus précise

Meilleure définition des concepts de base

Meilleur séparation des types de diagrammes

Page 17: Uml2

Interactions

Plus de formes graphiques, enrichies

• Séquence Interaction frames

Opérateurs (loop, alt, opt, ref, par, etc.)

Gardes

Décomposition structurelle

• Communication Rien de nouveau…

• Interaction overview

• Timing

Page 18: Uml2

Compléments UML 2.0

Opérateurs :

• alt

• loop

• opt

• par

• …

Référence

d’un

diagramme

dans un autre

sd Exemple

Acteur1

X

alt exemple à deux branches

[C est vraie]

[C est fausse]

ref Autre interaction

demande

retour

message asynchrone

m1

m2

Page 19: Uml2

Interaction

Overview Diagram

Diagramme

d’activité

montrant des

flots entre

interactions

sd Interaction ov erv iew

ref

Sequence1

Decision

ref

Séquence2ref

Sequence3

Merge

sd Seq

:ClasseA :ClasseB

:ActeurHumain

Page 20: Uml2

Diagramme de temps : exemple

Changements d’états en fonction du temps

td Timing

Tim

eL

ine

1etat11

etat12ev 1

{10} {20}

Tim

eL

ine

2

etat21

etat22

etat23

ev 2

{20}

ev 3

{20}

Tim

eL

ine

3

e1 e2

{20}

e1

0 10 20 30 40 50 60 70 80 90 100

Page 21: Uml2

Diagramme d’activité

Le diagramme d’activité représente

les étapes d’une procédure

• Similaire au bon vieux « Flowchart »

(organigramme)

Les briques de base

• Actions

• Flots

• Décisions

• Début et fin(s)

Page 22: Uml2

Diagramme d’activité : compléments

Signaux

Fork / join

Partitions

ad Activ ity Diagram

Partition2

Partition1

RegionInterruptible

Action1

Action2

Activ ité3

FlowFinal

decision

Action4 AcceptEvent

SendSignalObjet1 :

Classe1

merge

Timer

ActivityFinalActivityFinal2

ActivityInitial

Interruption

[condition]

[else]

UML 2.0!

Page 23: Uml2

Machines à états : nouveautés

Modularité :

• entry point,

• exit point,

• submachine…

Redéfinition

Page 24: Uml2

4 : Conclusion

Page 25: Uml2

Conclusion

UML 2.0 est la première révision majeure

d’UML !

Mais UML 2.0 est bien plus complexe que

UML 1.x …

• UML™ 1.4 : 566 pages (avec OCL)

• UML™ 1.5 : 736 pages (avec les Actions)

• UML™ 2.0 (version d’octobre 2004)

Infrastructure: 199 pages

Superstructure: 804 pages

OCL 2 spec: 214 pages

Total: 1217 pages

Page 26: Uml2

Fin …

Merci de votre attention !

• Références : J. Rumbaugh, UML 2.0 – Guide de référence, 2004, CampusPress

P. Roques, UML 2 par la pratique, 4è ed., 2005, Eyrolles

C. Larman, UML 2 et les Design Patterns, 2005, Campus Press

• Sites web : http://www.uml.org/

http://sparxsystems.com.au/resources/uml2_tutorial/

http://www-128.ibm.com/developerworks/rational/rationaledge/

http://uml.developpez.com/

http://www.valtech-training.fr/

http://pascalrq.blogspot.com/