Vous êtes sur la page 1sur 36

Cours MSI-2A filire

ICL
UML : Unified Modelling Language
version 2.1 du 9
novembre 2009
Historique : Grady Booch 1981, ADA, Object Oriented Development
James Rumbaugh 1991, OMT, JOOP (Journal of OO programming)
Ivar Jacobson, OOSE

sept 97, UML 1.1


Rfrences : http://www.omg.org
http://uml.free.fr/ site en franais
en France Pierre Alain Muller (U-Mulhouse) et Valtech

http://uml.developpez.com/
Outils :

StarUML 5.0
Objecteering http://www.objecteering.com/us/produits_pe.php
Rational ROSE , http://www.rational.com
plus de 30 outils de modlisation et de CASE
(Computer Aided Software Engineering)

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

objet 1
Systme
(VEGA2)

Architecture

: acteur (intragissant
avec VEGA2)

lien exprimant que "objet 2 est une sorte de objet 1"

message

lien exprimant que "objet 2


a une relation avec objet 4"

objet 2

message
message

objet 4

message

UML
modelling information
systems
at conceptual level
at logical level

Technologie

lien exprimant que


"objet 2 est
compos de objet 3"
objet 3

Constituant
PERSONNE
n-uplet1
n-uplet2
n-uplet3
n-uplet4

Num_securite_sociale
1 76 02 99 167 098
2 76 04 95 165 008
1 78 12 38 122 4332
1 68 02 99 5649 876

STAGE
n-uplet1
n-uplet2
n-uplet3
n-uplet4
n-uplet5

Num_securite_sociale
1 76 02 99 167 098
2 76 04 95 165 008
1 68 02 99 5649 876
2 76 04 95 165 008
1 76 02 99 167 098

Nom
Dupont
Durand
Faure
Dumontier

proprits

Constituant

Constituant

Prenom
Marcel
Elisabeth
Bertrand
Michel

Constituant
Code_postal
41500
31900
38700
75016

Telephone
06 08 78 65 88
02 99 167 098
04 38 56 45 32
01 55 45 34 87

proprits

D_type_stageTitre
Inge_Adjoint Dfinition d'une politique Qualit
Inge_Adjoint Mise en place d'un SI pour la maintenance
EDT
Reconfiguration des achats
EDT
Reconfiguration des achats
PFE
Mise en place d'un ERP

Document Adobe

Michel Tollenaere

U.M.L. partie 1

Acrobat

Creating the UML Cours MSI-2A filire


UML 2.2

ICL
version 2.1 du 9
2005
novembre 2009

UML 2.0

2009

UML 1.3
OMG Acceptance, Nov 1997

UML 1.1

Final submission to OMG, Sep 97


public
feedback

First submission to OMG, Jan 97

UML 1.0

UML partners

UML 0.9

Web - June 96

OOPSLA 95

Other methods

Michel Tollenaere

U.M.L. partie 1

Unified Method 0.8

Booch method

OMT

OOSE

Cours MSI-2A filire


Contributions to the UML
Harel

Meyer

Statecharts

Before and after


conditions

ICL
version 2.1 du 9
Gamma, et novembre
al
2009

Frameworks and patterns,

HP Fusion

Booch

Operation descriptions and


message numbering

Booch method

Embley

Rumbaugh

Singleton classes and


high-level view

OMT

Jacobson

Wirfs-Brock

OOSE

Responsibilities

Shlaer - Mellor
Object lifecycles

Michel Tollenaere

U.M.L. partie 1

Odell
Classification

Axes de modlisation d un systme


Cours MSI-2A filire
ICL
version 2.1 du 9
Statique (ce que le systme
EST) 2009
novembre
diagramme de classes
diagramme dobjets
diagramme de composants
diagramme de dploiement

Dynamique
(comment le systme
EVOLUE)
diagramme de squence
diagramme de collaboration

diagramme de cas dutilisation

diagramme dtats-transitions

diagramme de collaboration

diagramme dactivits

Fonctionnel
(ce que le systme FAIT)

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
Niveaux dabstraction dun
SI 2.1 du 9
version
novembre 2009
En UML, les mmes modles peuvent tre utiliss diffrents
niveaux dabstraction du plus conceptuel limplantation.
On peut donc appliquer des mcanismes de transformation
continue.

Michel Tollenaere

Conceptuel
organisationnel
logique
physique

U.M.L. partie 1

Les 9 diagrammes dUML 1.1 Cours MSI-2A filire


ICL
(13 diag en 2.0)
version 2.1 du 9
novembre 2009
diagramme de cas dutilisation
diagramme de classes
diagramme de squence
diagramme de collaboration
diagramme dobjets
diagramme dtats-transitions
diagramme dactivits (nous utiliserons IDEF 0)
diagramme de composants
diagramme de dploiement
7

Michel Tollenaere

U.M.L. partie 1

Description UML des diagrammes Cours


UML MSI-2A filire
ICL
version 2.1 du 9
novembre 2009
Diagramme
Ceci est
un commentaire

Cas d utilisation

Collaboration

Michel Tollenaere

Composants

U.M.L. partie 1

Classes

Etats Transitions

Dploiement

Squence

Activit

Objets

Cours MSI-2A filire


Exemples : Quelques diagrammes
ICL
Cas dutilisation
version 2.1 du 9
une fonctionnalit attendue du
novembre 2009
systme par les diffrents acteurs.
Systme
(VEGA2)

: acteur (intragissant
avec VEGA2)

message
message
message

cas d'utilisation

Diagramme de Classes

message

objet 1

Diagramme de squence

lien exprimant que "objet 2 est une sorte de objet 1"

objet 2

lien exprimant que "objet 2


a une relation avec objet 4"

lien exprimant que


"objet 2 est
compos de objet 3"
objet 3

Michel Tollenaere

U.M.L. partie 1

Chaque cas d'utilisation apparat comme un scnario,


dcrit par un ou plusieurs diagrammes de squence.
objet 4

Un diagramme de squences montre les interactions


entre les acteurs et le systme selon un point de vue
temporel pour accomplir une fonctionnalit attendue du
systme (un cas d utilisation). Cest une ensemble de
messages changs entre les acteurs et le systme,
ordonns chronologiquement.

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Modle Fonctionnel

Use Cases = cas dutilisation


diagramme de collaboration

10

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
Diagramme de cas dutilisation
version 2.1 du 9
novembre 2009
Reprsente les fonctions du systme de point de vue de l utilisateur.
Ceci est un cas
dutilisation

relation
Acteur

Ceci est
un acteur

Cas d utilisation

Ceci est
une relation

Elments du diagramme :
acteur : un rle jou par une personne, un service, etc. qui interagit avec
le systme tudi
cas dutilisation : manire spcifique d utiliser un systme. Image dune
fonctionnalit attendue, dclenche en rponse la stimulation dun acteur
relations entre cas dutilisations et acteurs

11

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


Relations entre cas dutilisation
ICL
version 2.1 du 9
novembre 2009
Trois types de relations :
relation de communication : entre un acteur et un cas dutilisation. Exprime lchange
dinformations entre lacteur et le systme.

client

Dclencher virement

relation dutilisation : entre deux cas dutilisation. Exprime que le cas dutilisation source
comprend galement le comportement dcrit par le cas dutilisation destinataire (utile pour la
factorisation de cas).
use
Dclencher
virement

identification

relation dextension : entre deux cas dutilisation. Exprime que le cas dutilisation source tend
le comportement du cas dutilisation cible (utile pour la spcialisation de cas).
extend

12

Michel Tollenaere

Virement par
Internet

U.M.L. partie 1

Dclencher
virement

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Source http://uml.free.fr/
13
U.M.L. partie 1
Michel Tollenaere

Cours MSI-2A filire


ICL
Acteurs : diagramme de cas dutilisation
version 2.1 du 9
novembre 2009
Acteur humain : il sagit ici dun rle et non dun acteur identifi.

Acteur non humain : exemple un logiciel de comptabilit ou dERP avec lequel


le systme interagit
Conoit les schmas
et nomenclatures

Exemple
Dveloppeur

Rcupre les
schmas

Gestion des schmas

Rcupre les
contraintes

Dfinit les contraintes


mcaniques
Gestion des contraintes

Responsable
BE
Gre la cration
et les rvisions
des dossiers variantes

14

Michel Tollenaere

U.M.L. partie 1

Gestion des jobs


<<dpend>>

Gestion des dossiers

Responsable
CFAO
Gre la cration et
les rvisions d un job

Cours MSI-2A filire


Diagramme de Collaboration
ICL
version 2.1 du 9
novembre 2009
particulier sur la structure

Interactions entre objets du systme avec un accent


spatiale statique des objets (contexte des objets). Les messages sont numrots pour
indiquer lordre des envois.
Permet de situer le contexte du systme.
Message : Simple, Asynchrone, Synchrone, Minut
: ascenseur
Objet 1
1 : message

1 : monter

2 : message

: cabine
4 : message

Objet 2

3 : fermer

5 : message

: porte

3 : message

Objet 3

2 : allumer

: lumire

15

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Modle Statique

diagramme d objets
Diagramme de classes

16

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


Objets et classes ICL
TaVoiture : Voiture
version
2.1 du 9
AutreVoiture
: Voiture
Marque
= Renault
novembre
2009
MaVoiture
: Voiture
Marque
= Renault
Objet : une entit concrte avec une identit
bien dfinie qui encapsule un tat et un
comportement. Ltat est reprsent par
des valeurs dattribut et des
associations, le comportement par des
mthodes.
2 objets peuvent tre semblables et pas identiques

Un objet peut tre une instance dune


classe.
Classe : une description dun ensemble dobjets
qui partagent les mmes attributs,
oprations, mthodes, relations et
contraintes.
Une classe peut possder des attributs
ou des mthodes de classe.

17

Michel Tollenaere

U.M.L. partie 1

Modle = Megane
Marque
= Immatriculation
Renault
Modle
= Megane = 648DBX38

Modle
= 1Megane
re
Immatriculation
= 648DBX38
immatriculation
= 16 sept 2009
Immatriculation
= 648DBX38
1re immatriculation
16 000
sept 2007
Kilomtrage
==125
1re immatriculation
16 sept
Kilomtrage
==125
000 1997
Kilomtrage-annuel
? ()
Kilomtrage
= 125 000 ? ()
Kilomtrage-annuel
Kilomtrage-annuel ? ()

Voiture
Marque : chane
Modle : chane
Immatriculation : chane (8)
1re immatriculation : date
Kilomtrage : entier
Kilomtrage-annuel ? ( )
Kilometrage_annuel_moyen ( )

Cours MSI-2A filire


ICL de
Liens diagramme dobjets -/- diagramme
classes
version 2.1 du 9
novembre 2009

Structure statique dun systme, en termes dobjets et de liens entre ces objets.
Ces objets et ces liens possdent des attributs qui possdent des valeurs.
Un objet est une instance de classe et un lien est une instance dassociation.
Nom de lobjet : Classe

Attributs = valeurs

Personne
ge : entier

Etienne : personne

ge = 25

tio
n
tio

1
emploie>

rac

Jean-Luc : personne

patron

Ab
st

Co
nc
patron
r
tis
collaborateur
a

ge = 35

collaborateur
*

Diagramme de classes
Diagramme d objets

18

Michel Tollenaere

U.M.L. partie 1

Diagramme de classes Cours MSI-2A filire


ICL
version 2.1 du 9
Structure statique dun systme, en termes de classes et de relations entre ces classes.
novembre 2009
Voiture
Couleur

Nom de classe
Attributs

exemple :

Oprations ()

Cylindre
Vitesse max
Dmarrer ()
Acclrer ()

Syntaxe:

Freiner ()

nom_attribut : type_attribut = valeur initiale


nom_opration (nom_argument : type_argument = valeur_par_dfaut, ) : type_retourn
Visibilit : trois niveaux de visibilit pour les attributs et les oprations:
public (+) : lment visible tous les clients de la classe
protg ( #) : lment visible aux sous-classes de la classe
priv (-) : lment visible la classe seule

19

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
Nommage des associations
version 2.1 du 9
novembre 2009
constructeur

personne

personne

20

Michel Tollenaere

U.M.L. partie 1

Construire>
fabricant <construit par

produit

<Transporte

vhicule

conducteur

Conduit>

vhicule

propritaire

Possde>

vhicule

employ

<Emploie employeur

passager

directeur

Dirige>

actionnaire

Possde>

socit
socit

vhicule

vhicule

entreprise

Cours MSI-2A filire


ICL
Multiplicit des associations
version 2.1 du 9
novembre 2009
1

Un et un seul (obligatoire)

0 .. 1

Zro ou un (optionnel)

m .. n

De m n (entiers)
quelconque

* ou 0 .. *
1 .. *

Personne

21

Michel Tollenaere

Au moins 1

0..*
Employeur
Employ
1

U.M.L. partie 1

Socit

Associations

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Agrgation:
Association transitive : si voiture est compose de moteur et si moteur est compos de
courroie alors voiture est compose de courroie
Association non symtrique : si voiture est compose de moteur, moteur ne peut pas
tre compos de voiture
Association qui peut tre rflexive : exemple, une fonction peut tre compose dautres
fonctions, un sous ensemble dautres sous ensembles.

Rle et multiplicit :
Une classe a un rle dans une association.
Les rles portent une information de multiplicit prcisant le nombre d associations
auquel une instance d objet peut tre associe. Les multiplicits les plus courantes sont :
1 / 0..1 / m..n / * /0..* / 1..*

22

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


Classe-association ICL
version 2.1 du 9
novembre 2009
Permet de qualifier plus finement une association
Vhicule
+NumImmatriculation
+ChargeUtile
+PermisRequis

Commande
+Num-commande
+date
+PoidsTotal

affrte
Vhicule

+NumImmatriculation
+ChargeUtile

traite
0..1
SocitTransport
+NumSIRET
+NomCommercial
+TypeTransport

affrte
1..*
0..1

Michel Tollenaere

+NumSIRET
+NomCommercial
+TypeTransport

PeriodeConduite

0..1

+t0
+tf
+kilometrage

conduit

0..1

0..*

conduit
1...2
Chauffeur
+Nom
+Prnom
+Adresse
+TypePermis

23

SocitTransport

0..*

1..*

U.M.L. partie 1

Chauffeur
+Nom
+Prnom
+Adresse
+TypePermis
+KilometrageAnne()

Cours MSI-2A filire


ICL
Placement des attributs et des associations
version 2.1 du 9
novembre 2009
Etudiant

1
0..*
Diplme
Mention

1
Note
- valeur
0..1

Chambre
Numro

24

Michel Tollenaere

U.M.L. partie 1

Ralise >
0..*
0..*

Travail

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Contraintes

personne

Est_titulaire>
1

personne

0 .. *

compte

{Ordonne}
0 .. *
Parent d lve

classe

{Sous ensemble}

0 .. *
Dlgus

personne

0 .. *
Enseignants

0 .. *

{Ou-exclusif}

Etudiants

25

Michel Tollenaere

U.M.L. partie 1

universit

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Agrgation

Livre

1 .. *
1

Chapitre

{Ordonne}

{Ordonne}
1 .. *

Paragraphe

26

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Composition

Homme

Tte

La composition traduit une dpendance existentielle forte.

27

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


Diagramme de classes : Relations entreICL
classes
version 2.1 du 9
novembre 2009
Agrgation : quand une classe fait partie dune autre classe (agrgat - composant)
Association : toute relation structurelle entre classes, autre que lagrgation et la
gnralisation

classe 2

gnralisation

classe 1

n
tio
a
i
oc
ass

spcialisation

Gnralisation (voir transparents UML2) : factorisation des lments communs dun


ensemble de classes dites sous-classes dans une classe plus gnrale dite super-classe.
Elle signifie que la sous-classe est un ou est une sorte de la super-classe. Le lien inverse
est appel spcialisation

constructeur

1..*

vhicule

1..*

Construit par

classe 3
agrgation

28

Michel Tollenaere

classe 4

U.M.L. partie 1

voiture

camion

avion

moteur

Cours MSI-2A filire


Exemple de diagramme de classes
ICL
version 2.1 du 9
Problme
Titre_Problme
novembre 2009
Projet
Objectif
Delai
Prix
NiveauPriorite
FicheEtude
Conclusion

Problme()
Tes_infos?()
Nou_Paramtres()
Crer_Etude()

NomProjet
NumroPDM
DateDebutProjet

1..*

Induit 1

1..*

Projet()
Tes_infos?()
Nouv_Paramtres()
Crer_Problme()

LesProblmes

1..*

Outil Simulation

EstResoluPar
0..*
Etude

0..1
CompltePar
0..*

Titre_Etude
NomPice
ButEtude
TypeEtude
Conclusion
Etude()
Tes_infos()
Nouv_Paramtres()
Crer_Cycle()
Ajouter_Conclusion()

29

Michel Tollenaere

U.M.L. partie 1

LesProjets

0..1

Suivant
0..*
1..*

LesEtudes

Crer_Projet()
Modifier_Projet()
ModifierParamtre_Projet()
Crer_Problme()
Modifier_Problme()
ModifierParamtre_Problme()
Crer_Etude()
Modifier_Etude()
ModifierParamtre_Etude()
FaireAppelAUneAncienne_Etude()
Conclure_Etude()
Crer_Cycle()
Modifier_Cycle()
ModifierPramtre_Cycle()
Rajouter_Entit()
Conclure_Cycle()

Cours MSI-2A filire


ICL
version 2.1 du 9
novembre 2009

Modle Statique
Passage dun diagramme de classe UML
un modle relationnel pour SGBD

30

Michel Tollenaere

U.M.L. partie 1

e
qu
i
t
ta
s
e
l nel :
d
mo ation s
u
d rel tion
e
g
a
ssa L au ssoci
a
P UM a
Classe
les

Cours MSI-2A filire


Rgle 0 & 1: attributICL
et classe
version 2.1 du 9
novembre 2009

produit

fournisseur

Rf-produit
Libell-p
Prix-vente-p

Code-fournisseur
Adresse
Tlphone

Relation / Table
Produit (Rf-produit, Libell-p, Prix-vente-p)
Fournisseur (Code-fournisseur, Adresse, Tlphone)
31

Michel Tollenaere

U.M.L. partie 1

La
M
U

e
qu
i
t
s ta :
e
l
d n ne l n s
o
u m el at i o ci at i o
d
r ss o
ag e
a
s
s
Classe
l es
Pa

Cours MSI-2A filire


ICL
Rgle 2 : relation de multiplicit
(1)
version 2.1 du 9
novembre 2009

produit
Rf-produit
Libell-p
Prix-vente-p

< fournir

fournisseur
1 Code-fournisseur
Adresse
Tlphone

Remise
- valeur
Relation / Table
Produit (Rf-produit, Libell-p, Prix-vente-p, Code-fournisseur, remise)
Fournisseur (Code-fournisseur, Adresse, Tlphone)

32

Michel Tollenaere

U.M.L. partie 1

eU
u
q
i
tat
s
:
e
dl nnel ns
o
u m e l at i o ci at i o
d
r s so
a ge
a
s
s
l es
Pa

a
ML

Classe

Cours MSI-2A filire


ICL
Rgle 3 : relation de multiplicit (0-1)
version 2.1 du 9
novembre 2009

produit
Rf-produit
Libell-p
Prix-vente-p

fournisseur
*

< fournir

0-1 Code-fournisseur
Adresse
Tlphone

Remise
- valeur

Relation / Table
Produit (Rf-produit, Libell-p, Prix-vente-p, remise, Code-fournisseur)
Fournisseur (Code-fournisseur, Adresse, Tlphone)
33

Michel Tollenaere

U.M.L. partie 1

Cours MSI-2A filire


ICL
Rgle 4 : relation de multiplicit (0..*) (1..*)
version 2.1 du 9
novembre 2009
Classe

La
M
U

e
qu
i
t
s ta l :
e
l

e
od ionn ions
m
u elat ciat
d
r sso
ge
a
a
s
s
l es
Pa

produit
Rf-produit
Libell-p
Prix-vente-p

fournisseur

< fournir

0..* Code-fournisseur
ou Adresse
1..* Tlphone

Remise
- valeur

Relation / Table
Produit (Rf-produit, Libell-p, Prix-vente-p)
Fournisseur (Code-fournisseur, Adresse, Tlphone)
Fournir (Rf-produit, Code-fournisseur, remise)
34

Michel Tollenaere

U.M.L. partie 1

eU
u
q
i
tat
s
:
e
dl nnel ns
o
u m e l at i o ci at i o
d
r s so
a ge
a
s
s
l es
Pa

a
ML

Cours MSI-2A filire


ICL oriente
Rgle 5 : relation rflexive
version 2.1 du 9
novembre 2009
Relation / Table
Pre (nom-fils, nom-pre)
Classe

Personne
0..*

nom
1

pre de >
35

Michel Tollenaere

U.M.L. partie 1

eU
u
q
i
tat
s
:
e
dl nnel ns
o
u m e l at i o ci at i o
d
r s so
a ge
a
s
s
l es
Pa

a
ML

Cours MSI-2A filire


ICL
Rgle 6 relation rflexive symtrique
version 2.1 du 9
novembre 2009
Relation / Table
Personne (Nom)
Frre (nom1, nom2)
Classe

Personne
nom

Attention, la relation tant


transitive, des traitements devront
tre associs au modle.

36

Michel Tollenaere

U.M.L. partie 1

frre de