Mise à Niveau UML

Addison-Wesley
Page 1 sur 60Lecteur de document UniversityLib

Mise à Niveau UML

Object-Oriented Modeling and UML · notes

Voir tous les documents en génie logiciel

Master MIDO 1 re ann e

Mise Niveau UML

Maude Manouvrier

Vocabulaire, m thodologie et th mes de lorient objet

Mod le de classes

Mod le d tats

Mod le dinteractions

http://www.lamsade.dauphine.fr/~manouvri/UML/CoursUML_MM.html

Bibliographie

Ouvrages/Documents utilis s pour pr parer ce cours :

Mod lisation et conception orient es objet avec UML2 de Michael

Blaha et James Rumbaugh, 2 me dition, Pearson Education France,

2005 Traduction de louvrage Applying Object-Oriented Modeling

and Design with UML, Prentice Hall 2005 - Relecteurs techniques de

la traduction fran aise : Maude Manouvrier et Michel Zamfiroiu

The Unified Modeling Language Reference Manual, 2nd Edition de

James Rumbaugh, Ivar Jacobson et Grady Booch, Addison Wesley

Professional, 2004 Traduction fran aise : UML 2.0, Guide de

R f rence, CampusPress

Le guide de lutilisateur UML de Grady Booch, James Rumbaugh et

Ivar Jacobson, Eyrolles, 2000 Traduction de louvrage The Unified

Modeling Language User Guide; Addison-Wesley, 1998

Transparents de cours de Robert Ogor :

http://grimaag.univ-ag.fr/~mperouma/telechargements/CoursENSTBr.pdf

Transparents de cours de Marie-Jos Blin

Maude Manouvrier - Univ. Paris Dauphine

2

1

Bibliographie

Livres contenant des exercices corrig s :

UML 2 par la pratique : tudes de cas et exercices

corrig s de Pascal Roques, Eyrolles, 2011

UML 2 de Beno t Charroux, Aomar Osmani, et

Yann Thierry-Mieg, coll. Synthex, Pearson

Education, 3e dition, 2010

Cours en ligne :

https://www.lri.fr/~longuet/Enseignements/13-14/Et3-UML/

Maude Manouvrier - Univ. Paris Dauphine

3

Historique

OOSE

de Ivar Jacobson

Notation

de Grady Booch

OMT

(Object Modeling

Technique - 1991)

de James Rumbaugh

UML - Unified Modeling Language

Standard de mod lisation objet

adopt en 1997 par lObject Management Group (OMG)

R vision des sp cifications initiales en 2001 UML 1

Approbation de la version UML 2.0 en 2004

Maude Manouvrier - Univ. Paris Dauphine

4

2

Vocabulaire orient objet (1/3)

Orient objet : organisation dun logiciel sous la forme dune

collection dobjets ind pendants incorporant structure de donn es

et comportement

Objet

" Entit discr te et distinguable, concr te ou abstraite

Ex. Ce transparent; lenseignant M. Manouvrier; la strat gie

p dagogique de cette mise niveau

" Identit intrins que - Identifiant unique

Deux objets sont distincts, m mes sils ont des valeurs

dattributs identiques

Maude Manouvrier - Univ. Paris Dauphine

5

Vocabulaire orient objet (2/3)

Classification : regroupement des objets ayant m me

structure de donn es (attributs) et m me comportement

(op rations)

Ex. TransparentDeCours; Enseignant

Classe : abstraction d crivant un ensemble dobjets

potentiellement infini

Objets Bulles et L gendes

Abstraction

Maude Manouvrier - Univ. Paris Dauphine

Classe BulleEtL gende

Attributs

forme

couleurDeTrait

couleurDeRemplissage

Op rations

dessiner

effacer

d placer

modifierTaille

6

3

Vocabulaire orient objet (3/3)

Instance dune classe : objet appartenant la classe

H ritage : partage de propri t s entre classes sur la base dune

relation hi rarchique

" Super-classe (classe m re)

" Sous-classe (classe fille) : sp cialisation de la super-classe

H ritage des propri t s de la super-classe

Polymorphisme : possibilit de comportements diff rents dune

m me op ration dans diff rentes classes

" Op ration : action ex cut e par un objet ou transformation

subie par un objet

" M thode : impl mentation dune op ration par une classe

Plusieurs m thodes pour une m me op ration

Une m thode par classe pour une op ration donn e

Maude Manouvrier - Univ. Paris Dauphine

M thodologie orient e objet

Sp cification initiale : collaboration entre les analystes m tier et les

utilisateurs pour la gen se de lapplication

Analyse

" tude et re-formulation des besoins : collaboration avec le client pour

comprendre le probl me

" Mod le danalyse : abstraction concise et pr cise de lobjectif du

syst me d velopper (pas de la fa on de le construire)

  • Mod le de domaine : description des objets du monde r el

manipul s par le syst me

  • Mod le de lapplication : parties du syst me visibles par

lutilisateur

Conception : strat gie de haut niveau (architecture du syst me) pour

r soudre le probl me pos

" tablissement des strat gies de conception g n rales

" Allocations pr visionnelles des ressources

Conception des classes : concentration sur les structures de donn es et

algorithmes de chaque classe

Impl mentation

Test

Maude Manouvrier - Univ. Paris Dauphine

7

8

4

Th mes de lorient objet

Abstraction

Concentration sur ce que repr sente un objet et sur son comportement avant

de d cider de la fa on de limpl menter

Encapsulation

Masquage de linformation : s paration des aspects externes dun objet

accessibles aux autres objets, des d tails de limpl mentation cach s aux

autres objets

Regroupement des donn es et du comportement

Polymorphisme transfert de la d cision de quelle m thode utiliser la

hi rarchie de classes

Partage

H ritage possibilit de partager des portions de code communes et

clart conceptuelle (mise en vidence de traitement commun)

Mise en vidence de la nature intrins que des objets : sur ce quest un

objet et non sur la fa on dont il est utilis

Synergie : combinaison des concepts didentit , classification, h ritage et

polymorphisme pour former un langage objet

Maude Manouvrier - Univ. Paris Dauphine

9

Trois mod les (1/2)

Mod le de classes

" Description de la structure statique des objets du syst me et de

leurs relations

" Diagramme de classes : graphe avec pour sommets les classes et

pour arcs les relations entre les classes

Mod le d tats

" Description des tats successifs dun objet au cours du temps

" Diagramme d tats : graphe avec pour sommets les tats et pour

arcs les transitions entre tats d clench es par des v nements

Mod les dinteractions

" Description de la mani re de coop rer des objets pour obtenir un

r sultat

" Cas dutilisation ax sur une fonctionnalit

" Diagramme de s quence : repr sentation des interactions entre

objets et ordonnancement des interactions

" Diagramme dactivit s : d tails des tapes importantes du

traitement

Maude Manouvrier - Univ. Paris Dauphine

10

5

Trois mod les (2/2)

Parties distinctes de la description du syst me

mais interd pendantes

Le plus fondamental : le mod le de

classes

Il est n cessaire de d crire ce qui change

ou se transforme avant de d crire quand et

comment les changements ont lieu

Maude Manouvrier - Univ. Paris Dauphine

11

Mod lisation orient e objet

Mod le : abstraction pour comprendre un probl me avant de

mettre en Suvre une solution

" Tester une entit physique avant de la construire

" Communiquer avec les clients

" Visualiser

" R duire la complexit

Deux dimensions associ es un mod le :

1. Une vue dun syst me (mod le de classes, d tats ou dinteractions)

2. Un stade de d veloppement (analyse, conception ou impl mentation)

Trois mod les en UML

" Mod le de classes : aspects orient s "donn es" du syst me

" Mod le d tats : aspects temporels, comportementaux et de

"contr le " du syst me

" Mod le dinteractions : collaboration entre objets

Un seul aspect du syst me trait par chaque mod le, mais relations entre les

trois mod les

Variation du poids des mod les en fonction du probl me pos

12

Maude Manouvrier - Univ. Paris Dauphine

6

Mod le de classes (1/20)

Description de la structure statique dun syst me

Repr sentation graphique intuitive dun syst me

Vocabulaire :

" Objets

" Classes

" Associations

" Liens

" G n ralisation

" H ritage

Maude Manouvrier - Univ. Paris Dauphine

13

Mod le de classes (2/20) - Objet

Concept,

entit

signification pour une application

abstraction

ou

ayant

une

Avec une contrepartie dans le monde r el, ou

correspondant une entit conceptuelle ou introduit

pour les besoins de limpl mentation

Ex. Maude Manouvrier; la formule pour calculer la

moyenne dun module; le pointeur d sign par la

variable p

Identifi et distinguable des autres objets

Maude Manouvrier - Univ. Paris Dauphine

14

7

Mod le de classes (3/20) - Classe

Description dun groupe dobjets poss dant

les m mes propri t s (attributs) le m me

comportement

les m mes

(op rations),

relations et la m me s mantique

Classe Enseignement

Attributs

intitul

nombreHeures

Op rations

plannifier

Classe Enseignant

Attributs

nom

pr nom

dateDeNaissance

Op rations

affecterEnseignement

Objet : instance de classe

Maude Manouvrier - Univ. Paris Dauphine

15

Mod le de classes (4/20)

Diagrammes de classes : Notation graphique

Publicité

permettant la mod lisation des classes et de

leurs relations

Diagrammes dobjets : Repr sentation des

objets individuels et de leurs relations

Enseignant

MaudeManouvrier:Enseignant

Classe

Objet

Maude Manouvrier - Univ. Paris Dauphine

16

8

Mod le de classes (5/20)

Valeur : donn e sans identit

Attribut : propri t nomm e dune classe

d crivant le type dune valeur contenue dans

chaque objet de la classe

Un objet est une classe ce quune valeur

est un attribut

Enseignant

nom:string

pr nom:string

MaudeManouvrier:Enseignant

nom="Manouvrier"

pr nom="Maude"

Classe avec des attributs

Objet avec des valeurs

Maude Manouvrier - Univ. Paris Dauphine

17

Mod le de classes (6/20)

Identifiant : implicite

Ne pas confondre identifiant interne et attribut

didentification ayant une contrepartie dans le monde

r el

Enseignant

EnseignantID:ID

nom:string

pr nom:string

Enseignant

nom:string

pr nom:string

Enseignant

NUMEN:integer

nom:string

pr nom:string

Maude Manouvrier - Univ. Paris Dauphine

18

9

Mod le de classes (7/20)

Op ration : fonction ou proc dure pouvant tre

appliqu e aux objets ou par les objets dune classe

M thode : impl mentation dune op ration pour une

classe donn e

Fichier

nom:string

localisation:string

imprimer

Maude Manouvrier - Univ. Paris Dauphine

Enseignant

nom:string

pr nom:string

affecterEnseignement (e:Enseignement)

nombreHeuresEnseignement: integer

FichierPowerPoint

nombreTransparents:integer

imprimer

19

Mod le de classes (8/20)

Propri t : terme g n rique pour attribut et op ration

Notation des classes

NomDeClasse

nomAttribut1 : typeDeDonn es1 = Valeur parD faut1

nomAttribut2 : typeDeDonn es2 = Valeur parD faut2

&

nomOp ration1 (listeArguments1) : TypeDuR sultat1

nomOp ration2 (listeArguments2) : TypeDuR sultat2

&

Sens de flux (direction) : indication si un argument

est en entr e non modifiable (in), une sortie (out) ou

une entr e modifiable (inout)

SensDeFlux nomArgument : type = valeurParD faut

[ ]

Maude Manouvrier - Univ. Paris Dauphine

[ ]

20

10

Mod le de classes (9/20)

Liens et associations

Lien : connexion physique ou conceptuelle entre objets

Ex. MaudeManouvrier Professe la MiseANiveauUML

Association : description dun groupe de liens qui

partagent une structure et une s mantique commune

Ex. un Enseignant Professe un Enseignement

Diagramme de classes :

Enseignant

nom:string

pr nom:string

*

Professe

Enseignement

intitul :string

nombreHeures:real

*

Diagramme dobjets :

MaudeManouvrier:Enseignant

nom="Manouvrier"

pr nom="Maude"

Maude Manouvrier - Univ. Paris Dauphine

MiseANiveauUML:Enseignement

Intitul ="Mise niveau UML"

nombreHeures=6

21

Mod le de classes (10/20) - Multiplicit

Nombre dinstances dune classe pouvant tre li es une

instance dune autre classe / contrainte sur le nombre dobjets li s

un- -un

Enseignant

nom:string

pr nom:string

1

z ro- -un

EstAffect A

PosteT l phonique

num ro:string

1

Enseignant

nom:string

pr nom:string

0..1

APourBureau

Bureau

1

num ro:integer

b timent:char

plusieurs- -plusieurs

Enseignant

nom:string

pr nom:string

*

Professe

Enseignement

intitul :string

nombreHeures:integer

*

Maude Manouvrier - Univ. Paris Dauphine

22

11

Mod le de classes (11/20)

Liens et associations

Notation

NomDeClasse

NomDAssociation

NomDeClasse

unObjet:NomDeClasse

NomDeLien

unObjet:NomDeClasse

Impl mentation des associations par r f rence

Ex. Impl mentation de lassociation Professe par un attribut

Enseignements dans la classe Enseignant et/ou un attribut

Enseignants dans la classe Enseignement

!

Ne pas confondre impl mentation et mod lisation

Maude Manouvrier - Univ. Paris Dauphine

23

Mod le de classes (12/20) Noms dextr mit

Possibilit de nommer les extr mit s dassociation

Transparent

titre:string

&

contenu

*

conteneur

1

AppartientA

FichierPowerPoint

nom:string

&

Indispensable pour les associations entre objets de

m me classe

Transparent

titre:string

&

pointant

*

point

*

Maude Manouvrier - Univ. Paris Dauphine

24

12

Mod le de classes (13/20)

Ordonnancement, bags et s quences

Ordonnancement des objets situ s

lextr mit dune

association plusieurs

Transparent

titre:string

&

{ordered}

*

AppartientA

FichierPowerPoint

1

nom:string

&

Bag (sac) : collection non ordonn e avec autorisation de

doublons

S quence : collection ordonn e avec autorisation de doublons

Enseignement

1

*

Maude Manouvrier - Univ. Paris Dauphine

{sequence}

1..*

S ance

{bag}

*

Polycopi

25

Mod le de classes (14/20) - Classe-association

Association qui est galement une classe

Caract ris e par des attributs et des op rations

IntervientDans

nombreHeures:integer

imprimerDecompteHeures

Enseignant

nom:string

pr nom:string

*

*

Professe

DFR

nom:string

*

FaitR f renceA

*

Enseignement

intitul :string

nombreHeures:integer

*

*

Pr Requis

obligatoire:boolean

I

n

d

i

q

u

e

*

*

Maude Manouvrier - Univ. Paris Dauphine

PanneauDAffichage

26

13

Mod le de classes (15/20) - Classe-association

Ne pas confondre classe-association et association

promue au rang de classe

Enseignant

Publicité

nom:string

pr nom:string

*

Enseignement

*

intitul :string

nombreHeures:integer

Un polycopi correspond un seul

couple Enseignant / Enseignement

APourPolycopi

intitul :string

imprimer

Enseignant

nom:string

pr nom:string

R dige

1..*

*

Polycopi

intitul :string

imprimer

Enseignement

APourSupport

*

*

intitul :string

nombreHeures:integer

Un nombre quelconque doccurrences de Polycopi pour chaque Enseignant et

chaque Enseignement

Maude Manouvrier - Univ. Paris Dauphine

27

Mod le de classes (16/20)

Association qualifi e

Qualificateur :

" Attribut permettant de distinguer les objets situ s

lextr mit de multiplicit plusieurs dune association

" Attribut r duisant la multiplicit plusieurs un

Association qualifi e : association contenant un ou

plusieurs attributs qualificateurs

Un num ro de Salle permet didentifier une salle unique dans un

Association

B timent

B timent donn

non

nom:char

qualifi e

nbEtages:integer

Salle

num ro:integer

capacit :integer

Un num ro de Salle est relatif un B timent

SeSitueDans

1

*

B timent

nom:char

nbEtages:integer

num roDeSalle

SeSitueDans

1

1

Salle

capacit :integer

Association

qualifi e

Maude Manouvrier - Univ. Paris Dauphine

28

14

Mod le de classes (17/20)

G n ralisation et h ritage

G n ralisation : relation hi rarchique entre une

classe (la super-classe) et une ou plusieurs

variantes de cette classe (les sous-classes)

Super-classe

classe-m re)

(ou

op rations et associations communs

:

attributs,

Sous-classe (ou classe fille) : attributs, op rations

et associations sp cifiques

H ritage des propri t s de la super-classe par ses

sous-classes

Maude Manouvrier - Univ. Paris Dauphine

29

Mod le de classes (18/20)

G n ralisation et h ritage

{Note : Un

enseignant peut

tre tudiant}

Personne

nom:string

pr nom:string

dateDeNaissance:date

calculerAge:integer

T l phone

num ro:string

type:string

1

*

Formation

1

s

n

a

D

t

i

r

c

s

n

I

t

s

E

*

Etudiant

numCarteEtudiant:integer

inscrire(formation:Formation)

Enseignant

grade:string

Maude Manouvrier - Univ. Paris Dauphine

30

15

Mod le de classes (19/20)

G n ralisation et h ritage

Objectifs de la g n ralisation :

Prise en charge du polymorphisme

Structuration de la description des objets

Possibilit de r utiliser du code

Maude Manouvrier - Univ. Paris Dauphine

31

Mod le de classes (20/20)

G n ralisation et h ritage

Red finition des propri t s :

Transparent

titre:string

&

imprimer

!

Les signatures des

op rations et les types des

attributs red finis dans les

sous-classes doivent tre

compatibles avec ceux de la

super-classe

TransparentFixe

TransparentAvecAnimation

Maude Manouvrier - Univ. Paris Dauphine

32

imprimer

16

Mod le de classes - Concepts avanc s

Concepts de classe et dobjet avanc s

Extr mit dassociation

Associations n-aires

Agr gation

Classes abstraites

H ritage multiple

Contraintes

Donn es d riv es

Packages

Maude Manouvrier - Univ. Paris Dauphine

33

Mod le de classes - Concepts avanc s (1/12)

num ration : type de donn es ayant un

ensemble fini de valeurs

GradeEnseignant

Professeur Ma treDeConf rences ATER Vacataire

enumeration

GradeEnseignant

Professeur

Ma treDeConf rence

ATER

Vacataire

34

Maude Manouvrier - Univ. Paris Dauphine

17

Mod le de classes - Concepts avanc s (2/12)

Multiplicit des attributs

[1] : une valeur obligatoire

[0..1] : une seule valeur optionnelle

[*] : z ro ou plusieurs valeurs

Par d faut : attribut mono-valu ([1])

Personne

nom:string[1]

pr nom:string[1]

adresse:string[1..*]

numDeT l phone:string[*]

dateDeNaissance:date[1]

Maude Manouvrier - Univ. Paris Dauphine

35

Mod le de classes - Concepts avanc s (3/12)

Port e : indication de lapplication dune

propri t un objet (par d faut) ou une

classe

Attribut statique : attribut dont la port e est

la classe

Enseignant

nom:string

pr nom:string

*

Professe

Enseignement

*

nbHeuresEnseignement:integer

dur eEnHeures:integer

intitul :string

nombreHeures:integer

Maude Manouvrier - Univ. Paris Dauphine

36

18

Mod le de classes - Concepts avanc s (4/12)

Visibilit : aptitude dune m thode r f rencer une

propri t depuis une autre classe

public (+) : propri t accessible par nimporte quelle m thode

protected (#) : propri t prot g e dune classe uniquement

visible par les m thodes de la classe et de ses sous-classes

private (-) : propri t uniquement visible par les m thodes de

la classe o elle a t d finie

package (~) : propri t accessible par les m thodes d finies

dans le m me package

!

Signification pouvant varier en fonction du langage de

programmation

Possibilit dappliquer la visibilit aux extr mit s dassociation

Maude Manouvrier - Univ. Paris Dauphine

37

Mod le de classes - Concepts avanc s (5/12)

Association n-aire

A viter ! Peut tre d compos e

en associations binaires

Enseignant

*

*

Enseignement

Diagramme de classes

*

Salle

MaudeManouvrier:Enseignant

M NBD:Enseignement

A703:Salle

M NUML:Enseignement

Maude Manouvrier - Univ. Paris Dauphine

Diagramme dobjets

38

19

Mod le de classes - Concepts avanc s (6/12)

Agr gation

Objet constitu

*

0..1

Vid oProjecteur

Objet constituant

Salle

1

*

Publicité

Si ge

Objet constituant

1

1

Tableau

Objet constituant

Composition

Domaine

1

1..*

Mention

1

*

Sp cialit

Appartenance des parties constituantes un assemblage et

co ncidence de leur dur e de vie

Maude Manouvrier - Univ. Paris Dauphine

39

Mod le de classes - Concepts avanc s (7/12)

Classe abstraite : classe ne pouvant pas tre

instanci e en tant que telle

MembreUniversit

Enseignant

tudiant

Administratif

Sous-classes dune classe abstraite :

obligatoirement concr tes

Possibilit dutiliser {abstract}

Maude Manouvrier - Univ. Paris Dauphine

40

20

Mod le de classes - Concepts avanc s (8/12)

H ritage multiple : h ritage permettant une

classe davoir plusieurs super-classes et dh riter

des propri t s de tous ses parents

MembreUniversit

Enseignant

tudiant

Administratif

h rite

des

Moniteur

propri t s de Enseignant

et dEtudiant et une seule

fois des propri t s de

MembreUniversit .

Maude Manouvrier - Univ. Paris Dauphine

Moniteur

!

difficult s

dimpl mentation

41

Mod le de classes - Concepts avanc s (9/12)

Contrainte : condition bool enne sappliquant

aux l ments dun mod le UML

Contrainte sur les objets :

Enseignement

intitul :string

nombreHeures:real

{nombreHeures 1,5}

Contrainte sur les associations :

EstMembreDe

1..*

Enseignant

1

{subset}

Dirige

0..1

Laboratoire

0..1

Contrainte sur les ensembles de g n ralisation :

MembreUniversit

Enseignant

tudiant

Administratif

Maude Manouvrier - Univ. Paris Dauphine

42

{overlapping, incomplete}

21

Mod le de classes - Concepts avanc s (10/12)

l ment d riv

dautres l ments

: donn e d finie en

terme

tudiant

nom

pr nom

dateDeNaissance

*

1..*

Enseignement

intitul

nombreHeures

valuation

noteCC

notePartiel

noteExam

/noteFinale

{noteFinale=noteCC0,3+notePartiel0,3+noteExam*0,4}

!

Pour des raisons de complexit dimpl mentation,

utiliser avec parcimonie !

Maude Manouvrier - Univ. Paris Dauphine

43

Mod le de classes - Concepts avanc s (11/12)

Package : groupe d l ments partageant un th me

commun

PlanningCentral

CalendrierP dagogique

B timent

nom:char

nbEtages:integer

num roDeSalle

SeSitueDans

1

1

Salle

capacit :integer

R servation

Maude Manouvrier - Univ. Paris Dauphine

44

22

Mod le de classes - Concepts avanc s (12/12)

Package :

Utile pour organiser les grands mod les

Ne d finir une classe (i.e. repr senter ses

propri t s) que dans un seul package

R f rencer une classe dun autre package en

nutilisant que le nom de la classe

Maude Manouvrier - Univ. Paris Dauphine

45

Mod le d tats (1/15)

Description des aspects dun syst me relatifs la

dur e et au s quen age des op rations

Compos dautant diagrammes d tats que de

temporel

comportement

classes dot es dun

significatif pour lapplication

Vocabulaire :

" v nements

" tats

" Transitions et conditions de franchissement

Maude Manouvrier - Univ. Paris Dauphine

46

23

Mod le d tats (2/15) - v nement

Occurrence ou fait ayant lieu un moment donn

Modification intervenue dans lenvironnement

Ex. R servation annul e

V rification de conditions derreur

Ex. nombre demprunts > 6

Vocabulaire :

" v nement concurrents : v nements sans relation de

causalit , sans effet lun sur lautre, dont lex cution peut se

chevaucher dans le temps

" v nement de signal

" v nement de changement

" v nement temporel

Maude Manouvrier - Univ. Paris Dauphine

47

Mod le d tats (3/15) v nement de signal

Signal

:

transmission dinformation explicite et

unidirectionnelle dun objet un autre

Regroupement des signaux dans des classes de signaux

v nement de signal : v nement denvoi ou de

r ception dun signal

signal

RetourLivre

num roLivre

dateRetour

signal

DemandeDeR servation

num roSalle

dateResa

heureD but

heureFin

attribution

Le livre 055.7 RAM est

retourn le 15/09/2014

Maude Manouvrier - Univ. Paris Dauphine

Instance de la classe de signaux RetourLivre

48

24

Mod le d tats (4/15) v nement

v nement de changement : v nement engendr

par la satisfaction dune expression bool enne

Passage de

lexpression de

d clenchement de l v nement de changement

when (nombre d tudiants > capacit de la salle)

faux vrai

when (nombre d tudiants < 10)

when (nombre dabsences en TD > 3)

v nement temporel : v nement engendr par

loccurrence dun temps absolu ou l coulement dune

dur e

when (date < 18/12/2005)

after (15 minutes)

Maude Manouvrier - Univ. Paris Dauphine

49

Mod le d tats (5/15) - tat

Abstraction de valeurs et de liens dun objet

Sp cification de la r ponse dun objet des

v nements entrants

tat vs v nement :

" v nement : repr sentation dun moment pr cis

dans le temps

" tat : intervalle s parant la r ception de deux

v nements par un objet

LivreEmprunt

Maude Manouvrier - Univ. Paris Dauphine

50

25

Mod le d tats (6/15) - tat

Caract risation dun tat

tat : LivreEmprunt

Description : Le livre est emprunt par lemprunteur didentifiant num roEmprunteur,

la date dateEmprunt

S quence d v nements qui produit l tat :

Emprunt(num roEmprunteur,dateEmprunt)

Condition qui caract rise l tat :

Emprunteur.nbreEmprunt < NbreMaxEmprunt et Emprunteur non p nalis

v nements accept s dans l tat :

v nement

retourLivre

action

terminerEmprunt

tat suivant

LivreDisponible

Maude Manouvrier - Univ. Paris Dauphine

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

51

Mod le d tats (7/15)

Transition et conditions de franchissement

Transition : passage instantan dun tat un autre

Condition de franchissement (guard condition) :

expression bool enne devant tre vraie pour le

franchissement de la transition

LivreDisponible

Emprunt(num roEmprunteur,dateEmprunt)

[ NbreEmprunt < NbreMaxEmprunt ]

LivreEmprunt

Attention : Condition de franchissement v nement

Condition de franchissement valu e une seule fois

v nement de changement valu en permanence

Maude Manouvrier - Univ. Paris Dauphine

52

26

Mod le d tats (8/15) - Diagramme d tats

Graphe orient dont les sommets sont les tats et les

arcs les transitions entre les tats

Sp cification des successions d tats provoqu s par

des successions d v nements

Associ une classe

En boucle infinie ou irr versible (one-shot)

Publicité

Nom du diagramme

event (attributs) / effet

tat1

do / activit

event / effet

Maude Manouvrier - Univ. Paris Dauphine

tat2

&

53

Mod le d tats (9/15) - Diagramme d tats

EmpruntDeLivre

achat

LivreDisponible

emprunt

LivreEmprunt

retourLivre

miseEnR serve

l

i

v

r

e

D

e

m

a

n

d

m

i

s

e

A

u

P

i

l

o

n

LivreEnR serve

Entr e dans l tat initial la cr ation de lobjet

Destruction de lobjet l tat final

Maude Manouvrier - Univ. Paris Dauphine

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

54

27

Mod le d tats (10/15) - Diagramme d tats

Emprunteur

t

u

b

D

inscriptionAutoris e

Inscrit

demandeDeQuitus

]

0

=

t

n

u

r

p

m

E

b

n

[

n

o

i

t

a

s

i

l

a

n

P

n

i

f

emprunt

finP nalisation

retourLivre

P nalis

retourLivre

Empruntant

emprunt

exclusion

Maude Manouvrier - Univ. Paris Dauphine

Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf

A

y

a

n

t

P

r

i

s

Q

u

i

t

u

s

E

x

c

l

u

s

55

Mod le d tats (11/15) Effets et activit s

Effet : R f rence un comportement ex cut en r ponse un

v nement not par / suivi du nom de lactivit

Activit

: Comportement r el

invoqu par un nombre

quelconque deffets

" Effectu e suite une transition, lentr e ou la sortie dun

tat, ou suite un autre v nement au sein dun tat

" Pouvant repr senter des op rations de contr le internes (Ex.

affectation de valeur un attribut ou g n ration dun autre

v nement)

" Sans contrepartie dans la monde r el mais pour structurer le

flux de contr le dans une impl mentation

Inscrit

emprunt / nbreEmprunt:= nbreEmprunt + 1

retourLivre / nbreEmprunt:= nbreEmprunt - 1

Empruntant

Maude Manouvrier - Univ. Paris Dauphine

56

28

Mod le d tats (12/15)

Activit s do - Activit s dentr e et de sortie

Activit associ e au mot-cl do : Activit continue ou

s quentielle ex cut e sur une longue dur e

" Associ e uniquement un tat (et non une transition)

" Pouvant tre ex cut e sur tout ou partie de la dur e pendant

laquelle un objet est dans l tat

" Pouvant tre interrompue par un v nement re u pendant

son ex cution

LivreEnR serve

do / clignoter livre en r serve

Activit dentr e ou de sortie : ex cut e lentr e (entry /) ou

la sortie dun tat (exit /)

Maude Manouvrier - Univ. Paris Dauphine

LivreEmprunt

entry / enregistrer date de retour

57

Mod le d tats (13/15) Activit s

Ordre dex cution des activit s pour un tat :

1. Activit s de la transition entrante

2. Activit s dentr e

3. Activit s do

4. Activit s de sortie

5. Activit s de la transition sortante

Si v nement provoquant des transitions hors de l tat

Interruption des activit s do

Mais ex cution de lactivit de sortie

Auto-transition

ex cution des activit s dentr e et de sortie

Maude Manouvrier - Univ. Paris Dauphine

58

29

Mod le d tats (14/15)

Transitions dach vement et envoi de signaux

Transition dach vement : Transition automatique, sans

v nement associ , ex cut e la fin de lex cution des

activit s dun tat

Condition de franchissement test e une seule fois.

!

Si v rification daucune condition de franchissement tat

toujours actif ou objet bloqu au sein de l tat

Pour pr voir toutes les conditions possibles : else

Envoi de signaux : Interaction du syst me dobjets par

change de signaux

send cible.S(attributs)

Condition de concurrence critique (race condition) : tat

final affect par lordre dex cution des signaux re us

Maude Manouvrier - Univ. Paris Dauphine

59

Mod le d tats (15/15)

Conseils pratiques :

Ne construire de diagrammes d tats que pour les

classes

temporel

significatif, i.e. les classes r pondant diff remment

diff rents v nements ou ayant plus dun tat

comportement

ayant

un

Pas de n cessit de construire un diagramme

d tats pour toutes les classes

Bien concevoir les conditions de franchissement

pour ne pas bloquer un objet dans un tat

Faire attention aux conditions de concurrence

quand un tat peut recevoir des signaux de plus

dun objet

Maude Manouvrier - Univ. Paris Dauphine

60

30

Mod le d tats - Concepts avanc s

Diagrammes d tats imbriqu s

tats imbriqu s

Concurrence

Relations entre mod le de classes et mod le

d tats

Maude Manouvrier - Univ. Paris Dauphine

61

Mod le d tats - Concepts avanc s (1/7)

Diagrammes d tats imbriqu s

Possibilit de d tailler un tat par un sous-automate

Nom du sous-automate

LivreDisponible:RangerLivre

Nom de l tat

RangerLivre

Diagramme d tats

de plus bas niveau

d taillant l tat

LivreDisponible

do / mettre jour serveur Web

do / mettre livre en rayon

A utiliser de pr f rence pour des mod les de plus de 10 15 tats

Maude Manouvrier - Univ. Paris Dauphine

62

31

Mod le d tats - Concepts avanc s (2/7)

Diagrammes d tats imbriqu s

Possibilit d tats imbriqu s

Chacun des tats imbriqu s re oit

les transitions sortantes de son tat

composite

LivreEnR serve

tat composite

LivreDisponible

livreDemand

LivreAuD pot

tat imbriqu

LivreAu1erSousSol

tat imbri...