Vous êtes sur la page 1sur 13

Travaux Dirigés Modélisation Objet : UML

TD N° 2
(Diagramme de classes)
Exercice 1
Dans le cadre des Journées Cinématographiques de Carthage JCC (Voir TD N°1), nous
présentons la description suivante relative aux inscriptions des films dans les différentes
compétitions.
Chaque film déposé dans une compétition est caractérisé par un titre, les principaux acteurs (de
2 à 5), un pays d’origine et une durée. Une compétition est définie par un libellé (Science-
fiction, Documentaires, …) et elle est relative à une catégorie spécifique (court métrage, long
métrage,…). A chaque compétition est affecté un jury international de sélection composé par
un ensemble de membres (de 5 à 7) dont on connait pour chacun son nom et son prénom, son
pays, son type (Membre ou bien président) ainsi qu’un résumé de son parcours professionnel.
Un membre ne peut participer qu’à une seule compétition.
Tout film accepté par le jury sera planifié, une seule fois au cours de la période des JCC, dans
une salle de projection à une date et un horaire donnés.
Travail demandé

Elaborez le diagramme de classes relatif à la description précédente.

Corrigé Exercice 1 :
Solution1

Categorie
1
+NomCat

*
* Film
Compétition 1 +TitreF
+LibComp +Acteur[2..5]
+DuréeF
+PaysOrgF
1

5..7 FilmAccepte

Membre +dateproject
+HoraireProject
+NomMbr
+PrenomMbr *
+PaysMbr
+TypeMbr{P, M} SalleProjection
1
+ParcoursProf

Loulou Sonia & Chaâbane Sameh 1


Travaux Dirigés Modélisation Objet : UML

Solution2

Categorie
1
+NomCat

+Acteur
2..5
*
* Film
Compétition 1 +TitreF *
+LibComp +DuréeF
+EtatF{A, R, E}
0..1 +PaysOrgF
0..1
Projection
+dateproject
* +HoraireProject
Président

1 4..6

Membre
+NomMbr 0..1
+PrenomMbr
+PaysMbr
+ParcoursProf Salle

Exercice 2
Nous voulons modéliser le Système d’Information (SI) relatif à la gestion des travaux d’un
groupe de recherche. Ce groupe est constitué de chercheurs dont on connaît pour chacun le
numéro, le nom, le prénom, le diplôme, l’activité de recherche, le responsable de recherche
(lui-même un chercheur), l’adresse et le téléphone. Les chercheurs rédigent des articles dont
chacun est caractérisé par un titre, le code et le titre du domaine de recherche, une date de
rédaction et un certain nombre de mots clés qui ont pour rôle de faciliter la recherche
documentaire. Un article peut être rédigé par plusieurs chercheurs.
Le groupe de recherche anime également des séminaires. Pour chacun, on détient le titre, le
lieu, la date, le tarif, le responsable et les conférenciers. Responsable et conférenciers font
partie du groupe de recherche.
Différents participants assistent aux séminaires. Pour chaque participant, on connaît son nom,
son prénom, le nom de l’organisme dans lequel il travaille et l’adresse et le type de cet
organisme (ministère, entreprise, banque, université, etc.). Un participant règle les frais de
participation par chèque ou en espèce. On connaît pour chaque règlement, également, le
numéro de règlement, le titre du séminaire concerné et la date de règlement.
Travail à faire
1. Schématisez le diagramme de classes correspondant.
2. Appliquez les règles de transformation nécessaires pour avoir le schéma relationnel
correspondant au diagramme de classes obtenu.
Correction

Loulou Sonia & Chaâbane Sameh 2


Travaux Dirigés Modélisation Objet : UML

Schéma relationnel correspondant

Chercheur (NumCher, NomCher, PrenCher, DipCher, ActRech, AdrCher, TelCher,


#NumCherResp)
Domaine_Recherche (CodDomRech, TitDomRech)
Article (TitArt, DatArt, #CodDomRech)
MotCléArt (MotCle, #TitArt)
Rédiger (#TitArt, #NumCher)
Séminaire (TitSem, LieuSem, DatSem, TarifSem, #NumCherResp)
Conférencier (#TitSem, #NumCher)
Organisme (NomOrg, AdrOrg, TypOrg)
Participant (IdPart, NomPart, PrenPart, #NomOrg)
Participer (#IdPart, #TitSem)
Règlement (NumReg, TypReg, DateReg, #(IdPart, TitSem))

Exercice 3

Loulou Sonia & Chaâbane Sameh 3


Travaux Dirigés Modélisation Objet : UML

On désire développer un site web pour la gestion de planification et de réservation de voyages


dans une société de tourisme spécialisée dans les excursions (‫ )رحالت‬en autobus.
Partie 1 : Planification des voyages
En se basant sur des études du marché, le responsable de la société fixe des excursions et
planifie les voyages relatifs à chacune d’elles. En effet, la planification d’un voyage pour une
excursion, consiste en la spécification d’une date et une heure de départ et l’affectation d’un
autobus et d’un chauffeur disponibles. Sachant que :
 une excursion est caractérisée par un nom, une durée, un prix et éventuellement une
durée de visite pour chacun des monuments (‫ )معالم أثرية‬à visiter,
 un monument est caractérisé par une description, un ensemble d’images et une latitude
et longitude utilisées pour sa localisation,
 pour chaque chauffeur, en plus de ses données personnelles (Cin, Nom et Prénom), la
société maintient son type de permis de conduite et la liste des autobus qu’il peut
conduire, et
 un autobus est caractérisé par un numéro d’immatriculation, un type et une capacité en
nombre de voyageurs.
Le responsable, désire que le site à développer lui permette :
 lors de la gestion d’une excursion, d’ajouter un nouveau monument, s’il n’existe pas, et
 lors de la planification d’un voyage pour une excursion donnée, la possibilité d’ajouter
un nouveau chauffeur ou un nouvel autobus, en cas de besoin.
Partie 2 : Réservation de place
En consultant le catalogue des excursions du site, un visiteur peut effectuer une réservation
d’une place dans l’un des voyages proposés pour une excursion donnée, en spécifiant son nom
d’utilisateur et son mot de passe, s’il est déjà client de la société. Le système enregistre, alors,
la réservation effectuée. S’il n’est pas un client, il doit spécifier ses données : nom, prénom,
numéro de téléphone et mail pour s’inscrire. Le système doit enregistrer, dans ce cas, ses
informations en tant qu’un nouveau client et lui envoie un nom d’utilisateur et un mot de passe.
Dès sa création, une réservation est considérée comme "à confirmer". Au bout de 48h, un client
peut soit annuler sa réservation, soit s’adresser à la société pour confirmer sa réservation par le
payement du montant dû. La confirmation est effectuée par l’agent d’accueil de la société.
Autrement (Après 48h), le système annule la réservation d’une manière automatique, déclare le
client "non sérieux" et lui envoie un mail d’information.
Tout client de la société peut donner son avis lors ou après un voyage effectué.
Il est à noter que :
 Les fonctionnalités de l’application à développer doivent être sécurisées, à l’exception
de celles offertes pour les simples visiteurs du site.
 La gestion des données de base (Chauffeur, Autobus et Monument) est effectuée par le
responsable de la société.

Travail demandé
1. Elaborez le diagramme des cas d’utilisation du site web (Voir TD N°1).
2. Elaborez le digramme de classes correspondant à la partie 1.
Solution1

Loulou Sonia & Chaâbane Sameh 4


Travaux Dirigés Modélisation Objet : UML

Excursion Voyage

+NomEx +DateHeurDep
1 *
+DureeEx
+PrixEx

* *
*

{C}
+Dureevisite

*
1 1
Monument Chauffeur
Autobus
+DescMMt +CinChf
+ImageMMt[0..*] Conduire +NomChf
+ImmatAtbs
+LatitudeMMt +TypeAtbs +PrenChf
+LongitudeMMT * * +TypPermisChf
+CapAtbs

* {C} : Le chauffeur choisi doit être capable de conduire l'autobus affecté au voyage
Image

Solution2

Excursion Voyage

+NomEx +DateHeurDep
1 *
+DureeEx
+PrixEx
*

+Dureevisite 1

Conduire
*

Monument Chauffeur
Autobus
+DescMMt +CinChf
+LatitudeMMt +ImmatAtbs +NomChf
+TypeAtbs +PrenChf
+LongitudeMMT * *
+CapAtbs +TypPermisChf

*
Image

Loulou Sonia & Chaâbane Sameh 5


Travaux Dirigés Modélisation Objet : UML

Exercice 4
Nous voulons modéliser le système d’information relatif aux séances d’enseignement, de
rattrapage et d’avancement dans votre établissement. Pour ce faire, on vous demande d’élaborer
un diagramme de classes relatif à la description suivante :
Chaque enseignement d’une matière (caractérisée par son code) assuré par un enseignant
(défini par son matricule) pour un groupe (défini par une spécialité, un niveau et un numéro) est
planifié, dans une salle, pour une séance définie par un jour (Lundi, Mardi, …) et un numéro
(S1 : 8h15..9h45, S2 :10h..11h30, S3 : …). A chacune des séances d’enseignement, un
enseignant peut planifier des séances de rattrapage et/ou d’avancement en spécifiant le type
désiré (R : Rattrapage, A : Avancement) la date, le numéro de la séance et la salle.

Corrigé Exercice 4 :
Solution1

Groupe
1
+SpecGrp
+Niv
+NumGrp

Enseignant 1

+MatEnsg 1
*
* SeanceEnseignement

*
*

Seance

+Jour * 1
+Séance {S1, S2, S3, S4, S5}
1
1
*
Matiere
1 SeanceRattrapAvance
+CodeMat
+Type{'R', 'A'}
Salle *
+Date
1 +Séance {S1, S2, S3, S4, S5}

Solution 2

Loulou Sonia & Chaâbane Sameh 6


Travaux Dirigés Modélisation Objet : UML

Groupe
+SpecGrp 1
+Niv
+NumGrp Matiere

+CodeMat
Enseignant

+MatEnsg
*
* AffectationEnseigMat

Seance

+NumSéance *
* SeanceEnseignement

* +Jour
*
SeanceRattrapAvance

+Type{R, A}
Salle * *
+Date

Exercice 5
Nous voulons modéliser le système d’information relatif à la gestion des stages dans votre
établissement pour une année universitaire.
Le directeur des stages (DS) reçoit au début de l’année la liste des étudiants inscrits ainsi que
leurs groupes d’enseignement pour les affecter aux stages proposés par l’ISET ou par eux-
mêmes et proposer les jurys pour leur soutenance. En effet, chaque étudiant, connu par son
matricule son nom et son prénom, est affecté à un groupe, défini par une spécialité (INF, DSI,
RSI, ...), un niveau (1, 2 et 3) et un numéro séquentiel (1, 2, 3, 4, …). Chaque groupe appartient
à un département, connu par son nom.
Le DS procède alors à l’affectation des étudiants aux stages. Un étudiant ne peut effectuer, au
cours d’une année universitaire, qu’un seul stage qui peut être d’initiation, de perfectionnement
ou de fin d’études (SFE). Chaque stage, pouvant être affecté à un ou à deux étudiants, est défini
par un identificateur, une date de début, une date de fin, le département relatif et la société lieu
de son déroulement dont on connait son nom, son adresse et son numéro de téléphone. Pour un
SFE, le titre et le(s) encadreur(s) (maximum deux) sont à spécifier.
Lors de la proposition des jurys de soutenance, à chaque stage est affecté un président. Dans le
cas d’un SFE, un rapporteur est aussi affecté. Dans tous cas, un même membre de jury ne peut
pas jouer plus qu’un rôle à la fois.
Chaque enseignant est caractérisé par son matricule, son nom, son prénom, son numéro de
téléphone et son e-mail et il ne peut encadrer que les étudiants de son département.
Travail demandé

Loulou Sonia & Chaâbane Sameh 7


Travaux Dirigés Modélisation Objet : UML

Schématisez le diagramme de classes correspondant.


Solution1

1
Etudiant Groupe
Departement
+MatEtd 1..* 1 +SpecGrp
+NomEtd +NiveauGrp * 1 +NomDept
+PrenEtd +NumSeq

0..2 1

*
0..1
Enseignant 0..1 Président *
*
Stage
+MatEns Societe
+NomEns +IdentifStg
+NomSoc
+SpecEns +DateDebStg 1..*
{C1}{C2} {Exclusion} +AdrSoc
+DateFinStg
+NumTelSoc
+TypeStg {‘I’, ‘P’, ‘SFE’} 1
0..3 *

MembreJury

{C1} : Seulement le SFE qui nécessite un encadreur

{C3} : Un enseignant ne peut encadrer qu’un étudiant de son département


+Role

Solution2

1
Etudiant Groupe
1..* 1 Departement
+MatEtd +SpecGrp
+NiveauGrp * 1
+NomEtd +NomDept
+PrenEtd +NumSeq
1
0..2

*
0..1 *
Enseignant
0..1 Président * Stage
+MatEns Societe
+NomEns +identifStg
+NomSoc
+PrenEns +DateDebStg +AdrSoc
+EmailEns +DateFinStg 1..* 1 +NumTelSoc
+NumTelEns

0..1 0..2

{Partition}
StgeInitiation StagePerfectionnement SFE

+TitreSFE

* *
{C} Est-Encadreur

Est-Rapporteur

{C} : Un enseignant ne peut encadrer qu’un étudiant de son département

Loulou Sonia & Chaâbane Sameh 8


Travaux Dirigés Modélisation Objet : UML

Exercice 6
L’Office de la Marine Marchande et des Ports (OMMP: ‫ )ديوان البحرية التجارية والموانئ‬désire
automatiser la gestion de franchissement (‫ )عبور‬et d’accostage (‫ )رسو‬des navires (bateaux de
fort tonnage, ‫ )السفن‬aux différents quais (‫ )أرصفة‬des ports (‫ )الموانئ‬du territoire tunisien. Pour
cela, il met à votre disposition les informations suivantes :
Chaque port est caractérisé par un nom, une position, une ville, un ensemble de quais et
éventuellement un ensemble d’espaces de stockage qui peuvent être soit des magasins, soit des
espaces de stockage non couverts. Chaque espace de stockage est défini par un numéro, un
emplacement, la capacité de stockage et la quantité stockée. Un magasin est caractérisé, en plus
des informations précédentes, par la capacité de stockage ainsi que la quantité stockée par type
de marchandise.
Un quai est caractérisé par un nom, une orientation, une longueur et un ou plusieurs postes.
Chaque poste est défini par un numéro, les valeurs minimale et maximale de la hauteur d’eau,
et les types de marchandises qu’il peut charger et/ou décharger.
Afin d’autoriser l’accostage (‫ )رسو‬d’un navire, caractérisé par un numéro et un nom, une
demande doit être déposée par le concerné. Cette demande comporte les informations
concernant la charge en tonne du navire, l’itinéraire (la ville de départ, la ville de destination et
éventuellement les villes visitées), le port demandé et la quantité et le type de la marchandise à
charger et/ou à décharger. Il est à noter que lors d’un accostage, un navire peut décharger un
type de marchandise puis charger un autre type.
Suite à l’étude d’une demande, une autorisation d’occupation peut être accordée spécifiant ainsi
un numéro d’autorisation et la date et l’heure estimatives d’accostage dans chaque poste d’un
quai. En fait, pour une même autorisation, un navire peut occuper séquentiellement plusieurs
postes, afin d’optimiser le temps de chargement et/ou de déchargement de sa marchandise selon
les capacités des espaces de stockage. Une autorisation d’occupation est initialement à l’état
« planifiée » et peut par la suite prendre l’un des états suivants : « annulée », « en cours » ou
« achevée ».
Travail demandé
Schématisez le diagramme de classes correspondant.
Exercice 7
Dans le but de gérer les différentes structures mises sous le contrôle du ministère de
l’enseignement supérieur et de la recherche scientifique (MESRS), on vous demande de
construire le diagramme de classes correspondant à la description ci-après.
En effet, le MESRS contrôle un ensemble de structures regroupant aussi bien les universités, la
DGET (Direction Générale des Etudes Technologiques), les établissements d’enseignement, les
laboratoires et les centres de recherche. A chaque structure, caractérisée par un nom, un abrégé
et un logo, est affecté un ensemble d’enseignants dont un parmi eux joue le rôle du directeur.
Un enseignant est caractérisé par le numéro de sa carte d’identité nationale, son nom, son
prénom et son grade.
Des relations d’appartenance ou de direction peuvent exister entre structures. En effet, tout
laboratoire doit appartenir à un établissement d’enseignement. Et tout établissement
d’enseignement, connaissant son type (Faculté, Ecole, Institut, …), est dirigé soit par une
université, soit par la DGET.
Chaque établissement comporte un ensemble de départements, caractérisé chacun par son
libellé, l’ensemble d’enseignants qui y sont affectés et son directeur qui est l’un de ses
enseignants.

Loulou Sonia & Chaâbane Sameh 9


Travaux Dirigés Modélisation Objet : UML

Contrairement aux établissements, les centres de recherche sont composés d’équipes. Chaque
équipe, travaillant sur un thème de recherche, est formée d’un ensemble d’enseignants, dont un
parmi eux joue le rôle de son chef.
Correction

{Partition
}
{Partition}

Exercice 8
Considérons le diagramme de classes suivant :

Questions :
Elaborez le schéma relationnel correspondant au diagramme de classes ci-dessus.
Correction
Projet (CodeProj, NomProj)
Tâche (#CodeProj, NumT, DescripT)

Loulou Sonia & Chaâbane Sameh 10


Travaux Dirigés Modélisation Objet : UML

Planification (idPlanif, DatePlanif, TypePlanif, DateRéalT, HeurDebRéalT, HeurFinRéalT,


DateDebRéalT, DateFinRéalT, #(CodeProj, NumT))
Employe (NumEmp, NomEmp, PrenEmp)
Affectation (#idPlanif, #NumEmp, Rôle)

Exercice 9
La société Microsoft désire automatiser la gestion des comptes mails de sa clientèle. Elle vous
accorde, pour ce faire, la tâche de modélisation du SI relatif. Pour chaque client correspond un
compte, défini par une adresse mail et un mot de passe, ayant exactement N boîtes (de
réception, d’envoie, spam, etc.). Chaque boîte contient un ensemble de mails défini chacun par
sa date, son horaire, son sujet, son contenu et éventuellement des pièces jointes. Pour tout mail
envoyé, la liste des adresses, auxquelles s’adresse ce dernier, doit être définie. Et pour tout mail
reçu, son transmetteur doit être spécifié ainsi que son état (C pour Consulté ou NC pour Non
Consulté).
L’accès à un compte, via une authentification, peut être suivi par la consultation ou le vidage de
l’une des boîtes, par la rédaction d’un nouveau mail ou par la recherche, la consultation ou la
suppression de mail. Il est à noter qu’un client peut envoyer un mail à lui-même.
Travail demandé
Elaborez le diagramme de classes relatif à la description précédente.

BoîteEmail
Compte
+TypeBoîte
+AdresseMailClt
+MotPasseClt N +consulter()
+vider()

+S’authentifier()
{C}

*
EMail

+DateEmail
+HoraireEmail
+SujetMail
+ContenuMail
+PièceJointe [0..*]

+Supprimer()
+RechercherMail()
+ConsulterMail()

{Disjoint}
MailReçu MailEnvoye

+AdresseMailTransmetteur +AdresseMailRecepteur[1..*]
+EtatMail{C, NC}
+Rediger()

{C} : il doit y avoir une correspondance entre le type d’une boîte et les types des mails qui la
composent.

Loulou Sonia & Chaâbane Sameh 11


Travaux Dirigés Modélisation Objet : UML

Exercice 10
Un établissement universitaire désire automatiser la gestion d’organisation d’évènements
scientifiques. Il met à votre disposition la description suivante :
Pour chaque évènement, deux comités sont créés pour sa réalisation : un d’organisation et un
scientifique. Le comité d’organisation est formé par un ensemble d’enseignants jouant le rôle
de membres, dont un parmi eux est le président du comité et un autre le responsable financier.
Le comité scientifique est composé aussi d’un ensemble d’enseignants, dont son président fait
aussi partie du comité d’organisation.
Il est à noter qu’un enseignant peut appartenir à plusieurs comités et que le président du comité
scientifique ne doit pas être le responsable financier pour le même évènement.
Travail demandé
Elaborez le diagramme de clases correspondant avec les contraintes nécessaires.

RespFinancier
1
*
ComiteOrganisation {Sous-ens} PresidentCO Enseignant

0..1 * {Exclusion}
EvènementScientifique
{Sous-ens} 1
*
MembreCO
2..*
{Sous-ens}
PresidentCS 1
0..1
ComiteScientifique *
1..*
MembreCS
*

Il faut aussi ajouter une contrainte d’exclusion entre « PresidentCS » et « RespFinancier »

Exercice 10
Dans le but de modéliser le Système d’Information (SI) relatif à la gestion des emplois de
temps dans un établissement d’enseignement primaire pour une année scolaire, le directeur met
à votre disposition la description ci-après.
Au début de l’année, le directeur de l’établissement se charge de la création des classes pour les
différents niveaux (1, 2, 3, …, 6). Chaque classe relative à un niveau est définie par un code
représenté par une lettre de l’alphabet (A, B, C, …) et est caractérisée par le nombre d’élèves
affectés.
L’affectation des instituteurs aux classes se fait en fonction de leurs matières de spécialité. En
effet, pour un instituteur, le SI doit maintenir les matières qu’il peut enseigner. Sachant qu’une
matière, relative à un niveau, est définie par un code, un nom et une charge horaire
hebdomadaire (par semaine). Un instituteur est défini par son CIN, son nom, son prénom, sa
charge d’enseignement actuelle par semaine et ses charges minimale et maximale
d’enseignement par semaine relatives à son grade.
L’affectation d’un instituteur à une classe doit spécifier la matière enseignée en prenant en
considération ses compétences (ce qu’il peut enseigner).
Une fois les instituteurs sont désignés pour chaque classe, on procède à la planification des
séances d’enseignement et leur affectation aux différentes salles de l’établissement, en

Loulou Sonia & Chaâbane Sameh 12


Travaux Dirigés Modélisation Objet : UML

spécifiant pour chacune le jour de la semaine, l’heure de début et l’heure de fin. Chaque salle
est définie par un numéro et une capacité en nombre d’élèves.
Travail demandé
Schématisez le diagramme de classes correspondant.

Niveau
+NumNiv

1 1

* Matiere
Classe *
+CodMat
+CodeCls +NomMat
+NbrElevCls +ChrgHebMat

1..*
*
* Enseigner

Grade
*
Affecter +GradeInst
Instituteur +ChargMax
1 +ChargMin
+NomInst *
1 +PrenomInst
+ChrgInstAct
+CinInst
*
SéanceEnseignement Salle
+Jour +NumSal
+HeurDeb * 1 +CapSal
+HeurFin

Loulou Sonia & Chaâbane Sameh 13

Vous aimerez peut-être aussi