13.07.2015 Views

DIAGRAMME DE CLASSES - wwwdfr

DIAGRAMME DE CLASSES - wwwdfr

DIAGRAMME DE CLASSES - wwwdfr

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Module B9-1 : Sensibilisation à l’UMLTravaux dirigés : Diagramme de classes (exercices)<strong>DIAGRAMME</strong> <strong>DE</strong> <strong>CLASSES</strong>1. EXERCICE 1 : REPRESENTER LES PROPRIETES D’UNE CLASSEUne personne est caractérisée par son nom, son prénom, son sexe et son âge. Les objets de classePersonne doivent pouvoir calculer leurs revenus et leurs charges. Les attributs de la classe sont privés;le nom, le prénom ainsi que l'âge de la personne doivent être accessibles par des opérations publiques.1.1. Donnez une représentation UML de la classe Personne, en remplissant tous lescompartiments adéquats.Deux types de revenus sont envisagés : d'une part le salaire et d'autre part toutes les autres sources derevenus. Les deux revenus sont représentés par des nombres réels (Float). Pour calculer les chargesglobales, on applique un coefficient de 20% sur les salaires et un coefficient de 15% sur les autresrevenus.1.2. Enrichissez la représentation précédente pour prendre en compte ces nouveauxéléments.Un objet de la classe Personne peut être créé à partir du nom et de la date de naissance. Il est possiblede changer le prénom d'une personne. Par ailleurs, le calcul des charges ne se fait pas de la mêmemanière lorsque la personne décède.1.3. Enrichissez encore la représentation précédente pour prendre en compte ces nouveauxéléments.2. EXERCICE 2 : REPRESENTER LES RELATIONS ENTRE LES <strong>CLASSES</strong>Dessiner les diagrammes de classe correspondant aux situations suivantes :1. Tout écrivain a écrit au moins une œuvre ;2. Les personnes peuvent être associées à des universités en tant qu’étudiants aussi bien qu’en tantque professeurs ;3. Un raccourci concerne un fichier ou un répertoire ;4. Un rectangle a quatre sommets qui sont des points. On construit un rectangle à partir descoordonnées de deux points. Il est possible de calculer sa surface et son périmètre, ou encore de letranslater selon un vecteur ;5. Les cinémas sont composés de plusieurs salles qui projettent des films à une heure déterminée ;6. Tous les jours, le facteur distribue des recommandés dans uns zone géographique qui lui estaffectée. Les habitants sont aussi associés à une zone géographique. Les recommandés sont dedeux sortes : lettres ou colis. Comme plusieurs facteurs peuvent intervenir sur la même zone, onsouhaite, pour chaque recommandé, le facteur qui l’a distribué, en plus du destinataire.3. EXERCICE 3 : TRADUIRE LE CO<strong>DE</strong> JAVA EN <strong>DIAGRAMME</strong> <strong>DE</strong> <strong>CLASSES</strong>Donner le diagramme de classe correspondant au code JAVA suivant :public interface Délimitée{public Frontière getFrontière ;}abstract public class Forme implements Délimitée{}Page 1 sur 4


Module B9-1 : Sensibilisation à l’UMLTravaux dirigés : Diagramme de classes (exercices)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 points = new Arraylist() ;public int getComptePoints() ;public Point getPoint(int i) ;public ArrayList getPoints() ;}public class Polygone extends ListePoints{}public class Ligne extends ListePoints{}public class Frontière extends Forme{}public class ListeFormes extends Forme{protected Arraylist formes = new Arraylist() ;public void ajouterForme(Forme forme) ;public void supprimerForme(int i) ;}Page 2 sur 4


Module B9-1 : Sensibilisation à l’UMLTravaux dirigés : Diagramme de classes (exercices)4. EXERCICE 4 : ELABORER UN <strong>DIAGRAMME</strong> <strong>DE</strong> <strong>CLASSES</strong> COMPLETCet exemple concerne un système simplifié de réservation de vol. Les interviews des experts ontpermis de résumer la connaissance du contexte par les énoncés suivants :7. Une compagnie propose plusieurs vols ;8. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie ;9. Un client peut réserver un ou plusieurs vols, pour des passagers différents ;10. Une réservation concerne un seul vol et un seul passager ;11. Une réservation peut être annulée ou confirmée ;12. Un vol a un aéroport de départ et un aéroport d'arrivée ;13. Un vol a un jour et une heure de départ, et un jour et une heure d'arrivée ;14. Un vol peut comporter des escales dans des aéroports ;15. Une escale a une heure d'arrivée et une heure de départ ;16. Chaque aéroport dessert une ou plusieurs villes dans son voisinage.Représenter le modèle de domaine du système sous forme d’un diagramme de classe.Rappels :• Les classes d’un modèle de domaine ne possèdent que des attributs.Proposer un partitionnement du diagramme de classes en fonction de la nature des concepts.Représenter le diagramme de paquetage correspondant en indiquant les relations de dépendance.<strong>DIAGRAMME</strong> D’OBJETS5. EXERCICE 5 : INSTANCIER UN <strong>DIAGRAMME</strong> <strong>DE</strong> CLASSEENONCE :Le dessin ci-dessous représente des figures emboîtées. La représentation d’une figure à l’intérieurd’une autre indique qu’elle y est imbriquée. Les figures noires sont considérées comme pleines.Page 3 sur 4


Module B9-1 : Sensibilisation à l’UMLTravaux dirigés : Diagramme de classes (exercices)5.2. Représenter le diagramme de classe correspondant5.3. Représenter le diagramme d’objet correspondant6. EXERCICE 6 : TRADUIRE UNE CLASSE-ASSOCIATION EN ASSOCIATION BINAIREDans un diagramme de classe, une association binaire représente une relation entre deux classes.Cependant, une association peut être raffinée et avoir ses propres propriétés, qui ne sont disponiblesdans aucune des classes qu’elle lie. Cette association devient alors une classe appelée « classeassociation». À partir du moment où elle est définie, elle est considérée comme toutes les autresclasses du modèle.Une transformation systématique consiste à traduire une classe-association en association binaire.Utiliser le diagramme d’objets pour valider les trois situations suivantes :6.1. Situation 1 :6.2. Situation 2 :Page 4 sur 4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!