uml : diagramme d'objets · un diagramme de structure d’uml (statique) permettant de...

25
UML : diagramme d’objets Achref El Mouelhi Docteur de l’universit ´ e d’Aix-Marseille Chercheur en programmation par contrainte (IA) Ing ´ enieur en g ´ enie logiciel [email protected] H & H: Research and Training 1 / 18

Upload: others

Post on 18-Oct-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

UML : diagramme d’objets

Achref El Mouelhi

Docteur de l’universite d’Aix-MarseilleChercheur en programmation par contrainte (IA)

Ingenieur en genie logiciel

[email protected]

H & H: Research and Training 1 / 18

Page 2: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

Plan

1 Introduction

2 Modelisation d’un objet

3 Diagramme d’objets

H & H: Research and Training 2 / 18

Page 3: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Introduction

UML

Le diagramme d’objets

Un diagramme de structure d’UML (statique)

Permettant de visualiser les relations entre les objets

Detaillant un peu plus le diagramme de classes

Donnant une vue figee de l’etat de notre application a un instantdonne

Diagramme d’objets vs Diagramme de classes

Un diagramme de classes decrit les regles de notre application

Un diagramme d’objet modelise les faits

H & H: Research and Training 3 / 18

Page 4: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Introduction

UML

Le diagramme d’objets

Un diagramme de structure d’UML (statique)

Permettant de visualiser les relations entre les objets

Detaillant un peu plus le diagramme de classes

Donnant une vue figee de l’etat de notre application a un instantdonne

Diagramme d’objets vs Diagramme de classes

Un diagramme de classes decrit les regles de notre application

Un diagramme d’objet modelise les faits

H & H: Research and Training 3 / 18

Page 5: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UMLConsiderant la classe suivante

Personne

nomprenom

dateNaissance

Comment modeliser des instances de cette classe en UML?

Creer un rectangle pour chaque objet constitue de deux parties :nom et attributs

Possibilite d’attribuer de valeurs aux attributs

Possibilite de nommer l’objet

H & H: Research and Training 4 / 18

Page 6: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UMLConsiderant la classe suivante

Personne

nomprenom

dateNaissance

Comment modeliser des instances de cette classe en UML?

Creer un rectangle pour chaque objet constitue de deux parties :nom et attributs

Possibilite d’attribuer de valeurs aux attributs

Possibilite de nommer l’objet

H & H: Research and Training 4 / 18

Page 7: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UMLPlusieurs facons differentes pour modeliser un objet

Personne

nomprenom

dateNaissance

perso1

WickJohn01/07/1975

personne:Personne

nom:string=”Wick”prenom:string=”John”dateNaissance:date=01/07/1975

:Personne

WickJohn01/07/1975

H & H: Research and Training 5 / 18

Page 8: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UML

Si la visualisation des attributs et leurs valeurs n’est pasimportante, on peut simplifier la representation

perso1personne:Personne :Personne

Ou encore plus simple

personne:Personne perso1 :Personne

H & H: Research and Training 6 / 18

Page 9: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UML

Si la visualisation des attributs et leurs valeurs n’est pasimportante, on peut simplifier la representation

perso1personne:Personne :Personne

Ou encore plus simple

personne:Personne perso1 :Personne

H & H: Research and Training 6 / 18

Page 10: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UML

Pour modeliser une collection d’objets

:Personne

H & H: Research and Training 7 / 18

Page 11: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UMLLe nom d’un objet peut etre designe de trois manieres differentes

nomObjet : indique le nom d’objet sans faire reference a laclasse

nomObjet:NomClasse : indique le nom d’objet en faisantreference a la classe

:NomClasse : indique que l’objet est anonyme mais on faitreference a la classe

Pour les attributs, on peut

preciser le nom + le type + la valeur

indiquer seulement la valeur

H & H: Research and Training 8 / 18

Page 12: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Modelisation d’un objet

UMLLe nom d’un objet peut etre designe de trois manieres differentes

nomObjet : indique le nom d’objet sans faire reference a laclasse

nomObjet:NomClasse : indique le nom d’objet en faisantreference a la classe

:NomClasse : indique que l’objet est anonyme mais on faitreference a la classe

Pour les attributs, on peut

preciser le nom + le type + la valeur

indiquer seulement la valeur

H & H: Research and Training 8 / 18

Page 13: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UMLRemarques

Le lien entre les objets est dynamique : il existe si un lien entre lesclasses existe deja

Pas de multiplicite

Les agregation et composition sont schematisees differemment

Considerant le diagramme de classes suivant

Personne

nomprenom

dateNaissance

Adresse

rue

villecodePostal

possede

H & H: Research and Training 9 / 18

Page 14: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UMLRemarques

Le lien entre les objets est dynamique : il existe si un lien entre lesclasses existe deja

Pas de multiplicite

Les agregation et composition sont schematisees differemment

Considerant le diagramme de classes suivant

Personne

nomprenom

dateNaissance

Adresse

rue

villecodePostal

possede

H & H: Research and Training 9 / 18

Page 15: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Relation entre objets

etablie dynamiquement a partir de relations entre les classes

Personne

nomprenom

dateNaissance

<<instanceof>>

perso1

WickJohn01/07/1975

Adresse

rue

villecodePostal

adr1

de MarseilleLyon69 000

<<instanceof>>

possede

lien statique

lien dynamique

<<instanceof>>

H & H: Research and Training 10 / 18

Page 16: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Relation entre objets

etablie dynamiquement a partir de relations entre les classes

Personne

nomprenom

dateNaissance

<<instanceof>>

perso1

WickJohn01/07/1975

Adresse

rue

villecodePostal

adr1

de MarseilleLyon69 000

<<instanceof>>

possede

lien statique

lien dynamique

<<instanceof>>

H & H: Research and Training 10 / 18

Page 17: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Remarques

La relation entre classe et objet est une dependance(schematisee par une fleche en pointille exactement comme dansun diagramme de classes)

On ajoute le stereotype <<instanceof>> pour la relation dedependance reliant une classe a une instance

H & H: Research and Training 11 / 18

Page 18: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UMLConsiderant le diagramme de classes suivant

Client

nomprenom

1..*1..2

Compte

numerosoldevalMaxDecouvert

crediter(int x)

dediter(int x)

Un premier exemple de diagramme d’objets

client:Client

WickJohn

compte:Compte

H & H: Research and Training 12 / 18

Page 19: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UMLConsiderant le diagramme de classes suivant

Client

nomprenom

1..*1..2

Compte

numerosoldevalMaxDecouvert

crediter(int x)

dediter(int x)

Un premier exemple de diagramme d’objets

client:Client

WickJohn

compte:Compte

H & H: Research and Training 12 / 18

Page 20: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

Voici un deuxieme exemple de diagramme d’objets, plus detaille,pour le diagramme de classes precedent

compte0:Compte

200100 0000

client1:Client

WickJohn

compte1:Compte

10010 000500

client2:Client

WickEmilly

compte2:Compte

1011 500400

client3:Client

DaltonAnna

compte3:Compte

1023000

H & H: Research and Training 13 / 18

Page 21: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Explication

L’exemple precedent illustre tous les cas possibles pour la relationclient-compte

compte2 appartient a deux clients : client1 et client2

compte3 appartient a un seul client : client3

client2 possede plusieurs comptes : compte0, compte1 etcompte2

H & H: Research and Training 14 / 18

Page 22: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Considerant le diagramme de classes suivant

Molecule

Atome

H & H: Research and Training 15 / 18

Page 23: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Voici un exemple de diagramme d’objets pour le diagramme declasses precedent

eau:Molecule

hydrogene1:Atome hydrogene2:Atome oxygene:Atome

H & H: Research and Training 16 / 18

Page 24: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Terminologie

oxygene, hydrogene1 et hydrogene2 : objets composants

eau : objet composite

H & H: Research and Training 17 / 18

Page 25: UML : diagramme d'objets · Un diagramme de structure d’UML (statique) Permettant de visualiser les relations entre les objets Detaillant un peu plus le diagramme de classes´ Donnant

© Achref EL MOUELHI ©

Diagramme d’objets

UML

Exercice : elaborer un diagramme d’objets pour le diagramme declasses suivant

Personne

nomprenom

dateNaissance

Entreprise

nom

ville

employe

1..* 1

dirigeant1 0..1

{sous-ensemble}

H & H: Research and Training 18 / 18