informatique s4-poo programmation orient ee objetbuche/data/poo_2014/umlslide.pdfdiagramme de...

157
Informatique S4-POO Programmation Orient´ ee Objet — UML — edric Buche ´ Ecole Nationale d’Ing´ enieurs de Brest (ENIB) 20 novembre 2013 edric Buche (ENIB) POO 20 novembre 2013 1 / 135

Upload: others

Post on 13-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Informatique S4-POO

Programmation Orientee Objet— UML —

Cedric Buche

Ecole Nationale d’Ingenieurs de Brest (ENIB)

20 novembre 2013

Cedric Buche (ENIB) POO 20 novembre 2013 1 / 135

Page 2: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Objectifs du cours – prerequis

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 2 / 135

Page 3: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Objectifs du cours – prerequis

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 3 / 135

Page 4: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Objectifs du cours – prerequis

Objectifs du cours – prerequis

Objectifs :

Connaıtre le langage de modelisation UML

Comprendre la semantique des principaux elements des differentsmodeles

Prerequis :

Maıtriser les principes de la programmation orientee–objet

Cedric Buche (ENIB) POO 20 novembre 2013 4 / 135

Page 5: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Importance de la modelisation

Importance de la modelisation

La niche, la maison familiale et l’immeuble

: quelques planches, des clous, un marteau et quelques outils.

: plans generaux, plans d’execution detailles (pieces, electricite,plomberie, chauffage)

: planification detaillee, nombreux plans et etudes

Cedric Buche (ENIB) POO 20 novembre 2013 5 / 135

Page 6: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Importance de la modelisation

Importance de la modelisation

La niche, la maison familiale et l’immeuble

: quelques planches, des clous, un marteau et quelques outils.

: plans generaux, plans d’execution detailles (pieces,electricite, plomberie, chauffage)

: planification detaillee, nombreux plans et etudes

Cedric Buche (ENIB) POO 20 novembre 2013 5 / 135

Page 7: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Importance de la modelisation

Importance de la modelisation

La niche, la maison familiale et l’immeuble

: quelques planches, des clous, un marteau et quelques outils.

: plans generaux, plans d’execution detailles (pieces,electricite, plomberie, chauffage)

: planification detaillee, nombreux plans et etudes

Cedric Buche (ENIB) POO 20 novembre 2013 5 / 135

Page 8: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Pourquoi modeliser ?

Pourquoi modeliser ?

Mieux comprendre le systeme en developpement

Apprehender ces systemes dans leur entierete → modeles desystemes complexes

Cedric Buche (ENIB) POO 20 novembre 2013 6 / 135

Page 9: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Pourquoi modeliser ?

Pourquoi modeliser ?

Mieux comprendre le systeme en developpement

Apprehender ces systemes dans leur entierete → modeles desystemes complexes

Cedric Buche (ENIB) POO 20 novembre 2013 6 / 135

Page 10: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Pourquoi modeliser ?

Pourquoi modeliser ?

Mieux comprendre le systeme en developpement

Apprehender ces systemes dans leur entierete → modeles desystemes complexes

Cedric Buche (ENIB) POO 20 novembre 2013 6 / 135

Page 11: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Pourquoi modeliser ?

Pourquoi modeliser ?

Mieux comprendre le systeme en developpement

Apprehender ces systemes dans leur entierete → modeles desystemes complexes

Cedric Buche (ENIB) POO 20 novembre 2013 6 / 135

Page 12: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

IntroductionModelisation informatique : des logiciels au genie

logiciel

Des logiciels au genie logiciel

Etude projet informatique

16 % conformes

53 % depassements

31 % abandon

⇒ Genie Logiciel

Cedric Buche (ENIB) POO 20 novembre 2013 7 / 135

Page 13: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

IntroductionModelisation informatique : des logiciels au genie

logiciel

Des logiciels au genie logiciel

Etude projet informatique

16 % conformes

53 % depassements

31 % abandon

⇒ Genie Logiciel

Cedric Buche (ENIB) POO 20 novembre 2013 7 / 135

Page 14: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

IntroductionModelisation informatique : des logiciels au genie

logiciel

Des logiciels au genie logiciel

Etude projet informatique

16 % conformes

53 % depassements

31 % abandon

⇒ Genie Logiciel

Cedric Buche (ENIB) POO 20 novembre 2013 7 / 135

Page 15: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

IntroductionModelisation informatique : des logiciels au genie

logiciel

Des logiciels au genie logiciel

Etude projet informatique

16 % conformes

53 % depassements

31 % abandon

⇒ Genie Logiciel

Cedric Buche (ENIB) POO 20 novembre 2013 7 / 135

Page 16: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 8 / 135

Page 17: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 9 / 135

Page 18: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

UML : Unified Modeling Language

Langage graphique de modelisation pour

specifier,concevoir,construire,et documenterdes applications informatiques

Synthese des bonnes pratiques de l’ingenierie informatique

Unification de modeles

Standardisation par l’OMG (Object Management Group)

Cedric Buche (ENIB) POO 20 novembre 2013 10 / 135

Page 19: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

Objectifs

Fournir un langage visuel et expressif

Fournir des mecanismes d’extension

Etre independant des technologies et langages d’implementation

Fournir une base formelle pour la modelisation

Cedric Buche (ENIB) POO 20 novembre 2013 11 / 135

Page 20: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

3 axes de modelisation

Approche classique - projet

1 Fonctionnel

Cahier des charges : diag. cas d’utilisation → scenarios ecritsScenarios formels : diag. seq / comm → objets/classes

2 Statique

classes : diag. classes

3 Dynamique

dynamique chaque objet : diag. etats/transitionsdynamique globale : diag. activites

Cedric Buche (ENIB) POO 20 novembre 2013 12 / 135

Page 21: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Introduction Introduction a UML

Pour quelles taches ?

Conception (� forward engineering �)

→ →

Retro conception (� reverse engineering �)

Documentation d’un systeme

Cedric Buche (ENIB) POO 20 novembre 2013 13 / 135

Page 22: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC)

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 14 / 135

Page 23: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC)

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 15 / 135

Page 24: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Classe, attribut et operation : notations

nommés

Compartiment

identification, propriétésNom

attribut1attribut2

Compartiment

des attributs

operationB

operationA

operationC

Compartiment

des opérations

nomElement1

nomCompartiment

nomElement2

Compartiment(s) optionnels

Cedric Buche (ENIB) POO 20 novembre 2013 16 / 135

Page 25: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 26: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 27: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 28: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 29: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 30: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 17 / 135

Page 31: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Attribut : visibilite

Accessibilite : quels elements peuvent le referencer ?

+ public tout element qui accede a la classe

# protected seul un element de la classe ou de ses des-cendants

- private seul un element de la classe

∼ package seul un element du meme package que laclasse

element : une classe qui reference la classe consideree

Cedric Buche (ENIB) POO 20 novembre 2013 18 / 135

Page 32: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 19 / 135

Page 33: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 34: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 35: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 36: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 37: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 38: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 39: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 40: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 41: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 42: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : syntaxe

Cedric Buche (ENIB) POO 20 novembre 2013 20 / 135

Page 43: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Operation : direction des parametres

information que l’objet serveur ne possede pas, mais qui estnecessaire a la realisation de l’operation : direction = in

information necessaire a la realisation de l’operation ettransformee par celle-ci : direction = inout

information produite par l’execution de l’operation, doncinexistante avant ; direction = out ou return

Cedric Buche (ENIB) POO 20 novembre 2013 21 / 135

Page 44: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 22 / 135

Page 45: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Classes

Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 23 / 135

Page 46: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Types

Réalisation

Association

Généralisation

Dépendance

Cedric Buche (ENIB) POO 20 novembre 2013 24 / 135

Page 47: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Relation de dependance entre classes (classifier)

<<use>>A B

client serveur (fournisseur)

Indique une dependance entre les proprietesd’une classe (le client) et une autre classe (le serveur, supplier)

En consequence, une modification du serveur peut affecter lecomportement du client

Exemples :

une operation de la classe A fait appel a une operation de la classe B

une operation de A a comme parametre un objet B

Cedric Buche (ENIB) POO 20 novembre 2013 25 / 135

Page 48: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Exemple de dependance entre classes

Cedric Buche (ENIB) POO 20 novembre 2013 26 / 135

Page 49: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Stereotypes de dependance entre classes

access import du contenu d’un autre package

create la classe cree des instances d’une autreclasse

instantiate la methode d’une classe cree des instancesd’une autre

permit donne acces aux elements prives

use un element requiert un autre element

Cedric Buche (ENIB) POO 20 novembre 2013 27 / 135

Page 50: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Generalisation – specialisation

Généralisation

+ operation1(in arg1: integer)

CA

CB

Spécialisation

+ operation1(in arg1: integer)

redéfinition

d’une opération

A

AA AB

ABA ABB ABC

Héritage

Dérivation

Sous−classe

classe dérivée

Super−classe

Cedric Buche (ENIB) POO 20 novembre 2013 28 / 135

Page 51: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Generalisation – specialisation : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 29 / 135

Page 52: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Generalisation : vocabulaire

A est une specialisation de BA est une sous-classe de BA derive de BA herite de B

B est une generalisation de AB est une super-classe de A

Cedric Buche (ENIB) POO 20 novembre 2013 30 / 135

Page 53: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Association : principe

Cedric Buche (ENIB) POO 20 novembre 2013 31 / 135

Page 54: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Association : roles

nomRoleBA B

R

nomRoleA

nomRole : indique ce que represente l’ensemble des instances associeesa une instance de la classe par la relation R.L’acces peut etre +, # ou -

nomRoleB nom de l’ensemble des instances de la classe B

qui sont en relation avec 1 instance de la classeA par la relation R.

nomRoleA nom de l’ensemble des instances de la classe A

qui sont en relation avec 1 instance de la classeB par la relation R.

Cedric Buche (ENIB) POO 20 novembre 2013 32 / 135

Page 55: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Association : multiplicites

multBA B

R

multA

valeurs possibles du cardinal de l’ensemble des instances associees aune instance de la classe par la relation R.

multB cardinal de l’ensemble des instances de la classeB qui sont en relation avec 1 instance de la classeA par la relation R.

multA cardinal de l’ensemble des instances de la classeA qui sont en relation avec 1 instance de la classeB par la relation R.

Cedric Buche (ENIB) POO 20 novembre 2013 33 / 135

Page 56: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Multiplicite : notation

notation : min .. max

abreg. signification

1..1 1 exactement 10..1 – zero ou un (optionnel)0..* * aucun ou plusieurs1..* – au moins 1

n..m, p – entre n et m ou exactement p

Cedric Buche (ENIB) POO 20 novembre 2013 34 / 135

Page 57: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Association unidirectionnelle

Cedric Buche (ENIB) POO 20 novembre 2013 35 / 135

Page 58: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Contraintes sur une association

enseignants

CA CBR

0..1 0..*

collection

{ordered}

Promotion Personne

0..1 2..*

{subset}

delegues

eleves

20..1

Etablissement Personne

*

{or}eleves

*

0..1

ecole

1

residenceAdministrative

Cedric Buche (ENIB) POO 20 novembre 2013 36 / 135

Page 59: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Types d’association

R1

AgrégationB2A2R2

Agrégat élément

CompositionB3A3 R3

ComposantComposite

AssociationB1A1

Cedric Buche (ENIB) POO 20 novembre 2013 37 / 135

Page 60: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Agregation

Agregation : association simple

+ contraintes d’integrite

+ graphe acyclique

+ elements partageables

Cedric Buche (ENIB) POO 20 novembre 2013 38 / 135

Page 61: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Composition

Composition : agregation

+ contrainte de duree de vie

+ composants non partageables

Cedric Buche (ENIB) POO 20 novembre 2013 39 / 135

Page 62: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Agregation/composition : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 40 / 135

Page 63: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Agregation/composition : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 41 / 135

Page 64: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Package

grouper dans des ensembles coherents.

structurer les diagrammes et donnent une vision globale plus claire.

Cedric Buche (ENIB) POO 20 novembre 2013 42 / 135

Page 65: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Relations entre classes

Navigation

pkg1

AA

AB

BB

CC

+c10..1 0..1

+op1()#op2()-op3()

#b2

0..1

+b1

0..1

-b3

0..1

#c2

Cedric Buche (ENIB) POO 20 novembre 2013 43 / 135

Page 66: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Classe abstraitePropriete optionnelle d’une classe

Definition :

classe non instanciableensemble de proprietes communes a differentes classesmais partiellement definies.donc, seuls des objets d’une classe derivee sont instanciables

Deux raisons :1 bien que l’instanciation d’un tel objet serait possible cela n’aurait

pas de sensex. Personne – Eleve – Prof

2 au moins une des proprietes de la classe n’est pas definieex. Shape operation draw

Notation :

<< abstract >> : tagged-value placee apres le nom de la classeNomClass : en italique

Cedric Buche (ENIB) POO 20 novembre 2013 44 / 135

Page 67: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Attribut derive

sa valeur se calcule a partir d’autres proprietes de la classe(attributs ou autres)

symbolises par l’ajout d’un � / � devant leur nom

Cedric Buche (ENIB) POO 20 novembre 2013 45 / 135

Page 68: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Interface

+ operationB

+ attribut1+ attribut2

être maintenues

signal1

reception

signal2

éventuellement un protocole+ description de services

<<interface>>Nom

Variables d’état devant

Services+ operationA

Cedric Buche (ENIB) POO 20 novembre 2013 46 / 135

Page 69: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Relation de realisation : entre classes et interfaces

realisation

CAIB

<<interface>>

service1service2

service2service1

operationA

attr1

Cedric Buche (ENIB) POO 20 novembre 2013 47 / 135

Page 70: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Interface : Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 48 / 135

Page 71: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Relations avec une interface

I7

<<interface>>I1

I2<<interface>>

<<interface>>

<<interface>>

<<interface>>

<<interface>>

I2

<<interface>>I3 I4

CA I5 CA I5

<<interface>>

I3I4

I1

CB CBI6 I6

I7 CDCC CD CC

Cedric Buche (ENIB) POO 20 novembre 2013 49 / 135

Page 72: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Interface : exemple

saisie mot de passe

<< uses >>

Password

Ilog

description symbolique de l’interface

source de l’interface

symbole de l’interface

lien d’utilisation

Cedric Buche (ENIB) POO 20 novembre 2013 50 / 135

Page 73: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Classe–associationcas particuliers d’association

Classe−association

AmB

B

RmA

rA rB

C

L’association entre les classes A et B est realisee par un objet de laclasse C (sous sa responsabilite)

la classe C a des proprietes qui lui sont propres(attributs, operations...)

Cedric Buche (ENIB) POO 20 novembre 2013 51 / 135

Page 74: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Classe–associationexemple

Cedric Buche (ENIB) POO 20 novembre 2013 52 / 135

Page 75: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Association qualifiee

R

A

mA

rA

BvaleurClé: TypeClémB

rB

Cle : attribut de la relation R permettant de definir (qualifier) lesous-ensemble des instances de la classe B (role rB) associees a 1

instance de la classe A

le couple (Instance de A, valeur Cle) identifie lesous-ensemble rB.

Multiplicite : mB = cardinal de rB

Exemple : annuaire inverse

Cedric Buche (ENIB) POO 20 novembre 2013 53 / 135

Page 76: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Association qualifiee : exemple

Entreprise

Personne

emploie

1 .. *

1 .. *

sans qualifiant

Personne

emploie

1 .. *

avec qualifiant

1 .. *

fonction

Entreprise

Fichier

Repertoire

Fichier

contient

1

avec qualifiant

Repertoire

contient

1 .. *

*

sans qualifiant

nom fich

*

Cedric Buche (ENIB) POO 20 novembre 2013 54 / 135

Page 77: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Association qualifieeexemple

Cedric Buche (ENIB) POO 20 novembre 2013 55 / 135

Page 78: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Concepts avances

Association qualifieeexemple

Cedric Buche (ENIB) POO 20 novembre 2013 56 / 135

Page 79: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Elaboration

Demarche pour batir une diagramme de classes (1/2)

1 Trouver les classes du domaine etudie

En collaboration avec un expert du domaine.Les classes correspondent generalement a des concepts ou dessubstantifs du domaine.

2 Trouver les associations entre classes

Les associations correspondent souvent a des verbes, ou desconstructions verbales, mettant en relation plusieurs classes, comme� est compose de �, � pilote �, � travaille pour �.Attention, mefiez vous de certains attributs qui sont en realite desrelations entre classes.

Cedric Buche (ENIB) POO 20 novembre 2013 57 / 135

Page 80: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de classes (4 UC) Elaboration

Demarche pour batir une diagramme de classes (2/2)

3 Trouver les attributs des classes

Les attributs correspondent souvent a des substantifs, ou desgroupes nominaux, tels que � la masse d’une voiture � ou� le montant d’une transaction �.Les adjectifs et les valeurs correspondent souvent a des valeursd’attributs.

4 Organiser et simplifier le modele

En eliminant les classes redondantes et en utilisant l’heritage.

5 Verifier les chemins d’acces aux classes

6 Iterer et raffiner le modele

Un modele est rarement correct des sa premiere construction.

Cedric Buche (ENIB) POO 20 novembre 2013 58 / 135

Page 81: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC)

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 59 / 135

Page 82: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC)

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 60 / 135

Page 83: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Introduction

Exprimer les besoins

Comment donner un moyen simple d’exprimer les besoinsd’utilisateurs non informaticiens ?

Premiere etape UML d’analyse d’un systeme

Cedric Buche (ENIB) POO 20 novembre 2013 61 / 135

Page 84: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Introduction

Exigences fonctionnelles

Modele construit en phase de definition des exigences fonctionnelleset enrichi pendant la phase d’analyse en utilisant d’autres modeles(entre-autres les modeles d’interaction)

Objectifs :

1 identifier les fonctionnalites du logiciel

2 en definir le perimetre

3 identifier les elements externes en interaction directe

Cedric Buche (ENIB) POO 20 novembre 2013 62 / 135

Page 85: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Elements des diagrammes

Acteur

Definition :

role joue par une entite externe qui interagit avec le systemeil peut consulter et/ou modifier l’etat du systeme par messages

Comment les identifier ?

utilisateurs humainssystemes connexes qui interagissent egalement avec le systeme

Comment les representer ?

Acteur3

<<actor>>Acteur3

symbole

Acteur1

stick man

mot−clef

Exemple : Client, Conseiller financier, SI Banque ...Cedric Buche (ENIB) POO 20 novembre 2013 63 / 135

Page 86: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Elements des diagrammes

Cas d’utilisation

Definition :

Sequences d’actions realisees par le systeme (resultat observablepour un acteur)Comportement attendu (6= mode de realisation) :

ce que le futur devra fairepas comment il le fera

Cedric Buche (ENIB) POO 20 novembre 2013 64 / 135

Page 87: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Elements des diagrammes

Cas d’utilisation

Comment les identifier ?

Ensemble des cas utilisation == exigences fonctionnelles du systemeUn cas == fonction metier selon le point de vue des acteursPour chaque acteur :

rechercher ses utilisations metiersdeterminer dans le cahier des charges les services attendus

Nommez les cas d’utilisation (point de vue acteur) :verbe a l’infinitif + complement

Comment les representer ?

Exemple : Consulter un compte, Retirer de l’argent, Deposer un cheque...

Cedric Buche (ENIB) POO 20 novembre 2013 65 / 135

Page 88: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs et cas d’utilisation

Cas d’utilisation et acteurs

Nom_sujet

Nom_acteur_1 Nom_acteur_2

Nom_cas_utilisation_1

Nom_cas_utilisation_2

Acteur :element externe en interaction directe avec le sujet

Cas d’utilisation :ensemble fonctionnel coherent, identifiable exterieurementet fourni par un classeur (le sujet)

Association Acteur – Cas :chemin de communication indiquant la participation de l’acteura la realisation du cas

Cedric Buche (ENIB) POO 20 novembre 2013 66 / 135

Page 89: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs et cas d’utilisation

Association : Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 67 / 135

Page 90: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs et cas d’utilisation

Acteurs principaux et secondaires

Un acteur est qualifie de principal pour un cas d’utilisationlorsque ce cas rend service a cet acteur.

Les autres acteurs sont alors qualifies de secondaires.

Un cas d’utilisation a au plus un acteur principal.

Le stereotype � primary � vient orner l’association reliant un casd’utilisation a son acteur principal

Le stereotype � secondary � est utilise pour les acteurs secondaires

Cedric Buche (ENIB) POO 20 novembre 2013 68 / 135

Page 91: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs et cas d’utilisation

Acteurs principaux et secondaires : Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 69 / 135

Page 92: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Types et representation

CB3

CA1 CB1<<include>>

CA2 CB2<<extend>>

CA3

CA1 inclut CB11 realisation de CA1

⇒ 1 realisation de CB1

CA2 etend CB2

dans un certain contexteSelon le contexte,on realise soit CA2, soit CB2

CA3 specialise CB3

Selon le contexte,on realise soit CA3, soit CB3

Cedric Buche (ENIB) POO 20 novembre 2013 70 / 135

Page 93: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple relation d’inclusion

Le cas inclus est ajoute obligatoirement au cas de base

Cedric Buche (ENIB) POO 20 novembre 2013 71 / 135

Page 94: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple relation d’inclusion

Identifier une partie commune aux differents cas d’utilisation et de lafactoriser dans un nouveau cas inclus dans ces derniers.

Cedric Buche (ENIB) POO 20 novembre 2013 72 / 135

Page 95: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple relation d’extension

Enrichir un cas d’utilisation par un autre, cependant, cetenrichissement est optionnel.

Cedric Buche (ENIB) POO 20 novembre 2013 73 / 135

Page 96: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple relation d’extension

L’extension se fait dans le cas d’utilisation de base, en un point precisappele point d’extension

Cedric Buche (ENIB) POO 20 novembre 2013 74 / 135

Page 97: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple relation Generalisation/Specialisation

Formaliser les variations importantes sur le meme cas d’utilisation

Cedric Buche (ENIB) POO 20 novembre 2013 75 / 135

Page 98: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre cas d’utilisation

Exemple complet

Cedric Buche (ENIB) POO 20 novembre 2013 76 / 135

Page 99: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs

Generalisation

La seule relation possible entre deux acteurs est la generalisation

un acteur A est une generalisation d’un acteur B si l’acteur A peutetre substitue par l’acteur B

tous les cas d’utilisation accessibles a A le sont aussi a B, maisl’inverse n’est pas vrai.

Cedric Buche (ENIB) POO 20 novembre 2013 77 / 135

Page 100: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Relations entre acteurs

Generalisation : Exemple

Cedric Buche (ENIB) POO 20 novembre 2013 78 / 135

Page 101: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Scenarios : description textuelle

Scenario

Definition :succession particuliere d’enchaınements s’executant du debut a lafin du cas

Un cas d’utilisation contient :

un scenario nominalplusieurs scenarios alternatifs (qui se terminent normalement)plusieurs scenarios d’erreur (qui se terminent par un echec)

Cedric Buche (ENIB) POO 20 novembre 2013 79 / 135

Page 102: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Scenarios : description textuelle

En pratique ...

La fiche de description textuelle d’un cas d’utilisation n’est pasnormalisee...

Cependant, on peut utiliser la structuration suivante :

Sommaire d’identifica-tion (obligatoire)

Inclut titre, resume, dates decreation et de modification, version,responsable, acteurs ...

Description desscenarios (obligatoire)

Decrit le scenario nominal, lesscenarios d’erreur, les pre/post-conditions

Exigences non-fonctionnelles (op-tionel)

Ajoute, si c’est pertinent, les infor-mations suivantes : frequence ; dis-ponibilte, fiabilite, confidentialite ...

Cedric Buche (ENIB) POO 20 novembre 2013 80 / 135

Page 103: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Scenarios : description textuelle

Exemple scenario

Sommaire Scenario nominal � Reserver un vehicule �

Description 1. Le client saisit son code et son login d’identification2. Le systeme verifie le code et le login d’identification3. Le systeme demande au client de saisir les informations surla reservation4. Le client saisit les informations sur la reservation5. Le systeme interroge l’acteur systeme bancaire pour verifierl’acompte6. Le systeme bancaire donne une reponse favorable7. Le systeme envoie au client, un message de confirmation dela demande

Cedric Buche (ENIB) POO 20 novembre 2013 81 / 135

Page 104: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Scenarios : description textuelle

Exemple scenario

Sommaire Scenario alternatif � Reserver un vehicule �

Description SA1 : code d’identification errone pour la premiere ou ladeuxieme foisSA1 demarre au point 2 du scenario nominal

3. Le systeme indique au client que le code est errone, pour lapremiere ou la deuxieme fois.

Le scenario nominal reprend au point 1.

Cedric Buche (ENIB) POO 20 novembre 2013 82 / 135

Page 105: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Scenarios : description textuelle

Exemple scenario

Sommaire Scenario d’erreur � Reserver un vehicule �

Description SE1 : code d’identification errone pour la troisieme foisSE1 demarre au point 2 du scenario nominal

3. Le systeme indique au client que le code est errone pour latroisieme fois.

Le cas d’utilisation se termine en echec (l’objectif n’est pas at-teint).

Cedric Buche (ENIB) POO 20 novembre 2013 83 / 135

Page 106: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme de cas d’utilisation (1 UC) Utilisation

Quand utiliser les cas d’utilisation ?

En phase d’elaboration

En discutant avec les utilisateurs

Remarque : Un projet de 10 annees-hommes devrait comprendreenviron 12 cas d’utilisation 1

1. Resulat issu d’une commission de l’OOPSLACedric Buche (ENIB) POO 20 novembre 2013 84 / 135

Page 107: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC)

Plan

1 Introduction

2 Diagramme de classes (4 UC)

3 Diagramme de cas d’utilisation (1 UC)

4 Diagrammes d’interaction (2 UC)

Cedric Buche (ENIB) POO 20 novembre 2013 85 / 135

Page 108: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC)

Plan

Cedric Buche (ENIB) POO 20 novembre 2013 86 / 135

Page 109: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Introduction

Du diag. de cas d’utilisation au diag. d’interactions

diag. cas d’utilisation → scenarios

scenario → diag. seq/comm

Cedric Buche (ENIB) POO 20 novembre 2013 87 / 135

Page 110: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Introduction

Cas d’utilisation Piloter

scenario nominal pourrait etre : un pilote demarre une voiture cequi allume un moteur.

Comment formaliser les communications entre instances(demarrer, allumer) ? → diag. de communication.

Comment formaliser le sequencement des interactions (1 :demarrer ; 2 : allumer) ? → diag. sequence.

Avant cela, il faut representer les instances (objets) (un pilote, unevoiture, un moteur)

Cedric Buche (ENIB) POO 20 novembre 2013 88 / 135

Page 111: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Introduction

Objet : instance de classifier

nom d’instance : nom de classe

Exemple

jean : Personne

pierre : Personne

Cedric Buche (ENIB) POO 20 novembre 2013 89 / 135

Page 112: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Introduction

Objets : instances de classifier

:NomActeur

nomObjet:nomClasse

attr1 = valeur1

nomObjet: :NomClasse

<<stereotype>>

:NomClasse

nomObjet:NomClasse

nomObjet:nomClasse

[etat]

Cedric Buche (ENIB) POO 20 novembre 2013 90 / 135

Page 113: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : duree de vie et flots

lignes de vie

message

objets

flots d’exécution

objet1: objet2:

tem

ps

(logiq

ue)

: s

équen

cem

ent

Cedric Buche (ENIB) POO 20 novembre 2013 91 / 135

Page 114: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Messages

l’envoi d’un signal ;

l’invocation d’une operation ;

la creation ou la destruction d’une instance.

Cedric Buche (ENIB) POO 20 novembre 2013 92 / 135

Page 115: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Messages asynchrones

Cedric Buche (ENIB) POO 20 novembre 2013 93 / 135

Page 116: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Messages synchrones

Cedric Buche (ENIB) POO 20 novembre 2013 94 / 135

Page 117: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Messages de creation et destruction d’instance

Cedric Buche (ENIB) POO 20 novembre 2013 95 / 135

Page 118: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Evenements et messages

Cedric Buche (ENIB) POO 20 novembre 2013 96 / 135

Page 119: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Syntaxe des messages et des reponses

Cedric Buche (ENIB) POO 20 novembre 2013 97 / 135

Page 120: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Syntaxe des messages et des reponses

Cedric Buche (ENIB) POO 20 novembre 2013 98 / 135

Page 121: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Execution de methode et objet actif

Cedric Buche (ENIB) POO 20 novembre 2013 99 / 135

Page 122: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Execution de methode et objet actif

Cedric Buche (ENIB) POO 20 novembre 2013 100 / 135

Page 123: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : fragements d’interactioncombines

Articulation d’interactions par des operateurs :

choix et boucle : alternative, option, break, loop

controle d’envoi en parallele de messages : parallel, criticalregion

controle d’envoi de messages : ignore, consider, assertion,negative

ordre d’envoi des messages : weak sequencing, strict sequencing

Cedric Buche (ENIB) POO 20 novembre 2013 101 / 135

Page 124: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle

[else]

sd nom seq

ref seqA

alt

ref

ref

[condition]

Cedric Buche (ENIB) POO 20 novembre 2013 102 / 135

Page 125: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 103 / 135

Page 126: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 104 / 135

Page 127: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 105 / 135

Page 128: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 106 / 135

Page 129: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : structures de controle(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 107 / 135

Page 130: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : parallelisme et sequencement

strict

sd nom seq

par

Cedric Buche (ENIB) POO 20 novembre 2013 108 / 135

Page 131: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : parallelisme et sequencement

Cedric Buche (ENIB) POO 20 novembre 2013 109 / 135

Page 132: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : parallelisme et sequencement(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 110 / 135

Page 133: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : parallelisme et sequencement(exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 111 / 135

Page 134: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : section critique (exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 112 / 135

Page 135: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : Ignorer (exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 113 / 135

Page 136: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : Considerer (exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 114 / 135

Page 137: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : Negatif (exemple)

Cedric Buche (ENIB) POO 20 novembre 2013 115 / 135

Page 138: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de sequence

Diagramme de sequence : invariants d’etat

msg2

obj1 obj3obj2

msg1

sd nom seq

etat2

etat1

Cedric Buche (ENIB) POO 20 novembre 2013 116 / 135

Page 139: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : Lignes de vie

Les lignes de vie sont representees par des rectangles contenantune etiquette dont la syntaxe est :

[<nom du role>] : [<Nom du type>]

Cedric Buche (ENIB) POO 20 novembre 2013 117 / 135

Page 140: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : Connecteurs

Les relations entre les lignes de vie sont appelees connecteurs

se represente par un trait plein reliant deux lignes de viesles extremites peuvent etre ornees de multiplicites.

Cedric Buche (ENIB) POO 20 novembre 2013 118 / 135

Page 141: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Communication : interactions entre objets par messages

struct. controle

message

(arguments)

arg1, arg2

évaluable dans

prédécesseur condition séquence valeur_retour := nom

seq1, seq2/

liste labels séquence /

expression logique

récurrencelabel

nombre (séq.)

nom (parall.)

*[iteration]

*[condition] contexte courant

Cedric Buche (ENIB) POO 20 novembre 2013 119 / 135

Page 142: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Messages : structures de controle — exemples

condition recur. message

[x > 0] : msg()

∗ : msg()

∗ [x > 0] : msg()

[x > 0] ∗ [i := 1..n] : msg()

Cedric Buche (ENIB) POO 20 novembre 2013 120 / 135

Page 143: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 121 / 135

Page 144: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 122 / 135

Page 145: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 123 / 135

Page 146: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 124 / 135

Page 147: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 125 / 135

Page 148: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 126 / 135

Page 149: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 127 / 135

Page 150: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 128 / 135

Page 151: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 129 / 135

Page 152: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 130 / 135

Page 153: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 131 / 135

Page 154: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Diagramme de communication

Diagramme de communication : exemple

Cedric Buche (ENIB) POO 20 novembre 2013 132 / 135

Page 155: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Lien avec le diagramme de classes

Lien avec le diagramme de classes

diag. cas d’utilisation → scenarios

scenario → diag. seq/comm

diag. seq/comm → diag. classe

Cedric Buche (ENIB) POO 20 novembre 2013 133 / 135

Page 156: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagrammes d’interaction (2 UC) Utilisation

Quand utiliser le modele d’interaction ?

Lorsque vous souhaitez visualiser le comportement de plusieursobjets dans un seul cas d’utilisation

Attention

Si vous souhaitez visualisez le comportement d’un meme objetdans plusieurs cas d’utilisation : utiliser le diagrammed’etats-transitions

Si vous souhaitez visualisez un comportement reparti sur plusieurscas d’utilisation : utiliser le diagramme d’activite

Cedric Buche (ENIB) POO 20 novembre 2013 134 / 135

Page 157: Informatique S4-POO Programmation Orient ee Objetbuche/data/POO_2014/umlSlide.pdfDiagramme de classes (4 UC) Classes Exemple C edric Buche (ENIB) POO 20 novembre 2013 19 / 135 Diagramme

Diagramme d’interactions

Informatique S4-POO

Programmation Orientee Objet— UML —

Cedric Buche

Ecole Nationale d’Ingenieurs de Brest (ENIB)

20 novembre 2013

Cedric Buche (ENIB) POO 20 novembre 2013 135 / 135