Vous êtes sur la page 1sur 6

Méthodes de conception des applications web Dev.

w&m /S1

Chapitre II
Diagramme de classe
1. Présentation
Le diagramme de classes exprime la structure statique du système en termes de
classes et de relations entre elles. Il permet de spécifier la structure et les liens
entre les objets dont le système est composé.
1.1 Classe
Une classe est une description abstraite d’un ensemble d’objets ayant une
sémantique et des propriétés (attributs), des opérations et des relations en
commun. Elle spécifie l'ensemble des caractéristiques qui composent des objets
de même type.

Une classe est composée d'un nom, d'attributs et d'opérations.

Exemple

Nom de la classe Compte

Attribut_1 : type numéro_cmpt : int


Attribut_2 : type montant : float
Attribut_3 : type devise : devise
………
virement ()
Opération_1 ( ) retirer ()
Opération _2 ( ) voire_solde ( )
Opération _3 ( )
…………

1.2 Attributs et opérations


Les attributs et les opérations sont les propriétés d'une classe. Leur nom
commence par une minuscule.

1.2.1 Attributs

Un attribut décrit une donnée de la classe.

Les types des attributs et leurs initialisations ainsi que les modificateurs d'accès
peuvent être précisés dans le modèle.

Les attributs prennent des valeurs lorsque la classe est instanciée : ils sont en
quelque sorte des « variables » attachées aux objets.

Mouffok.f Page 1 sur 6


Méthodes de conception des applications web Dev.w&m /S1

1.2.2 Operations

Une opération est un service offert par la classe (un traitement que les objets
correspondants peuvent effectuer). C’est un comportement commun par les objets
de la classe.

1.3 Notions de visibilité


La notation UML permet de représenter le niveau de visibilité des attributs de façon
graphique en faisant précéder le nom de chaque attribut par un caractère
représentant la visibilité :

• + défini un attribut public


• # défini un attribut protégé
• - défini un attribut privé

1.3.1 Accessibilité

Accessibilité aux attributs et opérations d’une classe s’effectue selon Trois niveaux
de protection :

• Public (+) : accès à partir de toute entité interne ou externe à la classe


• Protégé (#) : accès à partir de la classe ou des sous-classes
• Privé (-) : accès à partir des opérations de la classe

2 Relations entre classes

a. Une association représente une relation sémantique entre les objets d'une
classe.
b. Une dépendance est une relation unidirectionnelle exprimant une
dépendance sémantique entre les éléments du modèle.
c. Une relation d'héritage est une relation de généralisation/spécialisation
permettant l'abstraction.
d. Une relation d'agrégation décrit une relation de contenance ou de
composition.

2.1 Association
Une association est une relation structurelle entre objets. Elle est souvent utilisée
pour représenter les liens possibles entre objets de classes données.
Une association est nommée, généralement par un verbe. Une association peut
avoir des propriétés. Une association définit le nombre minimum et maximum
d'instances autorisée dans la relation (cardinalité/multiplicité). L’association est
représentée par un trait entre classes.
• Rôle = indication sur la participation de la classe à l’association.
• Multiplicité = contrainte sur le nombre d’objets associés.

Mouffok.f Page 2 sur 6


Méthodes de conception des applications web Dev.w&m /S1

Exemple

Nom de la classe Nom de la classe

Attribut_1 : type Attribut_1 : type


Attribut_2 : type Attribut_2 : type
rôle nomAssoc rôle
Attribut_3 : type Attribut_3 : type
……… Mult1 Mult2 ………

Opération_1 ( ) Opération_1 ( )
Opération _2 ( ) Opération _2 ( )
Opération _3 ( ) Opération _3 ( )
………… …………

2.1.1 Multiplicité (cardinalité)

La notion de multiplicité permet le contrôle du nombre d'objets intervenant dans


chaque instance d'une association.

Exemple

Le nombre d’objets de la classe B associé à un objet de la classe A

Mouffok.f Page 3 sur 6


Méthodes de conception des applications web Dev.w&m /S1

Plusieurs articles n’appartiennent qu'à une seule catégorie (1) ;


Une catégorie peut avoir plusieurs articles (plus de 0 articles, sans maximum *).

Arcticle Catégorie

Attribut_1 : type Attribut_1 : type


Attribut_2 : type Attribut_2 : type
Appartenir
Attribut_3 : type Attribut_3 : type
……… * 1 ………

Opération_1 ( ) Opération_1 ( )
Opération _2 ( ) Opération _2 ( )
Opération _3 ( ) Opération _3 ( )
………… …………

2.1.2 Classe-association

Une classe association porte des « attributs », qui sont en dépendance directe des
deux autres classes et qui ne pourraient se mettre ni dans l’une, ni dans l’autre.

• Une classe association est une association qui est aussi une classe.
• Les classes associations sont utilisées lorsque les associations doivent porter
des informations.
• Il est toujours possible de se passer des classes associations.

Mouffok.f Page 4 sur 6


Méthodes de conception des applications web Dev.w&m /S1

Personne Livre

1 *

Emprunter

Date_E : date
Date_R : date

Personne commande Produit


passer

1 * * 1..*

contenir

Qté : int

2.1.3 Association n-aire

Une association n-aire peut connecter autant de classes d'extrémités


d'associations (participantes) que nécessaire. Il s'agit d'une association qui relie
plus de deux classes et très peu utilisées.

On représente une association n-aire par un grand losange avec un chemin partant
vers chaque classe participante. Le nom de l'association, le cas échéant, apparaît
à proximité du losange.

Module
Stagiaire
* *

*
Formateur

Mouffok.f Page 5 sur 6


Méthodes de conception des applications web Dev.w&m /S1

2.1.4 Association réflexive

Une association réflexive est une association qui associe une classe avec elle-
même.

Personne *aa est ami

2.1.5 Navigabilité d’une association

Par défaut une association est navigable dans les deux sens.
La navigation peut etre restreinte à une seule direction : les instances d’une
classe ne connaissent pas les instances d’une autre.
On restreint la navigabilité d’une association à un seul sens à l’aide d’une fleche.

Exemple

Personne Candidat
* voter 0..1

Mouffok.f Page 6 sur 6

Vous aimerez peut-être aussi