Diagramme de Classe

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Sommaire

Introduction
I- Schéma d’un Diagramme de classe
II- Relation entre les classes
III- Cas Pratique
Conclusion

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 1


INTRODUCTION
L’Unified Modeling Language (UML) est un langage graphique standard utilisé pour modéliser des systèmes
logiciels. Parmi les différents types de diagrammes UML, le Diagramme de Classes occupe une place centrale. Il
permet de représenter la structure statique d’un système en mettant l’accent sur les classes, leurs attributs, leurs
méthodes et leurs relations.

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 2


I- Schéma d’un Diagramme de Classe
Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des
systèmes ainsi que leurs relations. Ce diagramme fait partie de la partie statique d'UML, ne s'intéressant pas aux
aspects temporels et dynamiques.

Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets. Les éléments de cet ensemble
sont les instances de la classe.

Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique.
Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi
de découper une tâche complexe en plusieurs petits travaux simples.

Les classes peuvent être reliées grâce au mécanisme d'héritage qui permet de mettre en évidence des relations de
parenté. D'autres relations sont possibles entre des classes, représentées par un arc spécifique dans le diagramme de
classes.

Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet : elle décrit les caractéristiques
des objets, les objets contiennent leurs valeurs propres pour chacune de ces caractéristiques lorsqu'ils sont instanciés).

Une classe est représentée par un rectangle séparé en trois parties :

• La première partie contient le nom de la classe


• La seconde contient les attributs de la classe
• La dernière contient les méthodes de la classe

La seconde et la dernière représentent le comportement de la classe.


Modèle d'une simple classe

▪ Les attributs

La syntaxe d'un attribut est la suivante :

Visibilité nomAttribut [multiplicité] : typeAttribut = Initialisation ;

▪ Visibilité

La notion de visibilité indique qui peut avoir accès à l'attribut.

Elle ne peut prendre que quatre valeurs :

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 3


Caractère Rôle Mot clé Description

+ accès public public Toutes les autres classes ont accès à cet attribut.

# accès protégé Protected Seules la classe elle-même et les classes filles (héritage) ont accès à cet attribut.

Accès
~ package Classe visible uniquement dans le package.
package

- accès privé private Seule la classe elle-même a accès à cet attribut.

Afin de respecter le principe fondamental d'encapsulation, tous les attributs devraient être privés.

Pour qu'un attribut privé ou protégé soit récupérable, on utilise en général un getter (ou accesseur) ; pour qu'il soit
modifiable, on utilise en général un setter (ou mutateur).

▪ Nom

Il ne doit pas comporter d'espaces, de signes de ponctuation ou d'accents. Pour remplacer les espaces, plusieurs
conventions existent : on peut intercaler un symbole _ entre les mots ou utiliser la méthode CamelCase qui consiste à
mettre la première lettre de chaque mot en capitale (par exemple, nom de l'objet peut
devenir : nom_objet ou NomObjet).

▪ Multiplicité

La multiplicité représente le nombre de fois où la variable peut intervenir. Elle est représentée entre crochets.

▪ Les méthodes

La syntaxe d'une méthode est la suivante :

Visibilité nomFonction(directionParamètreN nomParamètreN : typeParamètreN) : typeRetour

▪ Visibilité

La notion de visibilité est la même que celle des attributs.

Direction du paramètre

Indique si le paramètre est rentrant (in), s'il est sortant (out) ou s'il est rentrant et sortant (inout).

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 4


II- Relations entres les classes

Ces relations ne sont pas propres aux diagrammes de classes, elles peuvent également s'appliquer à l'ensemble des
diagrammes statiques.

▪ Héritage

L'héritage est un principe de division par généralisation et spécialisation, représenté par un trait reliant les deux classes
et dont l'extrémité du côté de la classe mère comporte un triangle.

La classe fille hérite de tous les attributs et méthodes, qu'ils soient publics, protégés ou privés. Cependant, elle ne peut
pas utiliser directement les attributs et méthodes privés (que ce soit en lecture ou en écriture), sauf par l'intermédiaire
d'une méthode héritée (publique ou protégée).

T’hérite de T.

▪ Association

L'association est une connexion sémantique entre deux classes (relation logique). Une association peut être nommée.
L'invocation d'une méthode est une association. Elle peut être binaire, dans ce cas elle est représentée par un simple
trait, ou n-aire, les classes sont reliées à un losange par des traits simples. Ces relations peuvent être nommées.
L'association n'est utilisée que dans les diagrammes de classe.

- Multiplicité : comparable aux cardinalités du système Merise, sert à compter le nombre minimum et
maximum d'instances de chaque classe dans la relation liant 2 ou plusieurs classes.

- Navigabilité : les associations sont bidirectionnelles et peuvent être parcourues dans les 2 sens. Lorsque
l’association est contrainte pour devenir unidirectionnelle, le sens de navigation qui reste possible est
spécifié par une flèche. Il est préférable de laisser les associations bidirectionnelles. UML autorise
d’alerter sur le sens de la navigation interdit avec une croix en plus de la flèche.

1-Bidirectionnelle
2- Mono-directionnelle, Invocation de méthode
3- interdit une association.

Navigabilité des associations

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 5


▪ Agrégation

L'agrégation est une association avec relation de subordination, représentée par un trait reliant les deux classes et dont
l'origine se distingue de l'autre extrémité (la classe subordonnée) par un losange vide. Une des classes regroupe d'autres
classes. L'objet T utilise une instance de la classe T'.

Agrégation.

▪ Composition

La composition est une agrégation avec cycle de vie dépendant : la classe composante est détruite lorsque la classe
composée (ou classe composite) disparaît. L'origine de cette association est représentée par un losange plein. L'objet
T’est composé de T.

Composition.

▪ Dépendance

Implique qu'une ou plusieurs méthodes reçoivent un objet d'un type d'une autre classe. Il n'y a pas de liaison en ce qui
concerne la destruction d'objets mais une dépendance est quand même là. Elle est symbolisée par une flèche en
pointillés, dont son extrémité possède trois traits qui se coupent en un même point.

III- Cas Pratique 1 : Considérons d’une agence de réservation de vols.


-Les compagnie aériens propose diffèrent vols
-Un vol est ouvert à la réservation et refermer sous l’ordre de la compagnie
-un client peut réserver un plusieurs vols pour des passager différents
-Une réservation concerne un seule et un seul passager
-Une réservation peut entrée confirmer et annulée
-Un vol a un aéroport de départ et un aéroport d’arrivée
-Un vol a un jour et une heure de départ, et un jour et une heurée d’arrivée
-Un vol peut comporter des escales dans un ou plusieurs aéroports
-Une escale a une heure de départ et une heure d’arrivée
-Chaque dessert une ou plusieurs villes

Résultats :

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 6


Cas Pratique 2 : Considérons un système de gestion d’une université. Nous avons les entités suivantes : Étudiant,
Cours et Professeur. Un étudiant a un nom et peut s’inscrire à plusieurs cours. Un cours a un nom et est enseigné par
un professeur. Un professeur a un nom et peut enseigner plusieurs cours. Dessinez le diagramme de classe
correspondant.

Résultats :

Conclusion

Le Diagramme de Classes est essentiel pour concevoir des systèmes logiciels robustes et maintenables. En
maîtrisant cet outil, les développeurs peuvent créer des modèles précis et faciliter la communication entre les équipes
de développement.

Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 7


Réalisation de : TCHOGNINOU Irénée et OLANIYI Imorou 8

Vous aimerez peut-être aussi