Vous êtes sur la page 1sur 8

TD2 : Diagramme de classes

UML
Pierre Grard

pierre.gerard@univ-paris13.fr
DUT Informatique S2D
Universit de Paris 13

Proprits d'une classe

Une personne est caractrise par son nom, son prnom, son sexe et son ge. Les objets de classe
Personne doivent pouvoir calculer leurs revenus et leurs charges. Les attributs de la classe sont privs ; le
nom, le prnom ainsi que l'ge de la personne doivent tre accessibles par des oprations publiques.
Question : Donnez une reprsentation UML de la classe Personne, en remplissant tous les compartiments adquats.
Deux types de revenus sont envisags : d'une part le salaire et d'autre part toutes les autres sources
de revenus. Les deux revenus sont reprsents par des nombres rels (oat). Pour calculer les charges
globales, on applique un coecient xe de 20% sur les salaires et un coecient de 15% sur les autres
revenus.
Question : Enrichissez la reprsentation prcdente pour prendre en compte ces nouveaux lments.
Un objet de la classe Personne peut tre cr partir du nom et de la date de naissance. Il est possible
de changer le prnom d'une personne. Par ailleurs, le calcul des charges ne se fait pas de la mme manire
lorsque la personne dcde.
Question : Enrichissez encore la reprsentation prcdente pour prendre en compte ces nouveaux
lments.

Relations entre classes

Pour chacun des noncs suivants, donnez un diagramme des classes :


 Tout crivain a crit au moins une oeuvre
 Les personnes peuvent tre associes des universits en tant qu'tudiants aussi bien qu'en tant
que professeurs.
 Un rectangle a deux sommets qui sont des points. On construit un rectangle partir des coordonnes
de deux points. Il est possible de calculer sa surface et son primtre, ou encore de le translater.
 Les cinmas sont composs de plusieurs salles. Les lms sont projets dans des salles. Les projections
correspondantes ont lieu chacune une heure dtermine.1
 Tous les jours, le facteur distribue des recommands dans une zone gographique qui lui est aecte.
Les habitants sont aussi associs une zone gographique. Les recommands sont de deux sortes :
lettres ou colis. Comme plusieurs facteurs peuvent intervenir sur la mme zone, on souhaite, pour
chaque recommand, le facteur qui l'a distribu, en plus du destinataire.
Question :

1 On

pourra utiliser une classe-association.

Elaboration d'un diagramme de classes complet

Un htel est compos d'au moins deux chambres. Chaque chambre dispose d'une salle d'eau : douche ou
bien baignoire. Un htel hberge des personnes. Il peut employer du personnel et il est imprativement
dirig par un directeur. On ne connat que le nom et le prnom des employs, des directeurs et des
occupants. Certaines personnes sont des enfants et d'autres des adultes (faire travailler des enfants est
interdit). Un htel a les caractristiques suivantes : une adresse, un nombre de pices et une catgorie.
Une chambre est caractrise par le nombre et de lits qu'elle contient, son prix et son numro. On veut
pouvoir savoir qui occupe quelle chambre quelle date. Pour chaque jour de l'anne, on veut pouvoir
calculer le loyer de chaque chambre en fonction de son prix et de son occupation (le loyer est nul si la
chambre est inoccupe). La somme de ces loyers permet de calculer le chire d'aaires de l'htel entre
deux dates.
Question : Donnez une diagramme de classes pour modliser le problme de l'htel.

Correspondance entre code Java et diagramme de classes


Question :

Donnez un diagramme de classes correspondant au code source suivant :

public interface Dessinable {


public void dessiner ( );
public void effacer ( );
}
abstract public class Figure implements Dessinable {
protected String couleur;
protected String getCouleur ( ) { return couleur; }
protected void setCouleur ( String c ) { couleur = c; }
}
public class Point {
private float x;
private float y;
public float getX ( ) { return x; }
public float getY ( ) { return y; }
public void Point ( float x, float y) { ... }
}
3

public class Cercle extends Figure {


private float rayon;
private Point centre;
public Cercle ( Point centre, float rayon) { ... }
public void dessiner ( ) { ... }
public void effacer ( ) { ... }
}
public class Rectangle extends Figure {
protected Point sommets[] = new Point[2];
public Rectangle ( Point p1, Point p2) { ... }
public void dessiner ( ) { ... }
public void effacer ( ) { ... }
}
public class Losange extends Figure {
protected Point sommets[] = new Point[2];
public Losange ( Point p1, Point p2) { ... }
public void dessiner ( ) { ... }
public void effacer ( ) { ... }
}

Hritage multiple

Question : Les tudiants et les enseignants sont deux sortes de personnes. Proposez un modle de
classes correspondant.

Question : Un doctorant est un tudiant qui assure des enseignements. Compltez le modle de
classes prcdent.

Question : Les doctorants et les tudiants doivent s'inscrire au dbut de l'anne et ventuellement
modier leur inscription. On connat le nom et le prnom de toutes les personnes. On doit pouvoir calculer
le salaire des doctorants aussi bien que celui des enseignants. Ajoutez ces lments au modle prcdent.

Organisation de classes

Une banque compte plusieurs agences rparties sur le territoire franais. Une banque est caractrise
par le nom de son directeur gnral, son capital global, son propre nom et de l'adresse de son sige
social. Le directeur gnral est identi par son nom, son prnom et son revenu. Une agence a un numro
d'agence et une adresse. Chaque agence emploie plusieurs employs, qui se caractrisent par leurs nom,
prnom et date d'embauche. Les employs peuvent demander leur mutation d'une agence une autre,
mais un employ ne peut travailler que dans une seule agence. Les employs d'une agence ne font que
grer des clients. Un client ne peut avoir des comptes que dans une seule agence de la banque. Chaque
nouveau client se voit systmatiquement attribuer un employ de l'agence (conseiller). Les clients ont un
nom, un prnom et une adresse. Les comptes sont de nature dirente selon qu'ils soient rmunrs ou
non (comptes courants). Les comptes rmunrs ont un taux d'intrt et rapportent des intrts verss
annuellement.
Une premire lecture de l'ennonc permettrait de faire apparatre les classes suivantes, avec leurs
proprits :
5

Question :

des proprits.

Analysez ces classes et utilisez la gnralisation pour factoriser au mieux la description

Question : Une relation particulire lie l'agence, le client, l'employ et le compte. De quelle relation
s'agit-il ? Donnez un diagramme de classes pour la modliser.

Il s'agit d'une relation ternaire avec une classe association.

Question : Donnez le diagramme de classes en n'utilisant que le nom des classes et ajoutez toutes
les dcorations adquates aux associations.

Composition

Le diagramme des classes suivant permet de modliser des expressions arithmtiques avec des oprateurs binaires comme 1+x, 2-4 ou encore 2-(y*4).

Question : Modiez ce diagramme pour prendre en compte des oprateurs binaires (comme ici)
mais aussi unaires (comme -x ou 5 ! par exemple). Les expressions unaires ne doivent compter qu'un seul
oprande.