Vous êtes sur la page 1sur 4

Diagrammes de classes UML

1 sur 4

http://www.lsv.ens-cachan.fr/~schmitz/teach/2003_AP_Java/UML/

Diagrammes de classes UML


UML est une norme complexe de description de programmes informatiques dveloppe par un consortium
d'entreprises et de laboratoires, l'OMG. La norme officielle 1.5 est disponible sur leur site. Une nouvelle
norme 2.0 est aussi en dveloppement. Ces spcifications sont particulirement techniques et indigestes.
Ce langage compte pas moins de douze diffrents types de diagrammes permettant de dcrire
l'architecture et le fonctionnement d'un programme informatique. L'apprentissage de l'utilisation de ce
langage de formalisation ncessiterait un cours complet. De plus, il existe de subtiles diffrences entre les
versions du langage. Nous ne vous demandons pas d'apprendre tout cela par vous-mme !
Dans le cadre du projet, il ne vous est demand qu'un seul type de diagramme : le diagramme de classe,
qui prsente les relations entre vos diffrentes classes. Il n'est pas non plus exig que vos diagrammes
respectent parfaitement la syntaxe UML ; il suffit qu'ils ressemblent des diagrammes de classe et que
votre architecture soit comprhensible.

Introduction aux diagrammes de classe


L'un des intrts majeurs d'UML est son indpendance vis--vis du langage choisi pour l'implmentation,
avec pour seule contrainte qu'il soit orient objet (par exemple Java, mais aussi C++, Eiffel, Objective C,
OCaml, SmallTalk, Ruby, C#, ...). Ne vous attachez donc pas trop aux exemples Java fournis.

Commentaires
N'importe quelle information qui ne rentre pas vraiment dans les
catgories suivantes, par exemple un morceau de code
d'implmentation.

Classes
La reprsentation contient trois compartiments :
1. le nom contient le nom de la classe et d'autres
informations de documentation telles que vous les
mettriez dans la javadoc. Les guillemets identifient
des strotypes comme abstract . Le + est un
modificateur d'accs :
+ public
# protg
- priv
2. les attributs peuvent aussi tre reprsents l'aide d'une relation d'aggrgation. Est-il

08/03/2014 17:32

Diagrammes de classes UML

2 sur 4

http://www.lsv.ens-cachan.fr/~schmitz/teach/2003_AP_Java/UML/

ncessaire de rappeler que tous les attributs l'exception des constantes doivent tre privs ?
3. les oprations sont les dfinitions des mthodes : nomDeMthode (paramtres):
typeDeRetour. Les oprations abstraites apparaissent en italiques.
Voir un exemple Java pour ce diagramme.

Associations
Une association est une relation
entre deux classes. On la dcrit
l'aide :
de rles d'un objet d'une classe
dans un objet de l'autre (omis si
vidents) ;
de cardinalits, c'est--dire de
nombres d'objets d'une classe
dans un objet de l'autre classe ;
on utilise pour cela les notations :
1 habituellement omis si 1 pour 1
n inconnu au moment de la
compilation, mais born
0..n entre 0 et n
1..* 1 ou plus
* 0 ou plus
une communication oriente si ncessaire par < ou >, ou bien avec des flches sur les traits ;
un type de relation oriente : un des grands types d'association dcrits par la suite :
aggrgation, hritage, ... si utile ;
optionnellement des contraintes sur l'association entre accolades, exprimes normalement en
OCL, mais que vous pouvez exprimer simplement en franais.
Voir un exemple Java pour ce diagramme.

Hritage (gnralisation / spcialisation)


Une flche triangulaire vide dcrit une drivation. La classe drive
est la classe de base, mais avec des proprits additionnelles ou
modifies. Elle spcialise ou tend la superclasse plus gnrale.

Hritage d'interface (spcifie / raffine)

08/03/2014 17:32

Diagrammes de classes UML

3 sur 4

http://www.lsv.ens-cachan.fr/~schmitz/teach/2003_AP_Java/UML/

Une flche d'hritage en tirets indique qu'une classe raffine ou


implmente une interface.
L'interface elle-mme est indique soit en prcisant le strotype
interface dans le nom de la classe, soit en utilisant des coins arrondis.

Classe interne
Marque la prsence d'une classe interne une autre.

Dpendance
Une classe utilise une autre classe, mais sans que la
ressource soit un membre de l'utilisateur. Si la classe
de ressource est modifie, il y a peut-tre des mthodes modifier dans l'utilisateur. La ligne est
souvent strotype par cre ou modifie .

Aggrgation (contient)
La destruction du tout ne dtruit pas les parties.

Composition (possde)
La destruction du tout dtruit les parties. Rare en Java.

Cette introduction est bien sr incomplte mais devrait vous suffire. La lecture des chapitres concernant
les diagrammes de classes du cours cit prcdemment vous apportera plus de dtails si vous le souhaitez.

Schma du projet
Voici le diagramme de classe du squelette fourni pour le projet (aussi disponible en PDF) :

08/03/2014 17:32

Diagrammes de classes UML

4 sur 4

http://www.lsv.ens-cachan.fr/~schmitz/teach/2003_AP_Java/UML/

Outils de dessin UML


Une rgle et un crayon.
JFig est un outil de dessin vectoriel gnraliste crit en Java. Les schmas de cette page ont t
raliss avec son grand frre Xfig, et sont accessibles en tlchargement en cliquant sur les images.
Ce programme est malheureusement soumis une license d'utilisation de 30 jours.
ArgoUML est un outil de dessin UML crit en Java. Attention, son installation et son utilisation sont
assez difficiles.
Beaucoup d'autres (Dia sous GNOME, Visio dans MS Office, Rational Rose sous Eclipse, ... ) qui
sont soit moins aiss d'accs soit outrageusement chers.

08/03/2014 17:32

Vous aimerez peut-être aussi