Vous êtes sur la page 1sur 4

UML1

Relations entre les classes

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

Héritage

T' hérite de T.

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).

Association

Navigabilité des associations


1- Bidirectionnelle
2- Mono-directionnelle, Invocation de méthode
3- interdit une 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.

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'.

Composition
La composition est une agrégation avec cycle de vie dépendant : la classe composée est détruite
lorsque la classe mère disparait. L'origine de cette association est représentée par un losange plein.

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.

Multiplicité

La multiplicité associée à une terminaison d'association, d'agrégation ou de composition déclare le


nombre d'objets susceptibles d'occuper la position définie par la terminaison d'association. Voici
quelques exemples de multiplicité :

 exactement un : 1 ou 1..1 ;
 plusieurs : * ou 0..* ;
 au moins un : 1..* ;
 de un à six : 1..6.

Généralisation

La généralisation décrit une relation entre une classe générale (classe de base ou classe parent) et
une classe spécialisée (sous-classe). La classe spécialisée est intégralement cohérente avec la
classe de base, mais comporte des informations supplémentaires (attributs, opérations,
associations). Un objet de la classe spécialisée peut être utilisé partout où un objet de la classe de
base est autorisé.

Interfaces

les classes permettent de définir en même temps un objet et son interface. Le classeur, que nous
décrivons dans cette section, ne permet de définir que des éléments d'interface. Il peut s'agir de
l'interface complète d'un objet, ou simplement d'une partie d'interface qui sera commune à
plusieurs objets.

Le rôle de ce classeur, stéréotypé << interface >>, est de regrouper un ensemble de propriétés et
d'opérations assurant un service cohérent. L'objectif est de diminuer le couplage entre deux
classeurs. La notion d'interface en UML est très proche de la notion d'interface en Java.
Une classe définit un jeu d'objets dotés de caractéristiques communes. Les caractéristiques d'un
objet permettent de spécifier son état et son comportement.

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.

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.

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 les différentes relations entre celles-ci. Ce diagramme fait
partie de la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques.

Une classe est composée:


 d'attributs: il s'agit des données, dont les valeurs représentent l'état de l'objet
 Les méthodes : il s'agit des opérations applicables aux objets

La modélisation objet consiste à créer une représentation abstraite, sous forme d'objets, d'entités
ayant une existence matérielle (arbre, personne, téléphone, ...) ou bien virtuelle (sécurité sociale,
compte bancaire, ...). Un objet est caractérisé par plusieurs notions:
 Les attributs (on parle parfois de propriétés): Il s'agit des données caractérisant l'objet. Ce sont
des variables stockant des informations d'état de l'objet
 Les méthodes (appelées parfois fonctions membres): Les méthodes d'un objet caractérisent son
comportement, c'est-à-dire l'ensemble des actions (appelées opérations) que l'objet est à même
de réaliser. Ces opérations permettent de faire réagir l'objet aux sollicitations extérieures (ou
d'agir sur les autres objets). De plus, les opérations sont étroitement liées aux attributs, car leurs
actions peuvent dépendre des valeurs des attributs, ou bien les modifier
 L'identité: L'objet possède une identité, qui permet de le distinguer des autres objets,
indépendamment de son état. On construit généralement cette identité grâce à un identifiant
découlant naturellement du problème (par exemple un produit pourra être repéré par un code,
une voiture par un numéro de série, ...)
 Une méthode est dite abstraite lorsqu'on connaît son entête, mais pas la manière dont elle
peut être réalisée. Pour indiquer qu'une classe est abstraite, il faut ajouter le mot-clef abstract
derrière son nom.
La visibilité des attributs

 Public (+) : représente des éléments visibles à partir de toutes les classes du code
Private (-) : représente des éléments visibles uniquement au niveau de la classe dans
laquelle ils sont définis.
 Protected (#) : représente des éléments visibles au niveau de la classe dans laquelle ils
sont définis ainsi que ses classes filles
 package (~) : représente des éléments visibles à partir des classes se trouvant dans le
même package

Diagramme des classes : statique

Diagramme d’objets : statique

Diagramme des cas d’utilisation : fonctionnel