Exercices Corrigés UML: Diagramme De Classe

Avec des exercices corrigés en UML sur les diagrammes de classes, vous pratiquerez divers concepts sur les diagrammes de classes. Vous commencerez par des exercices de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque exercice, nous vous encourageons à les poster sur notre forum.
 
 

Exercice 1: Clinique vétérinaire

Le propriétaire d’une clinique vétérinaire souhaite créer une base de données pour stocker des informations sur tous les services vétérinaires effectués. Après quelques recherches, il a défini les exigences suivantes :

  • Pour chaque animal admis, son nom, sa race (le cas échéant) et son propriétaire doivent être enregistrés. Chaque animal doit recevoir un identifiant numérique unique.
  • Pour chaque propriétaire, le nom, l’adresse et le numéro de téléphone doivent être enregistrés. Un identifiant numérique unique doit également être généré pour chacun d’entre eux.
  • Un animal peut être sans propriétaire. Cette situation est fréquente, car la clinique sauve souvent des chiens abandonnés dans la rue afin de les soigner et de leur trouver un nouveau propriétaire.
  • Il devrait être possible de stocker des informations sur une race spécifique même si aucun animal de cette race n’a été traité à la clinique.
  • Chaque rendez-vous a toujours un médecin responsable. Tous les rendez-vous commencent à une date et à une heure précises et sont suivis par un animal (et bien sûr son propriétaire).
  • Pour chaque médecin, son nom, son adresse et son numéro de téléphone doivent être enregistrés. Un identifiant numérique unique doit également être généré pour chacun d’entre eux.
  • Lors d’un rendez-vous, plusieurs conditions médicales peuvent être détectées. Chaque affection a un nom commun et un nom scientifique. Il n’y a pas deux affections qui portent le même nom scientifique.
  • Il devrait être possible de stocker dans la base de données des informations sur les affections les plus courantes pour chaque race différente.
 
 

Exercice 2: Restaurant

Le propriétaire d’un petit restaurant souhaite se doter d’un nouveau système d’information pour stocker les données relatives à tous les repas consommés sur place et pour tenir un registre des ingrédients en stock. Après quelques recherches, il est parvenu à la liste d’exigences suivante :

  • Chaque ingrédient a un nom, une unité de mesure (par exemple, l’huile d’olive est mesurée en litres, tandis que les œufs sont mesurés en unités) et une quantité en stock. Il n’y a pas deux ingrédients portant le même nom.
  • Chaque plat est composé de plusieurs ingrédients dans une certaine quantité. Un ingrédient peut, bien entendu, être utilisé dans différents plats.
  • Un plat a un nom unique et un identifiant numérique.
  • Il y a plusieurs tables au restaurant. Chacune d’entre elles a un identifiant numérique unique et un nombre maximum de personnes qui peuvent s’y asseoir.
  • À chaque repas, plusieurs plats sont consommés à une table donnée. Un même plat peut être consommé plusieurs fois au cours d’un même repas.
  • Un repas a lieu à une date donnée et a une heure de début et de fin. Chaque repas a un serveur responsable.
  • Un serveur a un identifiant numérique unique, un nom, une adresse et un numéro de téléphone.
  • Dans certains cas, il est important de stocker des informations sur le client qui a consommé le repas. Un client possède un numéro d’identification fiscale, un nom et une adresse.
 
 

Exercice 3: Société de livraison

Le propriétaire d’une petite entreprise de livraison envisage de se doter d’un système d’information lui permettant d’enregistrer les données relatives à ses clients et à ses livraisons. Après avoir étudié le problème pendant un certain temps, il est parvenu aux exigences suivantes :

  • Chaque client a un numéro de TVA, un nom, un numéro de téléphone et une adresse. Il n’y a pas deux clients ayant le même numéro de TVA.
  • Lorsqu’un client souhaite envoyer un colis à un autre client, il lui suffit de se connecter au site web de l’entreprise, de sélectionner le client auquel il souhaite envoyer le colis, d’indiquer le poids du colis et de préciser s’il s’agit d’une livraison normale ou urgente. Il reçoit alors un code d’identification unique qu’il inscrit sur le colis.
  • Le colis est ensuite livré par le client au centre de livraison de son choix. Un centre de livraison a un nom et une adresse uniques.
  • Chaque client a un centre de livraison associé. Ce centre de livraison est choisi par l’entreprise et c’est normalement celui qui est le plus proche de la maison du client.
  • Le colis est ensuite acheminé par un système interne jusqu’au centre de livraison du destinataire.
  • Le colis est alors remis en main propre au destinataire par un coursier depuis le centre de livraison.
  • Les coursiers ont un numéro de TVA unique, un nom et un numéro de téléphone. Chaque coursier travaille dans un seul centre de livraison.
  • Un coursier est affecté à un paquet dès que celui-ci est introduit dans le système.
 
 

Exercice 4: Fabricant de meubles

Le fabricant de meubles « Mobilya » a l’intention de mettre en place un système d’information pour stocker toutes les données relatives aux différents types de meubles et de composants qu’il produit :

  • Le fabricant produit plusieurs lignes de meubles, chacune portant un nom différent et se composant de plusieurs meubles de différents types (lits, tables, chaises, …).
  • Tous les meubles ont un type, une référence unique (par exemple CC6578) et un prix de vente.
  • L’avantage concurrentiel majeur de cette usine innovante réside dans le fait que chaque composant produit peut être utilisé dans plus d’un meuble.
  • Chaque meuble est donc composé de plusieurs éléments. Un même composant peut être utilisé plusieurs fois dans un même meuble.
  • Chaque type de composant produit se voit attribuer un code numérique unique, un prix de fabrication et un type (vis, charnière, étagère…).
  • Les meubles sont ensuite vendus dans différents magasins à travers le monde. Chaque magasin a une adresse et un numéro de fax différents.
  • Pour rendre le processus de fabrication plus efficace, les magasins doivent passer des commandes chaque fois qu’ils ont besoin de réapprovisionner leur stock. Ces commandes doivent également être stockées dans la base de données.
  • Chaque commande comporte un numéro de commande, une date, le magasin qui a passé la commande ainsi qu’une liste de tous les meubles commandés et de leurs quantités.
 
 

Exercice 5: Usine

Créez une base de données pour une usine avec les exigences suivantes. N’oubliez pas d’ajouter des identifiants uniques pour chacune des entités si nécessaire.

  • Une usine possède plusieurs machines. Chacune d’entre elles est utilisée par plusieurs ouvriers.
  • Un ouvrier peut travailler sur plusieurs machines.
  • Dans cette usine, plusieurs produits de types différents sont fabriqués. Chaque type de produit est fabriqué dans une seule machine. Mais la même machine peut produire plus d’un type de produit.
  • Les produits d’un même type sont tous fabriqués à partir du même matériau et ont le même poids.
  • Les clients peuvent émettre des bons de commande. Chaque commande comporte une liste des produits souhaités et leur quantité.
  • Pour chaque ouvrier, les données suivantes doivent être stockées dans la base de données : nom (prénom et nom de famille), date de naissance, adresse et liste de ses compétences.
  • Pour chaque machine, les données suivantes doivent être stockées : numéro de série, marque, modèle et date d’achat.
  • Pour chaque client, les données suivantes doivent être enregistrées : nom, adresse, numéro de téléphone et nom de la personne de contact (le cas échéant).
  • Pour chaque commande, les données suivantes doivent être enregistrées : numéro de la commande, date à laquelle elle a été passée, date de livraison prévue et date de livraison réelle.
 
 

Exercice 6: Location de vélos

Une société de location de bicyclettes souhaite créer un système d’information qui lui permette de stocker les données relatives à toutes ses réservations et locations. Le système doit répondre aux exigences suivantes :

  • Il doit être possible de stocker le numéro d’identification national (NIN), le numéro d’identification fiscale (NIF), le nom et l’adresse de chaque client. Le NIN et le TIN doivent être différents pour chaque client et tous les clients doivent avoir au moins un NIF et un nom.
  • La base de données doit également contenir des informations sur les modèles de vélos qui peuvent être loués – chaque modèle a un nom unique, un type (qui ne peut être que route, montagne, bmx ou hybride) et le nombre de vitesses.
  • Chaque vélo a un numéro d’identification unique et un modèle.
  • L’entreprise dispose de plusieurs magasins où les vélos peuvent être retirés et retournés. Chacun de ces magasins est identifié par un nom unique et possède une adresse ( les deux sont obligatoires).
  • Lorsqu’une réservation est effectuée, les données suivantes doivent être connues : quel client a effectué la réservation, quand il viendra chercher le vélo (jour), quel modèle de vélo il souhaite et où il viendra chercher le vélo (magasin).
  • Lorsqu’un vélo est retiré, le vélo qui a été retiré doit être stocké dans la base de données.
  • Lorsqu’un vélo est restitué, la date de restitution doit être enregistrée dans la base de données.
 
 

Exercice 7:

Considérons le diagramme UML suivant.
 

 
Séparez les affirmations suivantes en deux catégories : celles qui sont vraies et celles qui sont fausses.

A Deux entreprises ne peuvent pas avoir le même nom.

B Deux employés ne peuvent pas avoir le même nom.

C Il ne peut y avoir deux entreprises à la même adresse

D Il n’y a pas deux employés qui travaillent à la même adresse

E Chaque employé travaille pour au moins une entreprise

F Aucun employé ne travaille pour plus d’une entreprise

G Chaque entreprise a au moins un employé

H Deux employés portant le même nom ne peuvent pas travailler pour la même entreprise

I Deux employés portant le même nom ne peuvent pas travailler pour des entreprises différentes

(A), (E), (F) sont vrais; les autres sont faux.
 
 

Exercice 8:

Considérons le diagramme UML suivant.
 


 
A D’après le diagramme, quel est le nombre total minimum et maximum d’instructeurs pour un cours donné ?

B D’après le diagramme, quelle est la charge minimale et maximale d’enseignement (nombre de cours) pour les professeurs ? Pour les assistants ?

C Traduire le diagramme UML en un schéma relationnel.

D Spécifiez une clé minimale pour chaque relation dans votre solution à la partie (C).

E Supposez que, par défaut, les valeurs d’attribut ne peuvent pas contenir null. Votre solution à la partie (C) exige-t-elle que des attributs autorisent des valeurs nulles ?

A minimum : 1, maximum : 5

B Professeur minimum/maximum : 0/1, Assistant minimum/maximum : 3/6.

C Schéma relationnel:

Professeur(nom, bureau, rang, cours#, note)
Assistant(nom,bureau,années)
Cours(cours#, dept)
AEnseigner(nom,cours#)

D Une clé minimale pour chaque relation:

Professeur : nom
Assistant : nom
Cours : cours#
PEnseigner : (nom,cours#)

E Professeur.cours# et Professeur.note doivent autoriser les valeurs nulles

 
 

Exercice 9: Bibliothèque en ligne

Créez un diagramme de classes pour une bibliothèque publique basée sur le web. Une bibliothèque publique stocke généralement une collection de livres, de films ou d’autres documents que les habitants de la région peuvent emprunter. Chaque membre de la bibliothèque dispose généralement d’un compte et d’une carte de bibliothèque portant le numéro d’identification du compte, qu’il peut utiliser pour s’identifier auprès de la bibliothèque. Le compte d’un membre de la bibliothèque enregistre les documents qu’il a empruntés et la date d’échéance de chaque document emprunté. Chaque type de document a une durée de location par défaut, qui détermine la date d’échéance du document au moment de l’emprunt. Si un membre rend un document après la date d’échéance, il doit payer des frais de retard spécifiques pour ce document, une somme d’argent enregistrée sur le compte de la bibliothèque du membre.

 
 

Exercice 10: Groupe d’archéologues

Créez un diagramme de classes en vous basant sur la description suivante. On vous a demandé de créer un système de gestion pour un groupe d’archéologues. Le groupe est composé de plusieurs équipes de chercheurs. Chaque équipe a une lettre d’identification (par exemple, équipe A, équipe B). Chaque chercheur appartient à l’une des équipes et possède un numéro d’identification, un prénom et un nom. Il existe deux types de chercheurs : le personnel de terrain et le personnel de laboratoire. Chaque membre du personnel de terrain a une région de prédilection (string). Chaque chercheur de laboratoire soutient jusqu’à deux chercheurs de terrain. Certains chercheurs peuvent ne pas être soutenus par un chercheur de laboratoire. L’entreprise gère également un inventaire de matériel. Les chercheurs, quel que soit leur type, peuvent emprunter jusqu’à trois pièces d’équipement. Chaque équipement a un numéro de série et un coût de remplacement.

 
 

Exercice 11: Pizzeria

Imaginez que vous soyez chargé de développer un système pour une pizzeria. À partir de la description suivante, créez un diagramme de classes UML. Indiquez toutes les classes conceptuelles, tous les attributs, toutes les associations et toutes les relations de généralisation mentionnés dans la description. Étiquetez toutes les associations et indiquez toutes les multiplicités.

Un client passe des commandes. Un client a un nom et un numéro de téléphone. Il existe deux types de commandes : la commande à emporter et la commande à livrer. Une commande à emporter est assortie d’une heure de retrait. Une commande de livraison comporte une adresse et une heure de livraison. Toutes les commandes sont constituées d’un ensemble d’articles. Il existe deux types d’articles : les pizzas et les boissons. Tous les articles ont un prix. Une pizza a une taille et un type de croûte. Elle comporte également un certain nombre de garnitures. Une garniture a un type de garniture et un prix. Certaines pizzas sont des pizzas spéciales qui portent un nom (par exemple, « Hawaïenne » ou « Meat Lovers »). Une boisson a une marque et une saveur.

 
 

Exercice 12: Système d’entreprise

Une entreprise est composée de départements. Les départements sont situés dans un ou plusieurs bureaux. Un bureau joue le rôle de siège social. Chaque département a un responsable qui est recruté parmi les employés. Votre tâche consiste à modéliser le système de l’entreprise en créant un diagramme de classes UML.

 
 

Exercice 13: Anneau à jeton

Un réseau local (LAN) basé sur l’anneau à jeton est un réseau composé de nœuds, dans lequel des paquets de réseau sont envoyés. Chaque nœud a un nom unique au sein du réseau et renvoie au nœud suivant. Il existe différents types de nœuds : les postes de travail sont à l’origine des messages ; les serveurs et les imprimantes sont des nœuds de réseau qui peuvent recevoir des messages. Les paquets contiennent un expéditeur, une destination et un contenu, et sont envoyés sur un réseau. Un réseau local est une configuration circulaire de nœuds.

Dessinez un diagramme de classes comprenant toutes les classes de votre système, leurs attributs et leurs opérations, les relations entre les classes, les spécifications de multiplicité et d’autres éléments de modèle que vous jugez appropriés.

 
 

Exercice 14: Les imprimantes

Modéliser un réseau local dans lequel on trouve deux types d’imprimantes : Les imprimantes ASCII ne peuvent imprimer que des documents ASCII. Les imprimantes PostScript peuvent imprimer des documents ASCII ou PostScript. Les documents sont envoyés sous forme de paquets.

 
 

Exercice 15: Université

Dans une université, il y a différentes salles de classe, différents bureaux et différents départements. Un département porte un nom et comprend de nombreux bureaux. Une personne travaillant à l’université possède un identifiant unique et peut être un professeur ou un employé.

  • Un professeur peut être titulaire, associé ou assistant et il est inscrit dans un département.
  • Les bureaux et les salles de classe ont un numéro d’identification, et une salle de classe a un certain nombre de chaises.
  • Chaque employé travaille dans un bureau.
 
 

Exercice 16: Magasin de films

Concevoir un système pour un magasin de films, afin de gérer la commande de films et la consultation du catalogue du magasin, ainsi que les abonnements des utilisateurs avec des cartes rechargeables.

  • Seuls les abonnés sont autorisés à louer des films avec leur propre carte.
  • Le crédit est mis à jour sur la carte pendant les opérations de location.
  • Les utilisateurs et les abonnés peuvent acheter un film et leurs données sont enregistrées dans la commande correspondante.
  • Lorsqu’un film n’est pas disponible, il est mis en commande.
 
 

Exercice 17: Vols

Nous voulons modéliser un système de gestion des vols et des pilotes.

  • Une compagnie aérienne effectue des vols. Chaque compagnie aérienne a un identifiant.
  • Chaque vol a un identifiant, un aéroport de départ et un aéroport d’arrivée : un aéroport a un identifiant unique.
  • Chaque vol a un pilote et un copilote, et utilise un avion d’un certain type ; un vol a également une heure de départ et une heure d’arrivée.
  • Une compagnie aérienne possède un ensemble d’avions de différents types.
  • Un avion peut être en état de marche ou en réparation.
  • À un moment donné, un avion peut être en train d’atterrir ou de décoller.
  • Une compagnie possède un ensemble de pilotes : chaque pilote a un niveau d’expérience : 1 est le minimum, 3 est le maximum.
  • Un type d’avion peut nécessiter un nombre particulier de pilotes, avec un rôle différent (par exemple : commandant de bord, copilote, navigateur) : il doit y avoir au moins Il doit y avoir au moins un commandant de bord et un copilote, et le commandant de bord doit avoir un niveau 3.
 
 

Exercice 18: Système Bancaire

– Un système bancaire contient des données sur les clients (identifiés par leur nom et leur adresse) et leurs comptes.

– Chaque compte a un solde et il existe deux types de comptes : l’un pour l’épargne, qui offre un taux d’intérêt, l’autre pour les investissements, utilisé pour acheter des actions.

– Les actions sont achetées à une certaine quantité pour un certain prix et la banque applique une commission sur les commandes d’actions.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *