Download - Uml Exos02

Transcript

TD2 : Diagramme de classesUMLPierre Grard

[email protected] Informatique S2D Universit de Paris 13

1

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.2 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 :

3

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 veut1 Onpourra utiliser une classe-association.

1

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.

4

Correspondance entre code Java et diagramme de classesQuestion :

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) { ... } } 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 ( ) { ... } }

5

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.

2

6

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 :

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. Question : Donnez le diagramme de classes en n'utilisant que le nom des classes et ajoutez toutes les dcorations adquates aux associations.

7

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

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.

4