Vous êtes sur la page 1sur 34

Mthodes de conception orientes objet j

UML Modlisation statique


A. ABDELLATIF abdelaziz.abdellatif@fst.rnu.tn
2011-2012

MCOO - LFI2

A. Abdellatif

Sommaire
Introduction Diagramme de classes Diagramme dobjets Diagramme de composants Diagramme de dploiement Synthse

UML : Modlisation statique

MCOO - LFI2

A. Abdellatif

Introduction
La modlisation statique dun systme consiste dcrire les composantes de ce dernier sans tenir compte de leur volution dans le temps. Elle se fait laide des diagrammes suivants :
Diagramme Diagramme Diag amme Diagramme Diagramme de classes dobjets de composants de dploiement

UML : Modlisation statique

Diagramme g de classes

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Prsentation


Reprsente les classes constituant le systme et les associations entre elles. elles Cest le diagramme le plus important de la modlisation oriente objet. Regroupe les classes du monde rel et les classes ncessaires limplmentation du systme. Permet de d gnrer la l base b de d donnes d et les classes utilises dans la programmation des applications.
UML : Modlisation statique 5

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Concepts de base


Le diagramme de classes se base sur les concepts suivants :
Classe : Description formelle dun ensemble dobjets ayant une smantique, des proprits et un comportement communs. Association : Relation smantique entre deux ou plusieurs classes. Proprit (attribut) : lment permettant de dcrire une classe ou une association. Mthode : Opration ralise par les objets dune classe. Paquetage : Dcomposition du diagramme de classes
6

UML : Modlisation statique

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Reprsentation dune classe


Nom classe
Attributs

Personne Matricule Nom Prenom Date naissance Date_naissance Age ()

Mthodes

Forme minimale
UML : Modlisation statique 7

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Reprsentation dtaille dune classe


Personne + + + # Matricule Nom Prenom Date_naissance Permanant : : : : : int char char date boolean

Type de donnes
= vrai

Visibilit : + Public - Priv # Protg

+ Age () : int

Valeur initiale

Type de valeur de retour


8

UML : Modlisation statique

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Reprsentation dune association


Classe A Classe B

Avec possibilit de prciser : Un nom dassociation Une dcoration Le rle de chaque classe Des cardinalits
UML : Modlisation statique 9

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Reprsentation dune association


E m p lo y T ra va ille r d a n s E n t re p ris e

Nom dassociation
E m p lo y T ra va ille r d a n s > E n t re p ris e

Dcoration

E m ploy

Tra vaille dan s F ait travailler


Rle

E ntre pris e

UML : Modlisation statique

10

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Cardinalits (multiplicit)


Cardinalits possibles :
1 Un et un seul 1..1 Un et un seul 0..1 Zro ou un (optionnel) m..n De m n plusieurs 0..* Zro ou p * Zro ou plusieurs 1..* Un plusieurs
Employ

0..*

1..1 Entreprise

UML : Modlisation statique

11

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Navigabilit dassociation


Chaque sens dune association binaire peut tre navigable ou non. La navigabilit est reprsente pas une flche. La non navigabilit est reprsente par une croix. Labsence de ces deux symbole veut dire que lassociation est navigable dan les deux sens.
Commande 0..* 1..* Article

Signification :
Une occurrence de Commande stocke une liste des Articles. Une occurrence dArticle ne stocke pas une liste des commandes.
12

UML : Modlisation statique

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Classe association


Si lassociation est porteuse de donnes, elle est reprsente par une classe association. Une classe association peut avoir des proprits et des mthodes.
Commande 0..* 1..* Article

LigcoCommande + quantite : int

UML : Modlisation statique

13

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Les contraintes


Lorsque les cardinalits ne sont pas suffisantes ffi t pour traduire t d i les l rgles l d de gestion, un digramme de classe peut tre complt par des contraintes. {contrainte} Une contrainte concerne plusieurs associations.
UML : Modlisation statique

une

ou
14

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Les contraintes


Toute rgle peut tre reprsente sous f forme de d contraintes. i Contraintes couramment utilise :
{ordonne} : Signifie lexistence dune relation dordre entre les objets de la classe indique par la contrainte. {Sous-ensemble} : Indique quune collection est incluse dans une autre. {Ou exclusif} : Signifie la participation exclusive dun objet lune ou lautre des associations.
UML : Modlisation statique 15

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Les contraintes : exemples


Livre 1..1 0 * 0.. {Ordonne}
1..1 Section 1..* Inscrit dans Etudiant {Sous-ensemble} 0..1
1..1 Reoit {Ou exclusif} 1..1 Se dplace
UML : Modlisation statique

Chapitre

0 * 0.. Match

Equipe

0..* Reprsente

0..*
16

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association dagrgation


Une agrgation est une association qui reprsente une relation dinclusion structurelle ou comportementale dun lment dans un ensemble.
Agrgat
Entreprise 0..1

Agrg
Vhicule

0..*
UML : Modlisation statique 17

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association de composition


Une composition est une association qui dcrit une contenance structurelle Vehicule Composite entre instances.
Composants
1..1 1..1 1..1

Remarque : La destruction de lobjet composite entrane la destruction des objets composants


UML : Modlisation statique

1..1 Moteur

1..1 BoiteVitesse

4..4 Roue

18

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association de qualification


Permet de partitionner les objets d dune classe l par rapport t certaines t i proprits de lautre classe.
Class_1 Cl Class_2

Rpertoire Nom_repertoire

0..*

Fichier

UML : Modlisation statique

19

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association n-aire


Association reliant plus que deux classes.
A B

Remarque : Les associations n-aires sont gnralement remplaces par une classe.
UML : Modlisation statique

Class_assoc

20

10

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association n-aire (Exemple)


Section Module

Replac par
Section 1..1 0..* Emploi du temps + H dbut : int : int 0 * + H fin 0.. Salle 1..1 0 * 0.. 1..1 Jour 1..1 Module

Salle Emploi du temps + H dbut : int + H fin : int

0..*

Jour

UML : Modlisation statique

21

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association dhritage


Reprsente une relation dhritage entre super classes et sous classes.
A
+ + + + Personne CIN Nom Prnom Date naissance

+ Age () : int

B
Pilote + Date embauche

Passager + Numero billet

UML : Modlisation statique

22

11

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association dhritage multiple


Moyen transport

Terrestre

Arien

Maritime

Voiture

Avion

Hydravion

Bateau

UML : Modlisation statique

23

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association dhritage exclusif


Client

{Exclusif}

Particulier

Exclusif

UML : Modlisation statique

24

12

MCOO - LFI2

A. Abdellatif

Diagramme de classes : Association dhritage :rgles


Une association dhritage ne peut pas tre :
Class_1 A

Rflexive : Symtrique :
B A

Transitive :
UML : Modlisation statique

25

MCOO - LFI2

A. Abdellatif

Exemple de diagramme de classes: Systme de rservation de vols


Source :
UML par la pratique : tudes de cas et exercices corrigs Pascal Roques y Eyrolles

UML : Modlisation statique

26

13

MCOO - LFI2

A. Abdellatif

Exemple de diagramme de classes: Systme de rservation de vols


nonc : 1. Des compagnies p g ariennes p proposent p diffrents vols. 2. Un vol est ouvert la rservation et referm sur ordre de la compagnie. 3. Un client peut rserver un ou plusieurs vols, pour des passagers diffrents. 4. Une rservation concerne un seul vol et un seul passager. 5. Une rservation peut tre annule ou confirme. 6. Un vol a un jour et une heure de dpart , et un jour et une heure darrive. 7 7. Un vol a un aroport de dpart et un aroport darrive. darrive 8. Un vol peut comporter des escales dans des aroports. 9. Une escale a une heure darrive et une heure de dpart. 10. Chaque aroport dessert une ou plusieurs villes.

UML : Modlisation statique

27

MCOO - LFI2

A. Abdellatif

Exemple de diagramme de classes: Systme de rservation de vols


CompagnieAerienne nomCompagnie Client codeClient nomClient prenomClient adresseClient numTel numFax 1..* Propose 1..* 0..* Vol numeroVol dateDepart heureDeprt dateArrivee heureArrivee ouvrirReservation () fermerReservation () effectuer 0..* Reservation <concerner 1..1 0..* dateReservation numeroReservation confirmer () annuler () 0..* concerne 1..1 Ville nomVille InfosEscale heureArrivee heureDepart Passager nomPassager prenomPassager

Aeroprt nomAeroprt

1..1 depart 1..1 arrivee

relier 1

1..1

relier2

0..*

0..* escale

infoescale

0..*

{ordonne} 0..*
dessert 0..*

UML : Modlisation statique

28

14

MCOO - LFI2

A. Abdellatif

Exemple de diagramme de classes: Systme de rservation de vols


CompagnieAerienne nomCompagnie Client codeClient nomClient prenomClient adresseClient numTel numFax 1..* Propose 1..* 0..* Vol numeroVol dateDepart heureDeprt dateArrivee heureArrivee ouvrirReservation () fermerReservation () effectuer 0..* Reservation <concerner 1..1 0..* dateReservation numeroReservation confirmer () annuler () 0..* concerne 1..1 Passager nomPassager prenomPassager

Aeroprt nomAeroprt

1..1 depart 1..1 arrivee

relier 1

1..1

relier2

0..*

{ordonne} 0..*
dessert 0..*

Vols

Ville nomVille

InfosEscale heureArrivee heureDepart

Rservation ns

0..* escale

infoescale

0..*

UML : Modlisation statique

29

Diagramme g dobjets j

15

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Prsentation


Cest un diagramme de classes appliqu concrtement quelques l objets. bj Appel aussi diagramme dinstances. Permet de prciser un diagramme de classes en lillustrant par des exemples Permet de vrifier ladquation du diagramme de classes des cas particuliers.

UML : Modlisation statique

31

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Concepts de base


Le diagramme de classes se base sur les concepts suivants :
Objet : Description dun objet du monde rel (instance de classe). Lien : Relation smantique entre deux ou plusieurs objets (instance dassociation). Valeur : Valeur dune proprit relative un objet.

UML : Modlisation statique

32

16

MCOO - LFI2

A. Abdellatif

Correspondance entre diagrammes de classes et diagrammes dobjets


1..* Diagramme classes 1..* 1..* 1..* Association 1 * 1..* 0..* 1 0..* Lien 0..* 1..* 1 0..* Objet 1..* 0..* Diagramme objets 1..* 1..* 1..*

1..* Classe

UML : Modlisation statique

33

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Reprsentation dun objet


Trois reprsentations possibles :

N Nom objet bj t

Nom objet:Nom classe

:Nom classe

Objet nomm Exemples :

Objet nomm avec sa classe

Objet anonyme

C250

C250:Modle voiture

:Modle voiture

UML : Modlisation statique

34

17

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Reprsentation dtaille dun objet


Nom objet:Nom classe Nom proprit = valeur

Nom proprit de la classe


C250:Modle voiture Marque Anne
UML : Modlisation statique

Valeur proprit pour lobjet

= Mercedes = 2002
35

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Reprsentation des liens


Objet j 1 Objet j 2

Remarques : Pas de cardinalits Possibilit de nommer le lien

UML : Modlisation statique

36

18

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Reprsentation des liens : exemple


Diagramme de classes :
Moteur 1..1 1..1 Vehicule 1..* 1..4 Roue

Diagramme dobjets :
Voiture Moteur

Roue AV D

Roue AG

Roue AR D

Roue AR G

UML : Modlisation statique

37

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Reprsentation des liens : exemple


Diagramme de classes :
Employ 0..* Dirig par

0..1 Dirige

Diagramme dobjets :
Mohamed:Employ Dirige Ali:Employ

UML : Modlisation statique

38

19

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Objets multiples


Lorsquun objet est li plusieurs autres objets, on peut :
Reprsenter explicitement tous ces objets :
Objet B1 Objet A Objet B2 Objet B3

Reprsenter ces objets par un objet multiple:


Objet A :Classe C

UML : Modlisation statique

39

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Objets multiples : exemple


Diagramme de classes :
Employ 0..* Dirig par

0..1 Dirige

Diagramme dobjets :
Mohamed:Employ Dirige :Employ

UML : Modlisation statique

40

20

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Objets composites


Un objet composite est une instance dune classe ayant une association de composition.
Classe A

:Classe A
0..1 0..* Classe B

1:Classe B

2:Classe B

3:Classe B

UML : Modlisation statique

41

MCOO - LFI2

A. Abdellatif

Diagramme dobjets : Objets composites : exemple


Fenetre

Diagramm me de classes s

1 1 2 Barre dfilement 1 Zone travail

1 Palette d'outils

Diagramme e Dobjets

:Fenetre F t 1:Barre dfilement 2:Barre dfilement :Zone travail :Palette d'outils

UML : Modlisation statique

42

21

Diagramme g de composants p

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Prsentation


Un diagramme de composant dcrit la faon selon laquelle les composantes logicielles seront ralises. Il reprsente les choix de ralisation. Il est destin aux ralisateurs (dveloppeurs) (dveloppeurs).

UML : Modlisation statique

44

22

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Concepts de base


Le diagramme de composants se base sur les concepts suivants :
Composant : Toute sorte dlment physique permettant la ralisation dun logiciel. Dpendance entre composants : Relation de dpendance entre deux ou plusieurs composants. Programme principal : Constitue le point dentre dans une application. Sous-programme : Procdure ou fonction ne contenant aucune classe. Sous-systme : Regroupement dun ensemble de composants.
UML : Modlisation statique 45

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Les composants


Les composants reprsentent toute sortes dlments physiques permettant la ralisation d dun un logiciel. logiciel Un composant est appel aussi module. Un composant se prsente sous forme de fichier. Dans lapproche objet, chaque classe constitue un composant. Chaque classe (composant) est reprsente par deux lments : une spcification et un corps. corps

UML : Modlisation statique

46

23

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Les composants: reprsentation


Trois reprsentations possibles :
Composant A

<<Composant>> Composant A

xx

Composant A

UML : Modlisation statique

47

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Les composants: Exemple


Vrificateur d'orthographe

<<Composant>> Vrificateur dorthographe


xx

Vrificateur dorthographe
48

UML : Modlisation statique

24

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Dpendance entre composants


Dans un diagramme de composants, la relation l i d de d dpendance d est utilise ili pour indiquer quun composant fait rfrence aux services offerts par un autre composant. Cette notion est utile pour reprsenter a dpendance de compilation entre composants.

UML : Modlisation statique

49

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Dpendance: reprsentation


Composant A Composant B

Exemple :
Editeur texte

Vrificateur d'orthographe

Vrificateur grammaire

UML : Modlisation statique

50

25

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Programme principal


Chaque application a un point dentre appel programme principal (main).
Main

UML : Modlisation statique

51

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Les sous-programmes


Les sous-programmes regroupent procdures et les fonctions nappartiennent aucune classe.
F1

les qui

UML : Modlisation statique

52

26

MCOO - LFI2

A. Abdellatif

Diagramme de composants : Les sous-systmes


Dans le cas de systmes complexes, un ensemble de composants peuvent tre regroups dans un sous-systme. Constitue la notion de bibliothque. Utilise le formalisme de paquetage.

Sous-systme 1 Composant A Composant B

UML : Modlisation statique

53

Diagramme g de dploiement p

27

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Prsentation


Reprsente la structure physique du systme i f informatique i et la l rpartition ii d des composantes logicielles sur ce systme. Constitue un moyen pour reprsenter les diffrentes architectures selon laquelle le nouveau logiciel peut tre dploy :
Architecture Architecture Architecture Architecture centralise client/serveur deux niveaux client/serveur trois niveaux client/serveur n niveaux
55

UML : Modlisation statique

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Concepts de base


Le diagramme de dploiement se base sur les concepts suivants :
Noeud : Description dun dispositif matriel. Composant : Composante logicielle. Association de noeud : Relation entre deux noeuds. Instance de noeud : Cest une occurrence dun dispositif matriel.

UML : Modlisation statique

56

28

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les noeuds


Chaque dispositif matriel reprsent par un noeud. Un nud est dcrit par :
Un nom (obligatoire) Un strotype (serveur, p , routeur, , ) ) imprimante, Une adresse rseau Une cardinalit
UML : Modlisation statique

est

client,

57

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les nuds : reprsentation

Type de dispositif Nom du noeud Adresse rseau 1 Cardinalit


<<Serveur de donnes>> SD 190.190.10.10

UML : Modlisation statique

58

29

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les composants


Dans chaque nud, on peut indiquer les composants logiciels qui vont y tre installs. On utilise le mme formalisme que celui du diagramme de composants.

UML : Modlisation statique

59

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les composants: reprsentation

<<Serveur de donnes>> SD 190.190.10.10


SGBD Oracle

UML : Modlisation statique

60

30

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les associations


Les nuds sont inter relis par des associations. i i Chaque association entre deux nuds reprsente lexistence dun support de communication entre eux. Pour chaque association, on peut prciser :
Le nom Le rle de chaque ct La cardinalit

UML : Modlisation statique

61

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les associations:reprsentation

Noeud 1

1..1 Rle 1

Nom association 1..* Rle 2

Noeud 2

UML : Modlisation statique

62

31

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les associations:exemple


OAS IIS 1..3 Serveur Applications TCP-IP 1..1 SGBD Oracle Serveur de donnes

CRM

1..1

Internet

0..*

Client Navigateur

USB

Imprimante

UML : Modlisation statique

63

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Instances de noeud


Dans un diagramme de dploiement, on peut reprsenter l instances les i d nuds. des d Cette possibilit est utilise surtout pour reprsenter de faon exhaustive des parties du diagramme de dploiement. Les instances de nuds se distinguent des nuds par le fait que leurs noms sont souligns.

UML : Modlisation statique

64

32

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les associations:reprsentation

Instance de nud

UML : Modlisation statique

65

MCOO - LFI2

A. Abdellatif

Diagramme de dploiement : Les associations:exemple


Serveur app 1

Serveur app 2

Serveur de donnes

Serveur app 3

UML : Modlisation statique

66

33

MCOO - LFI2

A. Abdellatif

Synthse
Utiliser les diagrammes de classes pour dcrire des composantes structurelles d dun un SI. Utiliser les diagrammes dobjets pour illustrer et tester les diagrammes de classes. Utiliser les diagrammes de composants pour montrer la faon selon laquelle le logiciel sera dcoup en composantes. composantes Utiliser les diagrammes de dploiement pour envisager les diffrentes faons selon lesquelles le logiciel peut tre exploit.
UML : Modlisation statique 67

34

Vous aimerez peut-être aussi