UML Diagrammes Statiques

34
1 Génie logiciel et méthodes de conception orientées objet UML Modélisation statique A. ABDELLATIF [email protected] 2012-2013 GL & MCOO A. Abdellatif Sommaire Introduction Diagramme de classes Diagramme d’objets Diagramme de composants Diagramme de déploiement UML : Modélisation statique 2 Synthèse

Transcript of UML Diagrammes Statiques

Page 1: UML Diagrammes Statiques

1

Génie logiciel et méthodes de conception orientées objetp j

UMLModélisation statique

A. [email protected]

2012-2013

GL & MCOO A. Abdellatif

Sommaire

IntroductionDiagramme de classesDiagramme d’objetsDiagramme de composantsDiagramme de déploiement

UML : Modélisation statique 2

Synthèse

Page 2: UML Diagrammes Statiques

2

GL & MCOO A. Abdellatif

IntroductionLa modélisation statique d’un systèmeconsiste à décrire les composantes de ceconsiste à décrire les composantes de cedernier sans tenir compte de leur évolutiondans le temps.Elle se fait à l’aide des diagrammessuivants :

Diagramme de classesDiagramme d’objetsDiag amme de composants

UML : Modélisation statique 3

Diagramme de composantsDiagramme de déploiement

Diagramme de classesg

Page 3: UML Diagrammes Statiques

3

GL & MCOO A. Abdellatif

Diagramme de classes : Présentation

Représente les classes constituant le système et les associations entre ellessystème et les associations entre elles.C’est le diagramme le plus important de la modélisation orientée objet.Regroupe les classes du monde réel et les classes nécessaires à l’implémentation du système.

d é é l b d d é

UML : Modélisation statique 5

Permet de générer la base de données et les classes utilisées dans la programmation des applications.

GL & MCOO A. Abdellatif

Diagramme de classes : Concepts de base

Le diagramme de classes se base sur lesconcepts suivants :concepts suivants :

Classe : Description formelle d’un ensemble d’objetsayant une sémantique, des propriétés et uncomportement communs.Association : Relation sémantique entre deux ouplusieurs classes.Propriété (attribut) : élément permettant dedécrire une classe ou une association.

é é é é

UML : Modélisation statique 6

Méthode : Opération réalisée par les objets d’uneclasse.Paquetage : Décomposition du diagramme declasses

Page 4: UML Diagrammes Statiques

4

GL & MCOO A. Abdellatif

Diagramme de classes : Représentation d’une classe

Nom classe

Attributs

Personne

MatriculeNomPrenomDate naissance

UML : Modélisation statique 7

MéthodesDate_naissanceAge ()

Forme minimale

GL & MCOO A. Abdellatif

Diagramme de classes : Représentation détaillée d’une classe

Personne

+++-#

MatriculeNomPrenomDate_naissancePermanant

: int: char: char: date: boolean = vrai

+ Age () : intVisibilité :+ Public

Type de données

Valeur initiale

UML : Modélisation statique 8

+ Public- Privé# Protégé Type de

valeur de retour

Page 5: UML Diagrammes Statiques

5

GL & MCOO A. Abdellatif

Diagramme de classes : Représentation d’une association

Classe A Classe BClasse A Classe B

Avec possibilité de préciser :

•Un nom d’association

UML : Modélisation statique 9

•Une décoration

•Le rôle de chaque classe

•Des cardinalités

GL & MCOO A. Abdellatif

Diagramme de classes : Représentation d’une association

Tra va il le r d a n sE m p lo y é E n t re p ris e

Tra va i l le r d a n s >E m p lo y é E n t re p ris e

Travaille dansE m ploy é E ntrepris e

Nom d’association

Décoration

UML : Modélisation statique 10

Travaille dans

Fait t ravailler

E m ploy é E ntrepris e

Rôle

Page 6: UML Diagrammes Statiques

6

GL & MCOO A. Abdellatif

Cardinalités possibles :

Diagramme de classes : Cardinalités (multiplicité)

Employé

1 Un et un seul1..1 Un et un seul0..1 Zéro ou un (optionnel)m..n De m à n0..* Zéro ou plusieurs

0..*

1..1

UML : Modélisation statique 11

p* Zéro ou plusieurs1..* Un à plusieurs

Entreprise

GL & MCOO A. Abdellatif

Diagramme de classes : Navigabilité d’association

Chaque sens d’une association binaire peut être navigable ou non.La navigabilité est représentée pas une flèche.La non navigabilité est représentée par une croix.L’absence de ces deux symbole veut dire que l’association est navigable dan les deux sens.

0..* 1..*Commande Article

UML : Modélisation statique 12

Signification :Une occurrence de Commande stocke une liste des Articles.Une occurrence d’Article ne stocke pas une liste des commandes.

Page 7: UML Diagrammes Statiques

7

GL & MCOO A. Abdellatif

Diagramme de classes : Classe association

Si l’association est porteuse de données, elle est représentée par une classe association.Une classe association peut avoir des propriétés et des méthodes.

0..* 1..*Commande Article

UML : Modélisation statique 13

LigcoCommande

+ quantite : int

GL & MCOO A. Abdellatif

Diagramme de classes : Les contraintes

Lorsque les cardinalités ne sont pasffi t t d i l è l dsuffisantes pour traduire les règles de

gestion, un digramme de classe peutêtre complété par des contraintes.

{contrainte}

UML : Modélisation statique 14

Une contrainte concerne une ouplusieurs associations.

Page 8: UML Diagrammes Statiques

8

GL & MCOO A. Abdellatif

Diagramme de classes : Les contraintes

Toute règle peut être représentée sous f d iforme de contraintes.Contraintes couramment utilisée :

{ordonnée} : Signifie l’existence d’une relation d’ordre entre les objets de la classe indiquée par la contrainte.{Sous-ensemble} : Indique qu’une collection

UML : Modélisation statique 15

est incluse dans une autre.{Ou exclusif} : Signifie la participation exclusive d’un objet à l’une ou l’autre des associations.

GL & MCOO A. Abdellatif

Diagramme de classes : Les contraintes : exemples

1..1 0 *Livre Chapitre

1..1 0..{Ordonnée}

0..1

0..*

1..11..*

Inscrit dansSection Etudiant

{Sous-ensemble}

1..1 0 *

UML : Modélisation statique 16

Représente

1..1Se déplace 0..*

Reçoit 0..Equipe Match

{Ou exclusif}

Page 9: UML Diagrammes Statiques

9

GL & MCOO A. Abdellatif

Diagramme de classes : Association d’agrégation

Une agrégation est une association qui représente une relation d’inclusion structurelle ou comportementale d’un élément dans un ensemble.

0..1

Entreprise Véhicule

Agrégat Agrégé

UML : Modélisation statique 17

0..*

Entreprise

GL & MCOO A. Abdellatif

Diagramme de classes : Association de composition

Une composition est une association qui décrit une contenance structurelle entre instances. Composite

Composants 1..1

1..1

1..1

Vehicule

UML : Modélisation statique 18

Remarque :La destruction de l’objet composite entraîne la destruction des objets composants

4..41..11..1

Moteur BoiteVitesse Roue

Page 10: UML Diagrammes Statiques

10

GL & MCOO A. Abdellatif

Diagramme de classes : Association de qualification

Permet de partitionner les objets d’ l t à t i d’une classe par rapport à certaines propriétés de l’autre classe.

Class_1 Class_2Clé

UML : Modélisation statique 19

0..*Répertoire Fichier

Nom_repertoire

GL & MCOO A. Abdellatif

Diagramme de classes : Association n-aire

Association reliant plus que deux classes.

A B

UML : Modélisation statique 20

Remarque :Les associations n-airessont généralementremplacées par uneclasse.

Class_assocC

Page 11: UML Diagrammes Statiques

11

GL & MCOO A. Abdellatif

Diagramme de classes : Association n-aire (Exemple)

Section Module

0 *0 *

1..1

0..*

1..1

0..*

Section Module

Emploi du temps

++

H débutH fin

: int: int

Replacé par

SalleJour

Emploi du temps

+ H début : int

UML : Modélisation statique 21

1..1

0..

1..1

0..

SalleJour

+ H fin : int

GL & MCOO A. Abdellatif

Diagramme de classes : Association d’héritage

Représente une relation d’héritage entre super classes et sous classes.

A Personne

++++

CINNomPrénomDate naissance

+ Age () : int

UML : Modélisation statique 22

BCPilote

+ Date embauche

Passager

+ Numero billet

Page 12: UML Diagrammes Statiques

12

GL & MCOO A. Abdellatif

Diagramme de classes : Association d’héritage multiple

Moyen transport

Terrestre Aérien Maritime

UML : Modélisation statique 23

Voiture Avion BateauHydravion

GL & MCOO A. Abdellatif

Diagramme de classes : Association d’héritage exclusif

Client

{Exclusif}

UML : Modélisation statique 24

Particulier Exclusif

Page 13: UML Diagrammes Statiques

13

GL & MCOO A. Abdellatif

Diagramme de classes : Association d’héritage :règles

Une association d’héritage ne peut pas être :

Réflexive :

Symétrique :

Class_1A

B A

UML : Modélisation statique 25

Transitive : BA C

GL & MCOO A. Abdellatif

Exemple de diagramme de classes:Système de réservation de vols

Source :UML par la pratique : études de cas et exercices corrigésPascal RoquesEyrolles

UML : Modélisation statique 26

y

Page 14: UML Diagrammes Statiques

14

GL & MCOO A. Abdellatif

Exemple de diagramme de classes:Système de réservation de volsÉnoncé :1. Des compagnies aériennes proposent différents vols.p g p p2. Un vol est ouvert à la réservation et refermé sur ordre de

la compagnie.3. Un client peut réserver un ou plusieurs vols, pour des

passagers différents.4. Une réservation concerne un seul vol et un seul passager.5. Une réservation peut être annulée ou confirmée.6. Un vol a un jour et une heure de départ , et un jour et une

heure d’arrivée.7 Un vol a un aéroport de départ et un aéroport d’arrivée

UML : Modélisation statique 27

7. Un vol a un aéroport de départ et un aéroport d’arrivée. 8. Un vol peut comporter des escales dans des aéroports.9. Une escale a une heure d’arrivée et une heure de départ.10. Chaque aéroport dessert une ou plusieurs villes.

GL & MCOO A. Abdellatif

Exemple de diagramme de classes:Système de réservation de vols

CompagnieAerienne

nomCompagnieClient

codeClientnomClient

infoescale0..*escale

0..*

relier21..1arrivee

0..*

relier 11..1depart

0..*

<concerner

1..1 0..*

effectuer1..1

0..*

Propose

1..*

1..*

Vol

numeroVoldateDepartheureDeprtdateArriveeheureArriveeouvrirReservation ()fermerReservation ()

prenomClientadresseClientnumTelnumFax

Reservation

dateReservationnumeroReservationconfirmer ()annuler ()

Aeroprt

nomAeroprt

UML : Modélisation statique 28

dessert

0..*

0..*concerne

0..*

1..1

Passager

nomPassagerprenomPassager

Ville

nomVille

InfosEscale

heureArriveeheureDepart

{ordonnée}

Page 15: UML Diagrammes Statiques

15

GL & MCOO A. Abdellatif

Exemple de diagramme de classes:Système de réservation de vols

CompagnieAerienne

nomCompagnieClient

codeClientnomClient

infoescale0..*escale

0..*

relier21..1arrivee

0..*

relier 11..1depart

0..*

<concerner

1..1 0..*

effectuer1..1

0..*

Propose

1..*

1..*

Vol

numeroVoldateDepartheureDeprtdateArriveeheureArriveeouvrirReservation ()fermerReservation ()

prenomClientadresseClientnumTelnumFax

Reservation

dateReservationnumeroReservationconfirmer ()annuler ()

Aeroprt

nomAeroprt

ns

UML : Modélisation statique 29

dessert

0..*

0..*concerne

0..*

1..1

Passager

nomPassagerprenomPassager

Ville

nomVille

InfosEscale

heureArriveeheureDepart

{ordonnée}

Vo

ls

Rése

rvati

on

Diagramme d’objetsg j

Page 16: UML Diagrammes Statiques

16

GL & MCOO A. Abdellatif

Diagramme d’objets : Présentation

C’est un diagramme de classes appliqué è à l bjconcrètement à quelques objets.

Appelé aussi diagramme d’instances.Permet de préciser un diagramme de classes en l’illustrant par des exemplesPermet de vérifier l’adéquation du diagramme de classes à des cas

UML : Modélisation statique 31

diagramme de classes à des cas particuliers.

GL & MCOO A. Abdellatif

Diagramme d’objets : Concepts de base

Le diagramme de classes se base sur lesconcepts suivants :

Objet : Description d’un objet du monde réel(instance de classe).Lien : Relation sémantique entre deux ouplusieurs objets (instance d’association).

UML : Modélisation statique 32

Valeur : Valeur d’une propriété relative à unobjet.

Page 17: UML Diagrammes Statiques

17

GL & MCOO A. Abdellatif

Correspondance entre diagrammes de classes et diagrammes d’objets

1..* 0..*

10..* 0..*

1..*

1..*1..*

1..*

0..*1 *

1..*1..*

Diagramme classes Diagramme objets

LienAssociation

UML : Modélisation statique 33

1 0..*

1..*1..*

1..*1..*

ObjetClasse

GL & MCOO A. Abdellatif

Diagramme d’objets : Représentation d’un objet

N bj tTrois représentations possibles :

Nom objet Nom objet:Nom classe :Nom classe

Exemples :

Objet nomméObjet nommé avec sa classe Objet anonyme

UML : Modélisation statique 34

C250 C250:Modèle voiture :Modèle voiture

Page 18: UML Diagrammes Statiques

18

GL & MCOO A. Abdellatif

Diagramme d’objets : Représentation détaillée d’un objet

Nom objet:Nom classe

Nom propriété = valeur

Nom propriété de la classe

Valeur propriété pour l’objet

UML : Modélisation statique 35

C250:Modèle voiture

MarqueAnnée

= Mercedes = 2002

GL & MCOO A. Abdellatif

Diagramme d’objets : Représentation des liens

Objet 1 Objet 2

Remarques :

•Pas de cardinalités

j j

UML : Modélisation statique 36

•Possibilité de nommer le lien

Page 19: UML Diagrammes Statiques

19

GL & MCOO A. Abdellatif

Diagramme d’objets : Représentation des liens : exemple

Diagramme de classes :

Diagramme d’objets :

1..*1..4

1..11..1

Vehicule RoueMoteur

Voiture Moteur

UML : Modélisation statique 37

Roue AV D Roue AG Roue AR D Roue AR G

GL & MCOO A. Abdellatif

Diagramme d’objets : Représentation des liens : exemple

Diagramme de classes :

0..1Dirige

0..*Dirigé parEmployé

UML : Modélisation statique 38

Diagramme d’objets :DirigeMohamed:Employé Ali:Employé

Page 20: UML Diagrammes Statiques

20

GL & MCOO A. Abdellatif

Diagramme d’objets : Objets multiples

Lorsqu’un objet est lié à plusieurs autres objets, on peut :

Représenter explicitement tous ces objets :

Objet A

Objet B1

Objet B2

Objet B3

UML : Modélisation statique 39

Représenter ces objets par un objet multiple:Objet A :Classe C

GL & MCOO A. Abdellatif

Diagramme d’objets : Objets multiples : exemple

Diagramme de classes :

0..1Dirige

0..*Dirigé parEmployé

UML : Modélisation statique 40

Diagramme d’objets :DirigeMohamed:Employé :Employé

Page 21: UML Diagrammes Statiques

21

GL & MCOO A. Abdellatif

Diagramme d’objets : Objets composites

Un objet composite est une instance d’une classe ayant une association de composition.

0..1

Classe A:Classe A

1:Classe B 2:Classe B 3:Classe B

UML : Modélisation statique 41

0..*

Classe B

1:Classe B 2:Classe B 3:Classe B

GL & MCOO A. Abdellatif

Diagramme d’objets : Objets composites : exemple

Fenetre

me

s

1

1

1

2 1

1

Zone travailBarre défilement Palette d'outils

F t

Dia

gra

mm

de c

lass

es

e

UML : Modélisation statique 42

:Fenetre

:Palette d'outils1:Barre défilement :Zone travail2:Barre défilement

Dia

gra

mm

eD

’ob

jets

Page 22: UML Diagrammes Statiques

22

Diagramme de composantsg p

GL & MCOO A. Abdellatif

Diagramme de composants : Présentation

Un diagramme de composant décrit la façon selon laquelle les composantes logicielles seront réalisées.Il représente les choix de réalisation.Il est destiné aux réalisateurs (développeurs)

UML : Modélisation statique 44

(développeurs).

Page 23: UML Diagrammes Statiques

23

GL & MCOO A. Abdellatif

Diagramme de composants : Concepts de baseLe diagramme de composants se base sur lesconcepts suivants :concepts suivants :

Composant : Toute sorte d’élément physiquepermettant la réalisation d’un logiciel.Dépendance entre composants : Relation dedépendance entre deux ou plusieurs composants.Programme principal : Constitue le point d’entréedans une application.

UML : Modélisation statique 45

Sous-programme : Procédure ou fonction necontenant aucune classe.Sous-système : Regroupement d’un ensemble decomposants.

GL & MCOO A. Abdellatif

Diagramme de composants : Les composants

Les composants représentent toute sortes d’élémentsphysiques permettant la réalisation d’un logicielphysiques permettant la réalisation d un logiciel.Un composant est appelé aussi module.Un composant se présente sous forme de fichier.Dans l’approche objet, chaque classe constitue uncomposant.Chaque classe (composant) est représentée par deuxéléments : une spécification et un corps

UML : Modélisation statique 46

éléments : une spécification et un corps.

Page 24: UML Diagrammes Statiques

24

GL & MCOO A. Abdellatif

Diagramme de composants : Les composants: représentation

Trois représentations possibles :

Composant A

<<Composant>>

Composant A

UML : Modélisation statique 47

Composant Axx

GL & MCOO A. Abdellatif

Diagramme de composants : Les composants: Exemple

<<Composant>>

Vérificateur d’orthographe

Vérificateur d'orthographe

UML : Modélisation statique 48

Vérificateur d’orthographe

xx

Page 25: UML Diagrammes Statiques

25

GL & MCOO A. Abdellatif

Diagramme de composants : Dépendance entre composants

Dans un diagramme de composants, lal i d dé d ili érelation de dépendance est utilisée pour

indiquer qu’un composant fait référence auxservices offerts par un autre composant.Cette notion est utile pour représenter adépendance de compilation entrecomposants.

UML : Modélisation statique 49

composants.

GL & MCOO A. Abdellatif

Diagramme de composants : Dépendance: représentation

Composant A Composant B

Exemple :Editeur texte

UML : Modélisation statique 50

Vérificateur d'orthographe Vérificateur grammaire

Page 26: UML Diagrammes Statiques

26

GL & MCOO A. Abdellatif

Diagramme de composants : Programme principal

Chaque application a un point d’entréeappelé programme principal (main).

Main

UML : Modélisation statique 51

GL & MCOO A. Abdellatif

Diagramme de composants : Les sous-programmes

Les sous-programmes regroupent lesprocédures et les fonctions quin’appartiennent à aucune classe.

F1

UML : Modélisation statique 52

Page 27: UML Diagrammes Statiques

27

GL & MCOO A. Abdellatif

Diagramme de composants : Les sous-systèmes

Dans le cas de systèmes complexes, unensemble de composants peuvent êtreensemble de composants peuvent êtreregroupés dans un sous-système.Constitue la notion de bibliothèque.Utilise le formalisme de paquetage.

UML : Modélisation statique 53

Sous-système 1

Composant A Composant B

Diagramme de déploiementg p

Page 28: UML Diagrammes Statiques

28

GL & MCOO A. Abdellatif

Diagramme de déploiement : Présentation

Représente la structure physique duè i f i l é i i dsystème informatique et la répartition des

composantes logicielles sur ce système.Constitue un moyen pour représenter lesdifférentes architectures selon laquelle lenouveau logiciel peut être déployé :

Architecture centralisée

UML : Modélisation statique 55

Architecture centraliséeArchitecture client/serveur à deux niveauxArchitecture client/serveur à trois niveauxArchitecture client/serveur à n niveaux

GL & MCOO A. Abdellatif

Diagramme de déploiement : Concepts de base

Le diagramme de déploiement se basesur les concepts suivants :

Noeud : Description d’un dispositif matériel.Composant : Composante logicielle.Association de noeud : Relation entre deuxnoeuds.

UML : Modélisation statique 56

Instance de noeud : C’est une occurrenced’un dispositif matériel.

Page 29: UML Diagrammes Statiques

29

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les noeuds

Chaque dispositif matériel estreprésenté par un noeud.Un nœud est décrit par :

Un nom (obligatoire)Un stéréotype (serveur, client,imprimante, routeur, …)

UML : Modélisation statique 57

p , , )Une adresse réseauUne cardinalité

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les nœuds : représentation

<<Serveur de données>>SD

190.190.10.10Nom du noeud

Type de dispositif

UML : Modélisation statique 58

Adresse réseau

1Cardinalité

Page 30: UML Diagrammes Statiques

30

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les composants

Dans chaque nœud, on peut indiquerles composants logiciels qui vont y êtreinstallés.On utilise le même formalisme quecelui du diagramme de composants.

UML : Modélisation statique 59

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les composants: représentation

<<Serveur de données>>SD

190.190.10.10

UML : Modélisation statique 60

1SGBD Oracle

Page 31: UML Diagrammes Statiques

31

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les associations

Les nœuds sont inter reliés par desi iassociations.

Chaque association entre deux nœudsreprésente l’existence d’un support decommunication entre eux.Pour chaque association, on peut préciser :

Le nom

UML : Modélisation statique 61

Le nomLe rôle de chaque côtéLa cardinalité

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les associations:représentation

Nom association1..1

Rôle 1

1..*Rôle 2

Noeud 1 Noeud 2

UML : Modélisation statique 62

Page 32: UML Diagrammes Statiques

32

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les associations:exemple

OAS

TCP-IP1..3

1..1

Internet

1..1

Serveur Applications

Serveur de données

SGBD Oracle

IIS

CRM

UML : Modélisation statique 63

0..*

USBClient Imprimante

Navigateur

GL & MCOO A. Abdellatif

Diagramme de déploiement : Instances de noeud

Dans un diagramme de déploiement, on peuté l i d dreprésenter les instances des nœuds.

Cette possibilité est utilisée surtout pourreprésenter de façon exhaustive des partiesdu diagramme de déploiement.Les instances de nœuds se distinguent desnœuds par le fait que leurs noms sont

UML : Modélisation statique 64

nœuds par le fait que leurs noms sontsoulignés.

Page 33: UML Diagrammes Statiques

33

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les associations:représentation

Instance de nœud

UML : Modélisation statique 65

GL & MCOO A. Abdellatif

Diagramme de déploiement : Les associations:exemple

Serveur app 1

Serveur app 2 Serveur de données

UML : Modélisation statique 66

Serveur app 3

Page 34: UML Diagrammes Statiques

34

GL & MCOO A. Abdellatif

SynthèseUtiliser les diagrammes de classes pourdécrire des composantes structurelles d’undécrire des composantes structurelles d unSI.Utiliser les diagrammes d’objets pourillustrer et tester les diagrammes declasses.Utiliser les diagrammes de composantspour montrer la façon selon laquelle lelogiciel sera découpé en composantes

UML : Modélisation statique 67

logiciel sera découpé en composantes.Utiliser les diagrammes de déploiementpour envisager les différentes façons selonlesquelles le logiciel peut être exploité.