You are on page 1of 24

IAGE Larache Etab.

Priv
Marketing et Informatique Applique la GEstion
N dAutorisation 4/0/1/96 ; N Qualification 01/T0402/06 N dAccrditation 261/T0402/CAB/07

V wx UML
Unified Modeling language

Diagramme de Classes
Ralis Par :
Amal JBIRA KERDOUDA Imane

Encadr Par :
Pr : ABDOUN Otman

Sommaire Sommaire :
I. Dfinition du diagramme de classes : ......................... 1 II. Les notions utilises par le diagramme de classes : ....... 1 A. La notion de classe : ................................................................................1 1. Dfinition :..............................................................................................1 2. Reprsentation :....................................................................................1 a) Classe abstraite :...............................................................................2 (1) Dfinition :...................................................................................2 (2) Reprsentation dune classe abstraite.................................2 b) Un Interface : ....................................................................................2 (1) Dfinition :...................................................................................2 (2) Reprsentation dun interface :.............................................3 c) Classe normale :................................................................................3 (1) Dfinition :...................................................................................3 (2) Formalisme :...............................................................................3 (3) Formalisme de reprsentation simplifie : .........................3 (4) Formalisme de reprsentation avec chemin complet :...4 (5) Exemple de strotypes : ........................................................4 B. La notion dattribut ...............................................................................6 1. Dfinition :.............................................................................................6 2. Formalisme : .........................................................................................6 3. Visibilit et porte des attributs : ....................................................6 a) Formalisme :......................................................................................6 C. La notion didentifiant ..........................................................................6 1. Formalisme : ......................................................................................... 7 D. La notion dopration : ......................................................................... 7 1. Dfinition :............................................................................................. 7 2. Visibilit et porte des oprations :................................................. 7 a) Formalisme :...................................................................................... 8 E. La notion de relation............................................................................. 8 1. Lassociation.......................................................................................... 8 a) Exemple : ......................................................................................... 10 b) La navigabilit : ...............................................................................11 c) Les classes-association :...................................................................11 (1) Exemple :....................................................................................12 d) Association n-aire : .........................................................................12

e) Lagrgation :...................................................................................12 (1) Formalisme et exemple :........................................................13 f) La composition ................................................................................13 2. La gnralisation / spcialisation .................................................. 14 a) Formalisme et exemple : ..............................................................15 b) La spcialisation multiple .............................................................15 (1) Formalisme et exemple :........................................................15 c) Les contraintes sur les associations............................................. 16 (1) La contrainte de partition.................................................... 16 (2) La contrainte dexclusion ...................................................... 16 (3) la contrainte de totalit.........................................................17 3. La dpendance...................................................................................18 a) Abstraction .......................................................................................18 b) Liaison :............................................................................................. 19 c) Permission :...................................................................................... 19 d) Utilisation ......................................................................................... 19 e) Formalisme :................................................................................... 20 III. Exercice dapplication : ......................................... 20 IV. Rsultat de lexercice : ...........................................21

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

Diagrammes de Classes
I. Dfinition du diagramme de classes :
Le diagramme de classes exprime la structure statique du systme en termes de classes et de relations entre ces classes. Lintrt du diagramme de classe est de modliser les entits du systme dinformation. Le diagramme de classe permet de reprsenter lensemble des informations finalises qui sont gres par le domaine. Ces informations sont structures, cest--dire quelles ont regroupes dans des classes. Le diagramme met en vidence dventuelles relations entre ces classes. Le diagramme de classes comporte 6 concepts : Classe Attribut Identifiant Relation Opration Gnralisation / Spcialisation

II. Les notions utilises par le diagramme de classes :


A. La notion de classe :
1. Dfinition :
Une classe est une description abstraite (condense) dun ensemble dobjets du domaine de lapplication : elle dfinit leur structure, leur comportement et leurs relations.

2. Reprsentation :
Les classes sont reprsentes par des rectangles compartiments : 1er compartiment reprsente le nom de la classe le 2me compartiment reprsente les attributs de la classe le 3me compartiment reprsente les oprations de la classe

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

Gnralement il y a trois types de classes : Classes Abstraites Interfaces Et les Classes normales

a) Classe abstraite :
(1) Dfinition : Une classe abstraite ne peut donc pas tre utilise pour fabriquer des instances dobjets. Elle sert uniquement de modle, que lon pourra utiliser pour crer des classes plus spcialises par drivation (hritage).

(2) Reprsentation dune classe abstraite

b) Un Interface : (1) Dfinition :


Les interfaces reprsentent llment le plus abstrait du diagramme de classes. Sa notion est assez proche de la notion de classe abstraite. Dailleurs, la notion dinterface est gnralement implmente par celle dune classe abstraite, dont toutes les mthodes sont purement virtuelles.

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

(2) Reprsentation dun interface :

c) Classe normale : (1) Dfinition :


Les classes normales sont donc celles utilises pour fabriquer des instances dobjets.

(2) Formalisme :

Les compartiments dune classe peuvent tre supprims (en totalit ou en partie) lorsque leur contenu nest pas pertinent dans le contexte dun diagramme. La suppression des compartiments reste purement visuelle : elle ne signifie pas quil ny a pas dattribut ou dopration.

(3) Formalisme de reprsentation simplifie :

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

(4) Formalisme de reprsentation avec chemin complet :

Le rectangle qui symbolise une classe peut contenir un strotype et des proprits. Les strotypes permettent de dfinir de nouvelles classes d'lments de modlisation, en plus du noyau prdfini par UML. Utilisez les strotypes avec modration et de manire concerte (notez aussi qu'UML propose de nombreux strotypes standards).

(5) Exemple de strotypes :


Encapsulation de constantes et fonctions dans une classe utilitaire

utility Math Pi Sin() Cos() Ln() Sqrt()

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

Rectangle P1 : Point P2 : Point constructors Rectangle(p1 :Point, p2 :Point) Rectangle(p1 :Point, s :entier) query Surface() :reel Largeur() :reel update Redimensionne(f :entier)

Strotypage du compartiment des mthodes dune classe

Elision() : Strotype standard qui indique la prsence dun filtre visuel (lexistence dune suite dans une liste)

UML utilise les strotypes pour les besoins de sa notation elle-mme. Exemple : on distingue parmi les lments de la notation UML des Classes d'implmentation, des DataTypes et des Interfaces. Ces 3 lments possdent en commun la proprit de permettre le classement dobjets. Un autre exemple est celui des relations entre Use Case : <<extends>>, <<includes>>, <<generalizes>> sont des strotypes prdfinis dans la notation UML. UML dfinit les strotypes de classe suivants : classe implmentation : il sagit de limplmentation dune classe dans un langage de programmation numration : il sagit dune classe qui dfinit un ensemble didentificateurs formant le domaine de la valeur. mtaclasse : il sagit de la classe dune classe, comme en Smalltalk powertype : une classe est un mtatype : ses instances sont toutes des soustypes dun type donn processus : il sagit dune classe active qui reprsente un flot de contrles lourd thread : il sagit dune classe active qui reprsente un flot de contrles lger type : il sagit dune classe qui dfinit un domaine dobjets et les oprations applicables ces objets. utilitaire : il sagit dune classe rduite au concept de module et qui ne peut tre instancie.

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

B. La notion dattribut
1. Dfinition :
Une classe correspond un concept global dinformation et se compose dun ensemble dinformations lmentaires, appeles attributs de classe. Un attribut reprsente la modlisation dune information lmentaire reprsente par son nom et son format. Par commodit de gestion, on choisit parfois de conserver dans un attribut le rsultat dun calcul effectu partir dautres classes : on parle alors dattribut driv. Pour reprer un attribut driv : on place un / devant son nom.

2. Formalisme :

3. Visibilit et porte des attributs :


UML dfinit 3 niveaux de visibilit pour les attributs : 1- public (+) : llment est visible pour tous les clients de la classe 2- protg (#) : llment est visible pour les sous-classes de la classe 3- priv (-) : llment nest visible que par les objets de la classe dans laquelle il est dclar.

a) Formalisme :

C.La notion didentifiant


Lidentifiant est un attribut particulier, qui permet de reprer de faon unique chaque objet, instance de la classe.

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

1. Formalisme :

D. La notion dopration :
1. Dfinition :
lopration reprsente un lment de comportement des objets, dfini de manire globale dans la classe. Une opration est une fonctionnalit assure par une classe. La description des oprations peut prciser les paramtres dentre et de sortie ainsi que les actions lmentaires excuter.

2. Visibilit et porte des oprations :


Comme pour les attributs, on retrouve 3 niveaux de visibilit pour les oprations : 1- public (+) : lopration est visible pour tous les clients de la classe 2- protg (#) : lopration est visible pour les sous-classes de la classe 3- priv (-) : lopration nest visible que par les objets de la classe dans laquelle elle est dclare.

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

a) Formalisme :

E. La notion de relation
Sil existe des liens entre objets, cela se traduit ncessairement par des relations qui existent entre leurs classes respectives. Les liens entre les objets doivent tre considrs comme des instances de relations entre classes. Il existe plusieurs types de relations entre classes : lassociation la gnralisation/spcialisation la dpendance

1. Lassociation
Lassociation est la relation la plus courante et la plus riche du point de vue smantique. Une association est une relation statique n-aire (le plus souvent : elle est binaire) : cest--dire quelle relie plusieurs classes entre elles. Lassociation existe entre les classes et non entre les instances : elle est introduite pour montrer une structure et non pour montrer des changes de donnes. L'association est instanciable dans un diagramme d'objets ou de collaboration, sous forme de liens entre objets issus de classes associes.

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

Une association n-aire possde n rles qui sont les points terminaux de lassociation ou terminaisons. Ce rle spcifie la fonction d'une classe pour une association donne (indispensable pour les associations rflexives).

Chaque classe qui participe lassociation joue un rle. Les rles sont dfinis par 2 proprits : la multiplicit : elle dfinit le nombre dinstances de lassociation pour une instance de la classe. La multiplicit est dfinie par un nombre entier ou un intervalle de valeurs. La multiplicit est note sur le rle (elle est note lenvers de la notation MERISE).

Ralis par Amal JBIRA KERDOUDA Imane

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

1 0..1 N ou * M..N 0..* 1..*

Un et un seul Zro ou un N (entier naturel) De M N (entiers naturels) De zros plusieurs De 1 plusieurs

a) Exemple :

La multiplicit peut galement sexprimer par des symboles :

Ralis par Amal JBIRA KERDOUDA Imane

10

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

b) La navigabilit :
La navigabilit na rien voir avec le sens de lecture de lassociation. Une navigabilit place sur une terminaison cible indique si ce rle est accessible partir de la source. Par dfaut les associations sont navigables dans les 2 sens. Dans certains cas, une seule direction de navigation est utile : lextrmit dassociation vers laquelle la navigation est possible porte alors une flche. (Cest--dire : les instances d'une classe ne "connaissent" pas les instances d'une autre.)

Formalisme :

Dans lexemple ci-dessus, les instances de A voient les instances de B mais les instances de B ne voient pas les instances de A. Exemple :

c) Les classes-association :
Les attributs dune classe dpendent fonctionnellement de lidentifiant de la classe. Parfois, un attribut dpend fonctionnellement de 2 identifiants, appartenant 2 classes diffrentes. Par exemple, lattribut quantit commande dpend fonctionnellement du numro de commande et du code produit. On va donc placer lattribut Quantit commande dans lassociation comporter . Dans ce cas, lassociation est dite porteuse dattributs . Une association porteuse dattributs est appele classe-association.

Ralis par Amal JBIRA KERDOUDA Imane

11

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

(1) Exemple :
Toute classe-association peut tre remplace par une classe intermdiaire et qui sert de pivot pour une paire dassociation.

d) Association n-aire :
il s'agit d'une association qui relie plus de deux classes... Note : de telles associations sont difficiles dchiffrer et peuvent induire en erreur. Il vaut mieux limiter leur utilisation, en dfinissant de nouvelles catgories d'associations.

e) Lagrgation :
Dans UML, lagrgation nest pas un type de relation mais une variante de lassociation. Une agrgation reprsente une association non symtrique dans laquelle une des extrmits joue un rle prdominant par rapport lautre extrmit. Lagrgation ne peut concerner quun seul rle dune association. Lagrgation se reprsente toujours avec un petit losange du ct de lagrgat. Le choix dune association de type agrgation traduit la volont de renforcer la dpendance classes. Cest donc un type dassociation qui exprime un couplage plus fort entre les classes. Lagrgation permet de modliser des relations de type matre et esclaves. Lagrgation permet de modliser une contrainte dintgrit et de dsigner lagrgat comme contrainte. A travers une telle contrainte, il est possible de reprsenter par exemple : la propagation des valeurs dattributs dune classe vers une autre classe une action sur une classe qui implique une action sur une autre classe une subordination des objets dune classe une autre classe
Ralis par Amal JBIRA KERDOUDA Imane 12 Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

(1) Formalisme et exemple :

f) La composition
La composition est un cas particulier de lagrgation dans laquelle la vie des composants est lie celle des agrgats. Elle fait souvent rfrence une contenance physique. Dans la composition lagrgat ne peut tre multiple. La composition implique, en plus de lagrgation, une concidence des dures de vie des composants : la destruction de lagrgat (ou conteneur) implique automatiquement la destruction de tous les composants lis.

Ralis par Amal JBIRA KERDOUDA Imane

13

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

2. La gnralisation / spcialisation
Le principe de gnralisation / spcialisation permet didentifier parmi les objets dune classe (gnrique) des sous-ensembles dobjets (des classes spcialises) ayant des dfinitions spcifiques. La classe plus spcifique (appele aussi classe fille, classe drive, classe spcialise, classe descendante ) est cohrente avec la classe plus gnrale (appele aussi classe mre, classe gnrale ), cest--dire quelle contient par hritage tous les attributs, les membres, les relations de la classe gnrale, et peut contenir dautres. Les relations de gnralisation peuvent tre dcouvertes de 2 manires : la gnralisation : il sagit de prendre des classes existantes dj mises en vidences) et de crer de nouvelles classes qui regroupent leurs parties communes ; il faut aller du plus spcifique au plus gnral. La spcialisation : il sagit de slectionner des classes existantes (dj identifies) et den driver des nouvelles classes plus spcialises, en spcifiant simplement les diffrences. Ces deux dmarches, mme si elles sont fondamentalement diffrentes, mnent au mme rsultat, savoir la constitution dune hirarchie de classes relies par des relations de gnralisation. La relation de gnralisation est trs puissante car elle permet de construire simplement de nouvelles classes partir de classes existantes. Cependant, elle est trs contraignante dans le sens o elle dfinit une relation trs forte entre les classes. Ainsi, lvolution dune classe de base entrane une volution de toutes les classes qui en drivent. Cet effet boule de neige peut avoir des consquences aussi bien positives (quand cest leffet recherch) que ngatives.
Ralis par Amal JBIRA KERDOUDA Imane 14 Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

a) Formalisme et exemple :

b) La spcialisation multiple
Les classes peuvent avoir plusieurs superclasses ; dans ce cas, la gnralisation est dite multiple et plusieurs flches partent de la sous-classe vers les diffrentes superclasses. La gnralisation multiple consiste fusionner plusieurs classes en une seule classe.

(1) Formalisme et exemple :

Ralis par Amal JBIRA KERDOUDA Imane

15

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

La classe client spcial est une spcialisation de client et de salari. Ce modle permet dindiquer que lon accorde des tarifs prfrentiels aux salaris.

c) Les contraintes sur les associations


Il existe plusieurs types de contraintes sur les associations :

(1) La contrainte de partition


Elle indique que toutes les instances dune classe correspondent une et une seule instance des classes lies.

Toutes les socits sont soit clientes, soit considres comme des prospects.

(2) La contrainte dexclusion


Elle permet de prciser quune instance dassociation exclut une autre instance. Par exemple, un employ ne peut tre la fois directeur financier et directeur commercial.

Ralis par Amal JBIRA KERDOUDA Imane

16

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

Ici, un employ ne peut pas tre la fois directeur commercial et directeur financier. Mais tout employ nest pas directeur commercial ou directeur financier (contrainte de partition).

(3) la contrainte de totalit


Toutes les instances dune classe correspondent au moins une des instances des classes lies.

Toute socit est au moins partenaire ou client privilgie. Et elle peut tre les 2 la fois. la contrainte dinclusion Elle permet de prciser quune collection est incluse dans une autre collection. (La flche de la relation de dpendance indique le sens de la contrainte). Par exemple, on pourra indiquer que le contractant dun contrat fait obligatoirement partie des individus assurs. Exemple :

Ralis par Amal JBIRA KERDOUDA Imane

17

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

3. La dpendance
Les relations de dpendance sont utilises lorsquil existe une relation smantique entre plusieurs lments qui nest pas de nature structurelle. Une relation de dpendance dfinit une relation unidirectionnelle entre un lment source et un lment cible. Une dpendance est une relation entre deux lments de modlisation dans laquelle toute modification effectue sur un lment de modlisation (l'lment influent) affecte l'autre lment (lment dpendant). UML dfinit 4 types de relation de dpendance. Pour chaque type de dpendance, un mot cl ou strotype entre guillemets peut tre ajout la relation de dpendance pour prciser sa nature. Les 4 types de relation sont :

a) Abstraction
Il sagit dune relation de dpendance entre lments qui reprsentent un mme concept diffrents niveaux dabstraction ou selon des points de vue distincts. Les mots-cls sont : drive Reprsente un lment dfini ou calcul partir dun autre. Par exemple, un attribut ou un rle peut driver dautres attributs ou rles. raffine Reprsente une relation de dpendance entre des lments smantiques diffrents (analyse et conception par exemple). ralise Reprsente une relation de dpendance entre une spcification (cible) et llment qui implmente cette spcification (source) trace Reprsente lhistorique des constructions prsentes dans les diffrents modles.
Ralis par Amal JBIRA KERDOUDA Imane 18 Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

b) Liaison :
Les paramtres formels dune classe ou collaboration paramtrables doivent tre lis des valeurs. Cette dpendance cre une liaison entre la classe ou collaboration paramtrable (la cible) et la classe ou collaboration paramtre (source). lie

c) Permission :
Un lment (source) a le droit daccder un espace de nommage (cible) ami Reprsente un lment source (paquetage, classe, opration ) qui a accs llment destination (paquetage, classe, opration ) quelle que soit la spcification de visibilit de ce dernier.

d) Utilisation
Un lment (source) requiert la prsence dun autre lment (cible) pour son bon fonctionnement ou son implmentation. utilise appelle Reprsente une relation de dpendance entre une opration qui invoque une opration dune autre classe. Cette relation est reprsente en connectant les oprations ou les classes qui possdent ces oprations. cre Reprsente le classificateur source qui cre une instance du classificateur cible instancie Reprsente une relation de dpendance entre classificateurs due la cration dune instance du classificateur cible par une opration du classificateur source.

Ralis par Amal JBIRA KERDOUDA Imane

19

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

e) Formalisme :

III. Exercice dapplication :


On souhaite modliser le fonctionnement pdagogique de luniversit. Etudiants et enseignants sont des personnes caractrises par un numro INSEE, un nom, un prnom et une adresse. Chaque enseignant possde de plus un grade et on souhaite mmoriser pour chaque tudiant son anne dtude et le diplme prpar. Les cours sont organiss en modules caractriss par un code et un intitul. Plusieurs enseignants peuvent intervenir dans un module, une date, une heure et dans une salle donnes. Un enseignant intervient habituellement dans plusieurs modules. Les tudiants sinscrivent dans les modules une date et une heure donne, mais seuls les tudiants qui suivent effectivement le module obtiennent une note moyenne en fin danne. Des contrles sont organiss pour chaque module. Ils sont caractriss par un numro de contrle et une date. Les tudiants ayant effectu le contrle possdent une note pour ce contrle. Modlisez le diagramme de classes pour cette tude de cas :

Ralis par Amal JBIRA KERDOUDA Imane

20

Encadr Par Pr : ABDOUN Otman

MIAGE Larache Etab.Priv

UML : Cours de Diagramme de Classe

IV. Rsultat de lexercice :

Ralis par Amal JBIRA KERDOUDA Imane

21

Encadr Par Pr : ABDOUN Otman

You might also like