Vous êtes sur la page 1sur 154

UED Pilotage et Matrise de la

chane Logistique

UML
Unified Modeling Language
Laure FREBOURG - laure.frebourg@u-pec.fr

Diaporama : Guy ISHIOMIN et Laure FREBOURG

Objectifs du cours
Ce quest UML
L'utilisation d'UML dans un projet informatique
Concept informatique dobjet
Etre capable de lire les diagrammes UML
En comprendre les principes dlaboration
Contrle de connaissances : QCM au test
2

Plan du cours
1.
2.
3.
4.
5.

Introduction
Modlisation des objets
Modlisation du comportement
Modlisation de linstallation
Etudes de cas

1.Introduction

UED Pilotage et Matrise de la


chane Logistique

UML
Unified Modeling Language
Laure FREBOURG - laure.frebourg@u-pec.fr

Diaporama : Guy ISHIOMIN et Laure FREBOURG

Historique
Dveloppement des langages de
programmation objet (notamment C++
dans les annes 80, JAVA annes 90)
Besoin d'une modlisation objet
Nombreuses mthodes ont merg
Fusion en 1997 avec UML, langage
standardis par OMG (Object
Management Group)
6

Webographie

Webographie

Webographie

Information
Information : interprte par un agent
Types d'information dans l'organisation :
Donnes relles
Donnes gnres partir de traitements
Agrgation de donnes oprationnelles
Objectifs
Dcisions

Qualits de l'information : exactitude,


pertinence, compltude, disponibilit

10

Systmes dinformation
Thorie systmique : 3 sous-systmes
Systme de dcision

Systme d'information

Systme oprant

11

Systmes dinformation
Dfinition : Ensemble des moyens
matriels, logiciels et humains qui
permettent la gestion de l'information au
sein de l'organisation :
Acquisition de l'information
Stockage de l'information
Traitement de l'information
Diffusion de l'information
12

Systmes dinformation
Systme dinformation

Sous-systmes informatiss
13

UML : orient processus


Processus : ensemble d'activits ayant
pour objet l'obtention d'un rsultat final
dfini
Correspondent aux activits de base de
l'entreprise
Ralises par des ressources (humaines,
informatiques, techniques, etc.)
organises
14

Processus : ensemble d'activits


Une activit est caractrise par :
Sa place chronologique dans le processus
Donnes d'entre
Donnes de sortie
Ressources mobilises
Moyens de pilotage

Guy ISHIOMIN

15

Cycles de vie dun projet informatique

Dfinition des objectifs


Analyse des besoins et faisabilit
Conception architecturale
Conception dtaille
Implmentation
Tests
Intgration
Documentation, formation
Mise en production
Maintenance
16

Cycle en cascade

Tir de commentcamarche.net/genielogiciel/cycle-de-vie.php3

17

Utilisateurs et informaticiens

18

De la ncessit de se
comprendre...

19

Russite ou chec des projets

Enqutes de Standish Group, commentes dans AMIET mmoire Excia.CESI

20

Cycle en V

Tir de commentcamarche.net/genie-logiciel/cycle-de-vie.php3

21

Mthodes agiles ou itratives


Conception initiale minimale
Intgration progressive de fonctionnalits avec
tests et validation par le client chaque itration
pas d'effet tunnel
Incapacit l'exhaustivit du client en dbut de
projet
collaboration avec le client plutt que
ngociation contractuelle
ouverture au changement plutt que plan rigide
22

Mthodes agiles ou itratives


RAD : Rapid Application Developement
XP : Extreme Programing
RUP : Rational Unified Process (proprit IBM),
bas sur UML
collaboration permanente avec le client
ncessit d'un langage commun
U.M.L.

23

Axes mthodologiques
Modlisation des processus mtiers
Modlisation du systme dinformation
Construire des reprsentations
Dialogue entre les acteurs du projet
Rutilisation et production de composants logiciels
Matrise des volutions

24

Urbanisation

Oresys.eu

25

Les grands principes de la


modlisation
3 principes sont retenus pour la modlisation
dun systme dinformation :

Le dcoupage en domaines
Lapproche par niveaux
La diversit des points de vue

Ali SIADAT

26

Le dcoupage en domaines
Si le systme modliser est vaste, un dcoupage permet
de mieux comprendre, de matriser son
dveloppement et dassurer des volutions partielles.
Principe 1 : Le systme dinformation dune entreprise est
dcoup en sous-systmes dinformation que lon
appelle domaines. Un domaine reprsente un
mtier, cest--dire une mission, un savoir-faire, des
comptences.

Ali SIADAT

27

Lapproche par niveaux


Le modle ANSI/SPARC a propos 3 niveaux de
description dune base de donnes, cette ide a
t tendue la modlisation des systmes
dinformation.

Principe 2 : La reprsentation dun systme


dinformation se fait dabord un niveau
conceptuel-organisationnel, puis un niveau
logique et enfin un niveau physique.
Ali SIADAT

28

La diversit des points de vue


Un systme dinformation est souvent complexe. Une
des caractristiques de cette complexit est quon
ne peut en rendre compte par une reprsentation
unique.

Principe 3 : La modlisation dun systme


dinformation sappuie sur plusieurs types de
diagrammes, qui rendent chacun compte dun
point de vue particulier.
Ali SIADAT et Guy ISHIOMIN

29

Qualit des modles

Cohrence
Compltude
Capacit de vrification
Prcision
Capacit de gnration de code

Conception SI Assiste par Ordinateur (Atelier


Gnie Logiciel)
Ali SIADAT

30

Classification des mthodes


Les mthodes de spcification et de conception
Mthode oriente
objets
Mthode oriente
comportement
Mthode oriente
donnes
Mthode fonctionnelles
hirarchiques

U.M.L. classe-relation - OOA OMT

Diagramme Etat/Transition (rseaux de Petri) SART

Entit association (Merise) IA NIAM

Data Flow / SADT/ SA.SD --- Structure Chart


Ali SIADAT

31

Gnalogie dUML
2011

U.M.L. 2.4

2005

U.M.L. 2

1997 2003

Use case
(I. Jacobson)

U.M.L. 1.1 1.5


(Rumbaugh, Booch, Jacobson)

O.M.T.
(J. Rumbaugh)

OOA-OOD
(G. Booch)

Classe Relation

OOA - OODLE

(P. Desfray)

(Schlaer & Mellor)

Etat - Transition
Data flow
(De Marco)

(Harel)

Entit-Association
(Chen)
32

Formalisme dUML
Vues : description du systme oriente vers
une certaine fonction
Diagrammes : graphes reprsentant les
interactions entre les lments
Modles dlments : composants de base
de la description du systme
Langage OCL : Object Constraint Language
33

Les vues

34

Les vues
Logique : modlisation des principaux
lments darchitecture et mcanismes
logiciels. Vue des quipes de conception
et dveloppement.
Implmentation : modules (composants
logiciels) qui implmentent les lments
dfinis dans la vue logique. Vue des
quipes dintgration.
35

Les vues
Processus : synchronisation des
processus, vue utile dans le cas
darchitectures complexes multi-tches.
Dploiement : elle prcise larchitecture
informatique de production

36

La vue cas d'utilisation


Description centrale
Systme "utilis" par les acteurs
Correspond aux besoins attendus par
chaque acteur (QUOI et QUI).

37

Les diagrammes

UML-2-OMG-Rfrence-05-07-04

38

Exemple de diagramme de cas


dutilisation

OCTO-architecture-des-SI

39

Exemple de diagramme dactivit

OCTO-architecture-des-SI

40

Exemple de diagramme de
squences

OCTO-architecture-des-SI

41

Exemple de diagramme de classes


et dobjets

Tir de http://laurent-audibert.developpez.com/Cours-UML/

42

Des outils logiciels

43

Exemple du produit Modelio

44

Les diagrammes

45

Diagrammes Structurels ou
Diagrammes statiques
Diagramme de classes : classes
intervenant dans le systme.
Diagramme d'objets : instances de
classes (objets) utilises dans le systme.
Diagramme de composants : permet de
montrer les composants du systme d'un
point de vue physique, tels qu'ils sont mis
en uvre (fichiers, bibliothques, bases
de donnes...)
46

Diagrammes Structurels ou
Diagrammes statiques (suite)
Diagramme de dploiement : reprsente les
lments matriels (ordinateurs, priphriques,
rseaux, systmes de stockage...) et la manire
dont les composants du systme sont rpartis
sur ces lments matriels et interagissent avec
eux.
Diagramme des paquetages : relations entre des
ensembles de classes regroupes en
paquetages (UML 2)
Diagramme de structures composites : relations
entre sous-systmes (UML 2)
47

Les diagrammes

48

Diagrammes Comportementaux ou
Diagrammes dynamiques
Diagramme des cas d'utilisation : dcrit les possibilits
d'interaction entre le systme et les acteurs, c'est--dire
toutes les fonctionnalits que doit fournir le systme.
Diagramme tats-Transitions : montre la manire dont
l'tat du systme (ou de sous-parties) est modifi en
fonction des vnements du systme.
Diagramme d'activit : variante du diagramme d'tatstransitions, permet de reprsenter le dclenchement
d'vnements en fonction des tats du systme et de
modliser des comportements paralllisables (multithreads ou multi-processus).

49

Les diagrammes

50

Diagrammes d'interactions
Diagramme de squence : reprsentation
squentielle du droulement des
traitements et des interactions entre les
lments du systme et/ou des acteurs.

51

Diagrammes d'interactions (suite)


Diagramme de communication : reprsentation
simplifie d'un diagramme de squence se
concentrant sur les changes de messages
entre les objets.
Diagramme global d'interaction : variante du
diagramme d'activit o les nuds sont des
interactions.
Diagramme de temps : reprsentation des
interactions o l'aspect temporel est mis en
valeur.

52

Utilisation des diagrammes


De la matrise douvrage
De
De cas
cas dutilisation
dutilisation
De
De classe
classe
Dactivits
Dactivits

Dobjet
Dobjet

De
De paquetage
paquetage

Dtats
Dtats

De
De communication
communication
De
De composants
composants

De
De structures
structures composites
composites

A la matrise duvre

De
De squence
squence

Global
Global d'interaction
d'interaction
De
De temps
temps

De
De dploiement
dploiement
53

2. Modlisation des objets

Un monde dobjets
Les objets du monde rel nous entourent,
ils naissent, vivent et meurent
Les objets informatiques dfinissent une
reprsentation simplifie des entits du
monde rel
Les objets reprsentent des entits
matrielles ou abstraites (concept)
Un objet encapsule le comportement et la
connaissance dune abstraction
55

Les objets sont des abstractions


Abstraction : facult des humains de se concentrer
sur lessentiel et doublier les dtails pour
dcouvrir des concepts.

Une abstraction est un rsum, un condens


Mise en avant des caractristiques essentielles
Dissimulation des dtails
Une abstraction se dfinit par rapport un point de vue
Un objet nexiste pas de faon isole : fournit un ensemble
de services, ou demande un ensemble de services

56

abstractions
Exemple de concepts concrets (crs partir dexemples rels) :
milou, rintintin, flipper, lassy,
Concept chien (poils, dents, 4 pattes, .), Concept dauphin
Exemple de concepts abstraits (crs partir dun raisonnement) :
Concept de mammifre
Les concepts dpendent du contexte (point de vue) :
exemple sur le concept de voiture
trois personnes : vendeur de voiture, assureur, mcanicien
trois points de vue : marchandise, contrat assurance, systme
mcanique

57

Caractristiques fondamentales
des objets
Rgler le temps de cuisson
Rgler
lheure
allumer

Rgler la puissance
Fiche technique
900W
23*45 cm
gris

Ltat
Le comportement
Lidentit

9:35

58

Ltat dun objet


Ltat regroupe les valeurs instantanes
de tous les attributs dun objet
Ltat volue au cours du temps
Ltat dun objet un instant donn est la
consquence de ses comportements
passs

59

Exemples
Pour un signal lectrique :
lamplitude, la frquence, la
phase...
Pour une voiture : la marque,
la puissance, la couleur, le
nombre de places assises ...
Une voiture
30 litres

Une voiture

Aprs un parcours
de 100 Km

Bleu
Une voiture
20 litres

979 kg
12 CV
60

Le comportement
Le comportement dcrit les actions et les
ractions dun objet
Le comportement regroupe toutes les
comptences dun objet
Le comportement peut se reprsenter
sous la forme doprations ou de fonctions
appeles mthodes

61

Comportement (suite)
Etat et comportement sont lis :
Le comportement dpend de ltat
Ltat est modifi par le comportement
: Avion
En vol

Atterrir
Dcoller
: Tour de contrle

: Avion
Au sol

UML

62

Les objets interagissent


Les objets mettent et reoivent des messages

s()
m
ers
y
o
env

rc
ept

UML

ion
ner
sm

s()

63

Les objets sont associs

moteur

voiture
roue

roue
roue
64

Dfinition de lobjet
Objet : lment matriel ou immatriel,
dans la ralit tudie, qui satisfait aux
principes de distinction, de permanence et
dactivit.

Un objet possde une identit, un tat et


un comportement.
65

Reprsentation UML dun objet


Ma_voiture
Couleur = rouge
Puissance (CV) = 12
Masse (Kg) = 979
Dmarrer ( )
Freiner ( )
Acclrer ( )

Lidentit permet de distinguer tout objet de faon


non ambige, indpendamment de ltat
Ltat regroupe les valeurs instantanes de tous
les attributs dun objet
Le comportement dcrit les actions et les
ractions dun objet (mthodes)
66

Objets et classes
Abstraction des objets dfinit une classe
Objet est une instance dune classe
Une classe est un moule objet
Voiture
<<instance de>>
MaVoiture

<<instance de>>
CelleDuVoisin
67

Les diagrammes

68

Reprsentation UML dune classe


Fichier
nomDeFichier : string
tailleEnOctets : int
dernireMaJ : date
Imprimer ( )
Renommer( )

Nom de la classe
Liste des attributs avec le type
Oprations ou mthodes spcifiques la classe
69

Notation dinstance
608237:Fichier
42161:Fichier

nomDeFichier : prs.ppt

nomDeFichier : poly.doc

tailleEnOctets : 13800

tailleEnOctets : 4500

dernireMaJ : 11/12/2011

dernireMaJ : 8/12/2011

Imprimer ( )

Imprimer ( )

Renommer ( )

Renommer ( )

:Fichier
nomDeFichier : prs.pdf

Notation anonyme

tailleEnOctets : 3800
dernireMaJ : 11/01/2012
Imprimer ( )
Renommer ( )
70

Oprations et mthodes
Nom
Paramtres (optionnel)
Nom
Type
Entres/Sorties (In/Out)

Valeur de retour
Opration : signature = nom + paramtres
Mthode : comportement, traitement (=
implmentation d'une opration)

71

Messages
Demande faite par lobjet metteur
lobjet rcepteur dexcuter lune de ses
oprations
Demande dopration avec
paramtres

Valeur de retour

Messages
mis

Objet rcepteur

72

Constructeur, destructeur
Constructeur : opration dfinie pour la
cration (instanciation) dun objet.
Destructeur : opration dfinie pour la fin
dun objet.
Correspondent des messages particuliers
et nont pas de valeur de retour
73

Hirarchies de classes
Grer la complexit
Arborescences de classes dabstraction
croissante

Gnralisation
Super-classes

Super-classe

Spcialisation

Classe plus
gnrale

Sous-classes

Hritage

Sous-classe

Classe plus
spcialise

74

Gnralisation
Factoriser les lments communs
attributs, oprations et contraintes
Abstraction plus gnrales
Vhicule

Vhicule terrestre

Voiture

Camion

Vhicule arien

Avion

Hlicoptre

75

Spcialisation
Extension cohrente d'un ensemble de classes
rutilisation du code dj crit
ajout de nouvelles fonctionnalits
Transmission

Continue

Variateur

Discrte

Drailleur

Bote de vitesses

Extension par spcialisation


76
Guy Ishiomin

Polymorphisme : redfinition
Une mthode peut-tre redfinie dans une
sous-classe.

Un mme message va dclencher des traitements


diffrents selon la classe de lobjet qui le reoit
77

Polymorphisme : surcharge
Une classe peut avoir plusieurs mthodes
avec le mme nom mais des paramtres
diffrents
Ex : surcharge de constructeur lorsque
tous les attributs ne sont pas
ncessairement renseigns

78

Classes abstraites et
Design Pattern
But : dfinir des traitements gnriques
indpendants des types des attributs et
des paramtres des oprations.
Notation UML : italique

Ncessit de dfinir des sous-classes


pour avoir des objets.
79

Analyse / Programmation
Analyse et conception objet
nimpliquent pas
Langage de programmation objet

80

Modlisation des associations


moteur

voiture
roue

roue
roue

81

Modlisation des donnes et bases


de donnes
Base de donnes : ensemble de donnes
volutives organis logiquement et
physiquement pour tre utilis par des
programmes multiples.

82

Systme de gestion de bases de


donnes
Composants (programmes) lmentaires
daccs aux donnes.
Centraliser et partager linformation.
Assurer lindpendance donnes/traitements.
Prserver la cohrence et la persistance
dans le temps des donnes.
Transactions
Sauvegardes
83

Modles des SGBD


SGBD relationnels : oracle, db2, SQL
server, MySQL, Access, .
SGBD objets (souvent adaptation des
grands diteurs)
Langage SQL : langage de requte non
procdural.
84

Vous avez aim Merise


Enchanement des modles de Donnes
Niveau
Conceptuel

Approche ENTITE / RELATION


Approche relationnelle
MCD sous forme
de tables logiques

Niveau
Logique

MCD sous forme dEntits


et de Relations
MCD normalis
(rgles de passage)

MLD brut sous forme de Tables logiques


Valorisation

MLD valoris
Optimisation

MLD optimis
Niveau
Physique

MPD
85

Modle
Conceptuel de
Donnes

86

Vous aimerez le diagramme de classes

87

Vrification du modle : rgles de


normalisation
Rgle 1: toutes les proprits sont lmentaires
(non dcomposables).
Rgle 2: chaque objet doit possder un
identifiant et un seul.
Rgle 3: les proprits dun objet autres que
lidentifiant doivent tre en dpendance
fonctionnelle monovalue de cet identifiant (Ex.
il ne peut pas y avoir plusieurs prix unitaires
pour un article).
88

Association entre classes


Pour dcrire les attributs dune classe on fait
souvent rfrence des attributs dautres
classes. Une association permet cette
rfrence tout en respectant la rgle de non
redondance.
Notation :
Nom de lassociation

Classe 1
*

Classe 2

89

Liens entre objet


Instance dune association
Classe

Objets

90

Cardinalit / Multiplicit
Cardinalit : nombres minimum et maximum doccurrences de la relation
pouvant exister pour une occurrence de lobjet
0,N

1,1

Client
X

Commande
X

X
X
X

X
X

X
X
X

Multiplicit : nombre dobjets de la classe pouvant tre associs un seul et


unique objet de la classe lautre extrmit
91

Cardinalit / Multiplicit
MERISE

UML

Exactement une

1,1

Plusieurs (0 ou plus)

0,N

0..* ou *

Optionnelle (0 ou 1)

0,1

0..1

1 ou plus

1,N

1..*

N1,N2

N1..N2

Plage spcifie

92

Les classes-associations
Association + attributs
Commande
num e ro C o m m a nde : inte ge r
da te C o m m a nde : da te

Article
*

1..*

num e ro Article : inte ge r


libe lle Article : string
prix Unita ire : flo a t
qua ntite EnSto ck : inte ge r

Concerner
qua ntite C o m m a nde e : inte ge r

93

Association et rles
Les extrmits dune associations peuvent tre nomme

94

Association rflexive
Association dune classe avec elle mme
parent

parent
1..2

Personne
enfant

No m : string
P r no m : string

95

Les classes au-del des limites du


modle relationnel
Ajout de mthodes :

Attribut multivalu :

96

Visibilit des attributs et des


mthodes
Public : accessible pour tout utilisateur
dune classe, y compris la classe ellemme.
+
Protg : accessible par la classe ellemme et par ses hritiers. #
Priv : accessible seulement par la classe
elle-mme (tout accs autre se fait par le
biais d'accesseur gnralement nomms
get et set).
-
97

Contraintes sur les associations


{Ordonn}
propritaire

Personne

proprit
{Ordonn}

Compte

{Ou-exclusif}

{Sous-ensemble}
Service

membre 1..*
{sous-ensemble}
chef

Personne

1
98

Lagrgation
Une association de type agrgation traduit la volont
de renforcer la dpendance entre les classes.
Lagrgation correspondant une classification, la
granularit de lagrg tant plus importante que celle
de lagrgat.

Lagrgation se reprsente en
ajoutant un petit losange du cot de
lagrgat
99

Composition
La composition est un cas particulier dagrgation.
Elle implique une concidence des dures de vie
du composant et du composite.

La destruction dune instance de dossier entrane la


destruction des instances des document associes

100

Application

1 Modliser le fait qu'une rservation soit effectue par un client.

101

Application

2 Modliser le fait qu'un vol soit propos par une compagnie arienne.
Dans le cadre des alliances comme Skyteam un vol peut tre propos par
plusieurs compagnies.
102

Application

3 Un vol peut faire des escales dans des aroports (on doit connatre les
heures d'arrive et de dpart lors de l'escale)
103

Application

Source : UML en action, Roques, Eyrolles

Autre possibilit : tablir une classe Escale associe un vol et un aroport.


104

Les diagrammes

105

Le diagramme dobjet
Exemples dinstances de classes
Fournit des donnes pour les tests

106

Application
Etablir le diagramme de classes associ
ce diagramme d'objets :

107

Les diagrammes

108

Paquetages (packages)
Groupe dlments (classes, associations,
objets, diagrammes) partageant un thme
commun.
Notation :
Numerique

Numerique::Matrice

109

Diagramme de paquetage
Permet de dfinir des domaines et des dpendances entre ces domaines

110

Diagramme de paquetage
Dpendance ; 1 classe d'un paquetage
(origine flche) demande les service d'une
classe d'un autre paquetage (destination)
Il ne faut pas de dpendance circulaire
Les paquetages dont dpendent
beaucoup d'autres paquetages doivent
peu voluer

111

3. Modlisation des comportements

112

Les diagrammes

113

Les vues

Diagramme de cas d'utilisation : aspect central d'UML.

114

Principes du diagramme de cas


dutilisation

Modle servant spcifier le comportement dun


systme ou dun sous-systme.

Permet lutilisateur de comprendre comment utiliser


les fonctionnalits de llment.

Montre plus prcisment :

Limites du systme
Acteurs extrieurs
Interactions entre acteurs et fonctions
Fonctions internes au systme
115

Acteurs du systme
Entits externes au sous-systme.
Interagissent avec le systme par des
vnements ou des messages.
Sont dfinis par le rle qui leur est attribu.
Peuvent correspondre aussi bien des
personnes qu du matriel ou un autre
systme.
On modlise gnralement les acteurs
principaux gauche et les secondaires droite.
116

Acteurs : formalisme
Classe prdfinie <<acteur>>
Rserver

Systme : Borne Libre


Service SNCF

:Client

Rparer

Hritage entre acteurs


:Agent de maintenance

:Grand voyageur
UML

117

Les cas dutilisation

118

Intrt des cas dutilisations


Constituent un moyen de dterminer les besoins
dun systme
Utiliss par les utilisateurs finaux pour exprimer
leurs besoins
laboration des spcifications du systme
Permettent dimpliquer les utilisateurs ds les
premiers stades du dveloppement
Constituent une base pour les tests fonctionnels

119

Scenario
Format de reprsentation textuelle souple et
riche, qui permet de prciser :
La description des interactions dans un cas
typique de succs (le cas nominal)
Les variations du cas (cas particuliers)
Les contraintes diverses, questions ouvertes,
etc.
Outil de description des cas d'utilisation pour le
dialogue utilisateur- informaticiens
Outil pour la conception des scenarii de tests
120

Scenario

121

Exemple de scenario
Description
Objectifs :
Ce cas traite des actions conduites pour assurer des stocks satisfaisants .
Acteur :
Le grant ou son adjoint
Actions :

grant

Rapprovisionnement
des stocks

1. Scnario principal
1.1 dterminer les besoins
1.2 choisir le fournisseur
1.3 passer la commande
2. Scnario : pas de fournisseur
2.1 rfrencement d'un fournisseur
2.2 retour 1.3
Rgle de gestion :
- On favorise le fournisseur le plus proche
Document :
- Catalogue fournisseur

122

Scenario

Source : Cockburn, Rdiger des cas d'utilisation efficaces, Eyrolles

123

Diagramme de cas dutilisation


Relations
Communication, association : entre un acteur et un cas
dutilisation : Echange dinformations entre lacteur et le
systme.

Inclusion entre deux cas dutilisation. Le cas dutilisation


source comprend galement le comportement dcrit par le cas
dutilisation destinataire.

UML (Guy Moroz)

124

Diagramme de cas dutilisation


Relations (suite)
Extension entre deux cas dutilisation.
Le cas dutilisation source est une spcialisation du
cas dutilisation cible, il ne comprend que la
description particulire.

UML (Guy Moroz)

125

Diagramme de cas dutilisation


Exemple

126

Application : guichet
automatique bancaire
Un porteur de carte
bancaire peut utiliser le
guichet pour retirer de
l'argent.
Si c'est un client de la
banque, il peut galement
consulter son solde ou
dposer de l'argent

127

Application : guichet
automatique bancaire
Un porteur de carte
bancaire peut utiliser le
guichet pour retirer de
l'argent.
Si c'est un client de la
banque, il peut galement
consulter son solde ou
dposer de l'argent

Source : UML en action, Roques, Eyrolles

128

Les diagrammes

129

Diagramme de Squences
Exprime la squence des interactions entre objets
du systme selon un point de vue temporel, pour
raliser le cas dutilisation.
2
3
5
1
4

130

Diagramme de Squence
Reprsente les objets impliqus dans le
processus.
Un objet peut-tre une instance de classe ou un
acteur.
Ligne de vie dun objet (verticale) : le temps
scoule de haut en bas. Permet de voir les
messages envoys ou reus par l'objet (flches)
et l'activit d'un objet (surpaisseur).
Un message reu porte gnralement le nom
d'une opration de la classe.
Les messages peuvent tre asynchrones ou
synchrones.
131

Diagramme de squence : exemple

Source : UML en action, Roques, Eyrolles

132

Application
Etablir les diagrammes de cas d'utilisation et de squence correspondant ce cas :

133

Application
Diagramme de cas d'utilisation :

134

Application
Diagramme de squence :

135

Les diagrammes

136

Diagramme de communication
Dcrit, par une reprsentation spatiale statique, les
changes de messages entre les objets
: ascenseur

On approche du diagramme de squence


sans la dimension temporelle.

1 : monter

: cabine
3 : fermer

: porte
2 : allumer

: lumire

137

Les diagrammes

138

Modlisation du comportement des


objets
Comportement dun objet en rponse
des stimuli, des messages externes
Etats : passif, actif
Transitions : passages dun tat un autre
Evnements : faits marquants, occurrences
dans le temps
Action, activit : traitement effectu par lobjet

Automate fini, machine tats finis


139

Diagramme tats-transitions
Reprsentations
du cycle de vie
auquel doivent
se conformer
toutes les
instances dune
classe donne

140

Diagramme dEtats : Dfinitions


Un tat dcrit une priode durant la vie dun objet,
caractrise par
un ensemble de valeurs dattributs portes par lobjet
lattente par lobjet dun vnement particulier (ou plusieurs)
ou la ralisation par lobjet dune activit particulire

Une transition dcrit la raction dun objet lorsquun


vnement se produit (gnralement lobjet change
dtat)
UML (Ali Siadat)

141

Diagramme dEtats : Dfinitions


Un tat peut porter une activit
complexe, et dcomposable en activits ou en actions
qui peut tre interrompue par un vnement

Un tat ou une transition peut porter une action


simple, non dcomposable
atomique, qui ne peut tre interrompue

Les paramtres des vnements matrialisent le flot


dinformation
Garde : condition boolenne qui valide ou non le
dclenchement dune transition lors de loccurrence dun
vnement
UML (Ali SIADAT)

142

Etat
Chaque objet est un moment donn dans un tat
particulier :
Etat Initial : tat dune instance juste aprs sa cration (un seul
tat initial)
Etat Intermdiaire : un objet est toujours dans un tat donn
pour un certain temps
Etat Final : tat dune instance la fin du diagramme
Sortie, entre : utilis dans les sous tats
tat initial

tat intermdiaire

un autre tat
Deux possibilits pour le
placement du nom

tat final

sortie
entre
143

Transition

Transition : relation entre 2 tats indiquant quun objet


dans le premier tat va excuter une action et entrer
dans le deuxime tat quand un vnement apparatra
Condition : expression boolenne devant tre vrifie
pour permettre la transition
Etat final
Etat initial
Condition
Evnement
Mineur

anniversaire [ge=18 ans]

Majeur

Transition
UML (Ali SIADAT)

144

Activits et actions
Action : opration atomique (non interruptible)
dclenche par une transition
Activit : opration qui dure un certain temps
(interruptible) dans un tat particulier

Arrt

Appui bouton tage( N )[ N!=tage courant ]


/dmarrer moteur

Action

Marche
do/ tourner moteur

Activit
145

Activits et actions (suite)


Action au cours dune transition

Action en entre dtat


Activit
Actions en rponse un vnement
Action en sortie

UML (Ali SIADAT)

146

Evnements
Signal : envoi et rception asynchrone sans
retour du rcepteur
Appel dopration : demande dexcution
dune fonction avec ventuellement des
paramtres
Temporel : dclenchement une date
donne (when) ou aprs une temporisation
(after)
UML

147

Application
Modlisation d'une caisse automatique : L'tat le plus courant est
celui de l'attente d'un client. Lorsqu'un client scanne un article, elle
se met enregistrer les articles les uns aprs les autres. Si le
client slectionne fin de vente, la caisse attend le paiement.
Une fois le paiement saisi, la caisse attend le client suivant.

148

Application
Modlisation d'une caisse automatique : L'tat le plus courant est celui de
l'attente d'un client. Lorsqu'un client scanne un article, elle se met enregistrer
les articles les uns aprs les autres. Si le client slectionne fin de vente, la
caisse attend le paiement. Une fois le paiement saisi, la caisse attend le client
suivant.

149

Application
Cas Rveil-matin :
On peut mettre l'alarme en fonction ou hors fonction.
Quand l'heure courante devient gale l'heure d'alarme, le rveil sonne.
On peut interrompre la sonnerie avec le bouton Stop, sinon la sonnerie
s'arrte au bout de 59 minutes.
Etablir le diagramme d'tats-transitions.

150

4. Modlisation de linstallation

151

Les diagrammes

152

Diagramme de Dploiement
TCP/IP

: Station
HP

: Modem
ADSL

1.5 Mbit/s
*

noeud avec attribut


*

: Serveur
HP

RAM > 128 Mo

TCP/IP

connexion :
dcrit la connexion entre deux noeuds

TCP/IP
1 {scuris}

: Portable

noeud :
une classe ou une instance
de matriel

contrainte (laccs au noeud est scuris)

admin : Serveur {HP-UX v4.5}


HP

telnet.exe

sysAdmin : IHM

contrainte (version dOS)


ce noeud contient
telnet.exe

composant (un excutable)

executable

database
users

relation de dpendance

UML (Ali Siadat)

153

Diagramme de Composants

Permet ventuellement de dcrire les composants logiciels


connus, dans le cadre dune politique de rutilisation

Composant = partie physique et remplaable dun systme


ralisant un ensemble dinterfaces

<<SGBDR>>
* base de
donnes agence

<<SGBDR>>
* base de
donnes central

Dpendance
Composant

<<RMI Server>>
* Serveur mtier

<<web>>
Serveur
client

Multiplicit
<<EXE>>
* Application
agence

<<EXE>>
* Application
central

UML (Ali Siadat)

Strotype
154