Vous êtes sur la page 1sur 4

Module B9-1 : Sensibilisation lUML

Travaux dirigs : Diagramme de classes (exercices)





Page 1 sur 4
DIAGRAMME DE CLASSES
1. EXERCICE 1 : REPRESENTER LES PROPRIETES DUNE 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.
1.1. 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 (Float). Pour calculer les charges
globales, on applique un coefficient de 20% sur les salaires et un coefficient de 15% sur les autres
revenus.
1.2. 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.
1.3. Enrichissez encore la reprsentation prcdente pour prendre en compte ces nouveaux
lments.
2. EXERCICE 2 : REPRESENTER LES RELATIONS ENTRE LES CLASSES
Dessiner les diagrammes de classe correspondant aux situations suivantes :
1. Tout crivain a crit au moins une uvre ;
2. Les personnes peuvent tre associes des universits en tant qutudiants aussi bien quen tant
que professeurs ;
3. Un raccourci concerne un fichier ou un rpertoire ;
4. Un rectangle a quatre 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 selon un vecteur ;
5. Les cinmas sont composs de plusieurs salles qui projettent des films une heure dtermine ;
6. Tous les jours, le facteur distribue des recommands dans uns zone gographique qui lui est
affecte. 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 la distribu, en plus du destinataire.
3. EXERCICE 3 : TRADUIRE LE CODE JAVA EN DIAGRAMME DE CLASSES
Donner le diagramme de classe correspondant au code JAVA suivant :
public interface Dlimite
{
public Frontire getFrontire ;
}
abstract public class Forme implements Dlimite
{
}
Module B9-1 : Sensibilisation lUML
Travaux dirigs : Diagramme de classes (exercices)



Page 2 sur 4
public class Ellipse extends Forme
{
protected float a ;
protected float b ;
protected float angle ;
protected Point centre ;
public Point getCentre() ;
public float getAngle() ;
}
public class Cercle extends Forme
{
protected float radius ;
protected Point centre ;
public Point getCenter() ;
public float getRadius() ;
}
public class Point extends Forme
{
protected float x ;
protected float y ;
protected float z ;
public float getX() ;
public float getY() ;
public float getZ() ;
}
abstract public class ListePoints extends Forme
{
protected Arraylist <Point> points = new Arraylist<Point>() ;
public int getComptePoints() ;
public Point getPoint(int i) ;
public ArrayList <Point> getPoints() ;
}
public class Polygone extends ListePoints
{
}
public class Ligne extends ListePoints
{
}
public class Frontire extends Forme
{
}
public class ListeFormes extends Forme
{
protected Arraylist <Forme> formes = new Arraylist<Forme>() ;
public void ajouterForme(Forme forme) ;
public void supprimerForme(int i) ;
}


Module B9-1 : Sensibilisation lUML
Travaux dirigs : Diagramme de classes (exercices)



Page 3 sur 4
4. EXERCICE 4 : ELABORER UN DIAGRAMME DE CLASSES COMPLET
Cet exemple concerne un systme simplifi de rservation de vol. Les interviews des experts ont
permis de rsumer la connaissance du contexte par les noncs suivants :
7. Une compagnie propose plusieurs vols ;
8. Un vol est ouvert la rservation et referm sur ordre de la compagnie ;
9. Un client peut rserver un ou plusieurs vols, pour des passagers diffrents ;
10. Une rservation concerne un seul vol et un seul passager ;
11. Une rservation peut tre annule ou confirme ;
12. Un vol a un aroport de dpart et un aroport d'arrive ;
13. Un vol a un jour et une heure de dpart, et un jour et une heure d'arrive ;
14. Un vol peut comporter des escales dans des aroports ;
15. Une escale a une heure d'arrive et une heure de dpart ;
16. Chaque aroport dessert une ou plusieurs villes dans son voisinage.
Reprsenter le modle de domaine du systme sous forme dun diagramme de classe.
Rappels :
Les classes dun modle de domaine ne possdent que des attributs.
Proposer un partitionnement du diagramme de classes en fonction de la nature des concepts.
Reprsenter le diagramme de paquetage correspondant en indiquant les relations de dpendance.
DIAGRAMME DOBJETS
5. EXERCICE 5 : INSTANCIER UN DIAGRAMME DE CLASSE
ENONCE :
Le dessin ci-dessous reprsente des figures embotes. La reprsentation dune figure lintrieur
dune autre indique quelle y est imbrique. Les figures noires sont considres comme pleines.

Module B9-1 : Sensibilisation lUML
Travaux dirigs : Diagramme de classes (exercices)



Page 4 sur 4
5.2. Reprsenter le diagramme de classe correspondant
5.3. Reprsenter le diagramme dobjet correspondant
6. EXERCICE 6 : TRADUIRE UNE CLASSE-ASSOCIATION EN ASSOCIATION BINAIRE
Dans un diagramme de classe, une association binaire reprsente une relation entre deux classes.
Cependant, une association peut tre raffine et avoir ses propres proprits, qui ne sont disponibles
dans aucune des classes quelle lie. Cette association devient alors une classe appele classe-
association . partir du moment o elle est dfinie, elle est considre comme toutes les autres
classes du modle.
Une transformation systmatique consiste traduire une classe-association en association binaire.
Utiliser le diagramme dobjets pour valider les trois situations suivantes :
6.1. Situation 1 :

6.2. Situation 2 :