Académique Documents
Professionnel Documents
Culture Documents
(2014 – 2023)
Module : UML
Licence SIR
Réalisé par :
Pr Nawal BOURQUIA
Année Universitaire : 2014/2015
Contrôle 1 en UML
(Durée : 1h45mn)
Etude de cas :
a) Des compagnies aériennes proposent différents vols. On suppose qu’un vol n’est
proposé que par une seule compagnie. Et une compagnie aérienne est désignée par
son nom.
b) Un vol est ouvert à la réservation et refermé sur ordre de la Compagnie. Il est
caractérisé par un numéro de vol.
c) Un client peut réserver des places sur un ou plusieurs vols, pour des passagers
différents.
d) Une réservation concerne un seul passager sur un seul vol. Elle contient les
attributs numéro de réservation et date.
e) Une réservation peut être annulée ou confirmée.
f) Un vol a un aéroport de départ et un aéroport d'arrivée. On distingue un aéroport
par son nom et son état {ouvert, fermé}. (un aéroport peut être fermé pour travaux)
g) Un vol a une date et une heure de départ, une date et une heure d'arrivée.
h) Un vol peut comporter des escales dans des aéroports. On suppose qu’une escale
n’appartient qu’à un seul vol.
i) Une escale a une heure d'arrivée et une heure de départ.
j) Chaque aéroport dessert une ou plusieurs villes, et une ville est desservie par un ou
plusieurs aéroports. Une ville a un nom comme attribut.
2
Partie 2 : diagramme d’objets
Le client Saad, âgé de 20 ans, souhaite réserver pour lui même le 5 Octobre 2014, un vol de
Casablanca vers Paris, et affrété par la Royal Air Maroc. Ce vol est prévu le 10 Novembre
2014, et décolle à 15h30 de l’aéroport Mohamed V de Casablanca. Il fait escale à Marseille à
16h30 et redécolle après 30 minutes d’attente pour arriver à l’aéroport d’Orly de Paris à
17h30.
Partie 3 : OCL
On suppose que le système de réservation de vol peut être utilisé en ligne (par internet).
Tracer le diagramme des cas d’utilisation correspondant à un client voulant se servir de ce système.
Au moins 3 cas d’utilisation doivent être créés.
A noter qu’une réservation ne peut être modifiée mais doit-être annulée et le client doit réserver à
nouveau.
3
Année Universitaire : 2014/2015
Etude de cas :
4
Partie 2 : diagramme d’objets (4 points)
II. La date de départ d’un vol doit être supérieure à la date de sa réservation.
Context reservation
Inv : self.date < vol.datedepart
IV. Fermer les réservations des vols d’un aéroport dont l’état est «fermé ».
Context reservation
Inv : self.vol->select{v | depart.etat = ‘Ferme’ or arrivee.etat = ‘Ferme’}->isEmpty()
5
Partie 4 : Diagramme de cas d’utilisation (6 points)
6
Année Universitaire : 2014/2015
Contrôle 2 en UML
(Durée : 1h30mn)
Etude de cas :
LOCAVITE est une association qui permet à divers propriétaires de mettre en location, à la
semaine, des appartements meublés. Elle publie annuellement un catalogue contenant les
appartements proposés par les propriétaires qui font partie de cette association. Les
appartements doivent répondre à un certain nombre de critères qualité qui sont vérifiés par
l’association lors de l'adhésion de l’appartement et une fois tous les trois ans lors d'une visite
de contrôle.
Le propriétaire reçoit tous les ans un catalogue des appartements, et peut modifier les
informations qui le concernent (prix, photos de son appartement, nombre de personnes, de
chambres, etc.).
LOCAVITE propose aux propriétaires qui le souhaitent, un service central de réservation pour
louer leurs appartements.
Tous les ans, les propriétaires qui veulent utiliser ce service signent un contrat avec
LOCAVITE, qui spécifie les périodes ouvertes à la location et la rémunération de la centrale
de réservation en pourcentage de chaque location.
Elaborer les diagrammes UML suivants : (il n’y a pas une unique modélisation, il faut
juste être précis et cohérent)
7
Année Universitaire : 2014/2015
Etude de cas :
1. Diagramme de séquence : (5 points)
8
3. Diagramme d’état transition : (5 points)
9
Année Universitaire : 2014/2015
Exercice 1 :
Le diagramme de classes de la figure suivante correspond au cahier des charges pour la gestion d’une
médiathèque.
1. Ajoutez à ce diagramme les cardinalités des associations.
2. Faîtes apparaître des associations d'héritage et d'agrégation ou composition.
Exercice 2 :
Choisissez et dessinez les relations entre les cas suivants :
1. Une agence de voyage organise des voyages où l’hébergement se fait en hôtel. Le client doit
disposer d’un taxi quand il arrive à la gare pour se rendre à l’hôtel.
Agence de voyages
Organiser un voyage
10
2. Certains clients demandent à l’agence de voyage d’établir une facture détaillée. Cela donne
lieu à un nouveau cas d’utilisation appelé « Etablir une facture détaillée ». comment mettre
ce cas en relation avec les cas existants ?
3. Le voyage se fait soit par avion, soit par train. Comment modéliser cela ?
Exercice 3 :
Dans le cadre de l’amélioration qu’elle veut apporter à son système d’information, une entreprise
souhaite modéliser, dans un premier temps, le processus de formation de ses employés afin que
quelques unes de leurs tâches soient informatisées.
1. Le processus de formation est initialisé lorsque le responsable formation reçoit une demande de
la part d’un l’employé. Cette demande est instruite par le responsable qui la qualifie et transmet
son accord ou son désaccord à l’intéressé.
2. En cas d’accord, le responsable recherche dans le catalogue des formations agréées un stage qui
correspond à la demande. Il informe l’employé du contenu de la formation et lui propose une
liste des prochaines sessions. Lorsque l’employé a fait son choix, le responsable formation inscrit
le participant à la session auprès de l’organisme de formation concerné.
3. En cas d’empêchement, l’employé doit informer le responsable de formation au plus tôt pour
annuler l’inscription ou la demande.
4. A la fin de sa formation, l’employé doit remettre au responsable formation une appréciation sur
le stage qu’il a effectué, ainsi qu’un document justifiant de sa présence au stage.
5. Le responsable formation contrôle par la suite la facture que l’organisme de formation n’a pas
manqué de lui envoyer avant de la transmettre au comptable des achats.
11
Année Universitaire : 2014/2015
Exercice 1 : (6 points)
Exercice 2 : (6 points)
12
Exercice 3 : (8 points)
13
Année Universitaire : 2015/2016
Contrôle 1 en UML
(Durée : 1h45mn)
Exercice 1 :
Une académie souhaite gérer les matières dispensées dans plusieurs facultés. Pour cela, on dispose des
renseignements suivants :
- Chaque faculté possède comme attributs un nom et un site Internet.
- Chaque faculté est structurée en départements, qui regroupent chacun des enseignants spécifiques.
Parmi ces enseignants, l’un d’eux est responsable du département.
- Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son indice.
- Chaque enseignant n’enseigne qu’une seule matière. Chaque matière est caractérisée par son libellé
et un descriptif.
- Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle
lorsqu’elle a été évaluée.
- Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, âge ainsi que son année d’entrée à la
faculté.
- Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la même salle.
Chaque salle a une capacité (nombre de places) déterminée.
- On désire pouvoir calculer la moyenne par matière ainsi que par département.
- On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans
lesquelles il n’a pas été noté.
- Enfin, on doit pouvoir imprimer la fiche signalétique (Nom, prénom, tél, mail) d’un enseignant ou d’un
élève.
1. Elaborer le diagramme de classes correspondant, il doit inclure une relation de généralisation, une
relation d’agrégation et une classe association.
2. Tracer un diagramme d’objets correspondant au texte suivant :
L’étudiant Amine, âgé de 20 ans, suit les matières : Base de données, Langage C et Réseaux qui sont toutes
données dans la salle I5 de la faculté des Sciences. L’enseignant de la matière Base de données, Mr Tahar, est le
chef du département Informatique.
3. Traduire les contraintes suivantes en OCL :
Un étudiant doit au moins avoir 16 ans.
La matière `Algorithmique’ doit être donnée dans une salle de capacité supérieure ou égale à 100.
Un enseignant ne peut être chef que d’un seul département, s’il en est un.
Calculer la valeur (l’ensemble des matières) de la fonction ‘afficher matière sans note’ de la classe
étudiant.
Exercice 2 :
Élaborez le diagramme des cas d’utilisation d’une agence de voyage :
Pour organiser un voyage, l’agent doit réserver au client une chambre d’hôtel, lui réserver un billet d’avion ou
de train, lui réserver un taxi pour venir de l’aéroport ou de la gare. Certains clients peuvent demander une
facture plus détaillée.
Le diagramme doit contenir au moins 5 cas d’utilisation.
14
Année Universitaire : 2015/2016
OCL : (6 points)
1. Context Etudiant inv : age>=16
2. Context Matiere
inv : libelle = Algorithmique implies self.salle.capacite>=100
3. Context Enseignant inv : self.chef->size()<=1
4. Context Etudiant ::afficher_matiere_sansnote() :matiere
Post : result = self.note.matiere->select(m|m.note->isEmpty())
15
Exercice 2 :
Agence de voyages
Organiser un voyage
Points d’extension :
EtablirUneFacture
Agent de
voyage Condition : {à la demande du client} Réserver Réserver
« étend »
Point d’extension : EtablirUneFacture un billet un billet
de train d’avion
16
Année Universitaire : 2015/2016
Contrôle 2 en UML
(Durée : 1h30mn)
Exercice 1 :
On désire modéliser un système d’authentification d’utilisateurs souhaitant accéder à des documents
classifiés selon différents niveaux. Un scénario particulier de récupération d’un document classifié
«Confidentiel» par un utilisateur extérieur est le suivant :
– l’utilisateur se connecte au serveur d’authentification. Celui-ci lui demande alors son login et
mot de passe ;
– l’utilisateur envoie son login et son mot de passe crypté au serveur ;
– celui-ci vérifie alors que le login et le mot de passe sont corrects ;
– le serveur d’authentification indique au système que l’utilisateur est bien « valide » en
ouvrant une session sur le système pour l’utilisateur ;
– le système envoie un signal à l’utilisateur pour lui signaler qu’il est en attente d’une
commande de sa part ;
– l’utilisateur demande au système l’accès et la sauvegarde d’un document classifié sur son
compte (il précise le nom du fichier correspondant au document lors de la demande) ;
– le système demande le niveau de classification du document au serveur de fichiers le
contenant, puis vérifie que l’utilisateur est habilité à récupérer ce type de document grâce au
serveur d’authentification. Il renvoie ensuite le document à l’utilisateur.
Exercice 2 :
Modélisez avec un diagramme d’état-transition le comportement simplifié d’une fenêtre
d’application. Quand la fenêtre est créée, elle se met en état « ouverte » sur l’écran avec une taille
normale. Quand la fenêtre a une taille normale, on peut la repositionner ou redimensionner. Le
bouton « maximiser » permet de maximiser la fenêtre ou rendre la fenêtre « normale » quand elle
est déjà maximisée. Le bouton « minimiser » permet de réduire la fenêtre ouverte dans la barre des
tâches. Le bouton « fermer » permet de fermer complètement la fenêtre.
Exercice 3 :
On voudrait modéliser le service d’une entreprise dans son rôle de fournisseur de produits. Le service
est assuré par 4 départements de l’entreprise : département « affaires », département comptabilité,
département livraison et département achats. Le département affaires reçoit des commandes des
clients afin de les traiter.
Le client a deux façons pour payer sa commande : régler à la livraison ou régler à l’avance par carte
bancaire. Pour le deuxième cas, le département comptabilité s’occupera d’une étape supplémentaire
de vérification des informations de paiement. Si les informations sont erronées, la commande sera
annulée par le département affaires. Le client peut également annuler la commande à tout moment
avant de choisir le mode de paiement.
17
Si le mode de paiement est validé, le département livraison vérifie si les produits commandés sont
disponibles en stockage. Si oui, on prépare les produits pour la livraison. Sinon, on demandera au
département d’achats d’acheter les produits qui manquent. Pendant que le département livraison et
le département achats réalisent ces étapes, le département comptabilité prépare en même temps la
facture.
Une fois que les produits et la facture sont prêts, on livre les produits chez le client et on lui
demandera de régler la commande si le mode de paiement à la livraison a été choisi précédemment.
Modéliser ce problème avec un diagramme d’activités UML
18
Année Universitaire : 2015/2016
Exercice 1 :
19
Exercice 2 :
20
Exercice 3 :
21
Année Universitaire : 2015/2016
1. Le processus de formation est initialisé lorsque le responsable formation reçoit une demande de
la part d’un l’employé. Cette demande est instruite par le responsable qui la qualifie et transmet
son accord ou son désaccord à l’intéressé.
2. En cas d’accord, le responsable recherche dans le catalogue des formations agréées un stage qui
correspond à la demande. Il informe l’employé du contenu de la formation et lui propose une
liste des prochaines sessions. Lorsque l’employé a fait son choix, le responsable formation inscrit
le participant à la session auprès de l’organisme de formation concerné.
3. En cas d’empêchement, l’employé doit informer le responsable de formation au plus tôt pour
annuler l’inscription ou la demande.
4. A la fin de sa formation, l’employé doit remettre au responsable formation une appréciation sur
le stage qu’il a effectué, ainsi qu’un document justifiant de sa présence au stage.
5. Le responsable formation contrôle par la suite la facture que l’organisme de formation n’a pas
manqué de lui envoyer avant de la transmettre au comptable des achats.
Exercice 2 :
Le diagramme de classes de la figure suivante correspond au cahier des charges pour la gestion d’une
médiathèque.
3. Ajoutez à ce diagramme les cardinalités des associations.
4. Faîtes apparaître des associations d'héritage et d'agrégation ou composition.
22
23
Année Universitaire : 2015/2016
24
Exercice 2 : (8 points)
25
Année Universitaire : 2016/2017
Contrôle 1 en UML
(Durée : 1h30mn)
Exercice 1 :
Une Cité U est constituée d'un ensemble de bâtiments. Un bâtiment comporte un certain nombre de
chambres de type différent. La cité peut employer du personnel et est dirigé par l’un des employés.
Un employé peut travailler dans un ou plusieurs bâtiments. Chaque chambre de la cité se loue à un
prix donné, selon son type. Certaines chambres comportent une salle de bain, mais pas toutes. Les
hôtes de chambres sans salle de bain peuvent utiliser une salle de bain sur le palier. Ces dernières
peuvent être utilisées par plusieurs hôtes. Notons que les salles de bains sur palier font partie du
bâtiment.
Une personne peut louer une et une seule chambre et une chambre peut être louée par une ou deux
personnes.
1. Elaborer le diagramme de classes correspondant, il doit inclure une relation de
généralisation, une relation d’agrégation et une classe association. L’enrichir d’attributs qui
paraissent importants pour la suite.
2. Tracer un diagramme d’objets correspondant au texte suivant :
La Cité U de Rabat est dirigé par l’employé dont le nom est Mr Mahmoud. Cette cité est constituée
de 2 bâtiments, le bâtiment numéro A et le bâtiment numéro B. Mr Soulal travaille dans le bâtiment
B. Dans ce bâtiment, Ali occupe la chambre numéro 307 qui possède sa salle de bain et Saïd occupe
la chambre numéro 124 qui ne possède pas de salle bain mais peut utiliser la salle de bain numéro
SDB1 qui se trouve sur le palier.
3. Traduire les contraintes suivantes en OCL :
Un employé doit au moins avoir 18 ans.
Un bâtiment avec des chambres sans salle de bains doit posséder au moins une
salle de bain sur palier.
Définir une variable qui calcule le total des loyers des chambres d’un bâtiment.
Exercice 2 :
Considérons une station-service de distribution d'essence. Le client se fournit en carburant
pour sa voiture. Le pompiste choisit le type de carburant pour servir le client. Le pompiste
remplit aussi les réservoirs.
Certains pompistes sont aussi qualifiés pour effectuer la maintenance en plus de leurs
opérations habituelles. Ils sont donc réparateurs en plus d'être pompistes.
Modéliser ce système en un diagramme de cas d’utilisation. Ce diagramme doit comporter 3
acteurs.
26
Année Universitaire : 2016/2017
Diagramme de classe
OCL :
1. Context Employe inv : age>=18
2. Context Batiment inv : self.chambresansSDB->notEmpty() implies
self.salledebainPalier->notEmpty()
3. Context Employe inv : self.travaille.Batiment->size()<=3
def : totalLoyer : Integer = self.chambreavecSDB.LoyerS-
>sum()+self.chambresansSDB.Loyer->sum()
Exercice 2 :
27
Année Universitaire : 2016/2017
Contrôle 2 en UML
(Durée : 1h30mn)
Exercice 1 :
Un dispositif de contrôle d'accès par carte magnétique à un photocopieur est équipé d'un écran de
visualisation qui peut afficher les messages suivants :
• "INSEREZ VOTRE CARTE" lorsque le dispositif est inutilisé.
• "PATIENTER" pendant que le dispositif lit le code d'une carte introduite.
• "CARTE INVALIDE" lorsque le code n'est pas reconnu (illisible) ; la carte est alors automatiquement
éjectée.
• "COMPOSEZ VOTRE CODE" lorsque celui-ci a pu être lu.
• "CODE REFUSE" si le code composé n'est pas identique au code lu ; la carte est alors
automatiquement éjectée.
• "UTILISATION EN COURS" lorsque le code composé est correct.
L'utilisateur peut à tout moment actionner un bouton qui provoque l'éjection de la carte.
Après toute éjection de carte, le dispositif affiche "INSERER CARTE".
Proposer le graphe états-transitions du lecteur de carte.
Exercice 2 :
Un site de vente en ligne propose des produits qu’un utilisateur peut placer dans un panier virtuel.
Pour valider ses achats, l’utilisateur clique sur le bouton valider. On lui propose alors de se connecter
à un compte existant ou d’en créer un s’il n’en a pas encore.
Pour créer un nouveau compte, l’utilisateur doit fournir une adresse de messagerie, qui sert
également de login, son nom et son adresse, éventuellement une adresse de livraison et ses
coordonnées bancaires. Si la validation de ces informations réussit, on propose à l’utilisateur une
confirmation définitive de l’achat.
Elaborer le diagramme de séquences correspondant.
Exercice 3 :
Lors du démarrage d’une application par l'utilisateur, le système lui affiche le formulaire
d'authentification, après que le mot de passe soit saisit le système vérifie sa validité et affiche la page
d'accueil sinon il affiche un message d'erreur.
Elaborer le diagramme d’activités correspondant.
28
Année Universitaire : 2016/2017
Exercice 1 :
29
Exercice 2 :
Exercice 3 :
30
Année Universitaire : 2017/2018
Contrôle 1 en UML
(Durée : 1h30mn)
Exercice 1 :
Une entreprise de vente de matériel informatique souhaite gérer sa facturation. Elle doit
respecter les règles suivantes :
Exercice 2 :
Un client veut effectuer une commande sur un site d’e-commerce. Il suit pour cela le scénario
suivant :
31
Le client s'authentifie dans le système, il choisit une adresse et un mode de livraison. Le
système indique le montant total de sa commande au client. Le client donne ses informations
de paiement. Une fois, la transaction effectuée, le système en informe le client et lui propose
de lui envoyer un e-mail récapitulatif.
Donner le diagramme de cas d’utilisation de ce scénario en utilisant au moins 4 cas
d’utilisation, des relations d’inclusion et une relation d’extension.
32
Année Universitaire : 2017/2018
Exercice 1 :
Diagramme de classe :
Exercice 2 :
33
Année Universitaire : 2017/2018
Contrôle 2 en UML
(Durée : 1h30mn)
Etude de cas :
LOCAVITE est une association qui permet à divers propriétaires de mettre en location, à la
semaine, des appartements meublés. Elle publie annuellement un catalogue contenant les
appartements proposés par les propriétaires qui font partie de cette association. Les
appartements doivent répondre à un certain nombre de critères qualité qui sont vérifiés par
l’association lors de l'adhésion de l’appartement et une fois tous les trois ans lors d'une visite
de contrôle.
Le propriétaire reçoit tous les ans un catalogue des appartements, et peut modifier les
informations qui le concernent (prix, photos de son appartement, nombre de personnes, de
chambres, etc.).
LOCAVITE propose aux propriétaires qui le souhaitent, un service central de réservation pour
louer leurs appartements.
Tous les ans, les propriétaires qui veulent utiliser ce service signent un contrat avec
LOCAVITE, qui spécifie les périodes ouvertes à la location et la rémunération de la centrale
de réservation en pourcentage de chaque location.
Elaborer les diagrammes UML suivants : (il n’y a pas une unique modélisation, il faut
juste être précis et cohérent)
34
Année Universitaire : 2017/2018
2.
3.
35
4.
36
Année Universitaire : 2017/2018
Exercice 1 :
Dans le cadre de l’amélioration qu’elle veut apporter à son système d’information, une entreprise
souhaite modéliser, dans un premier temps, le processus de formation de ses employés afin que
quelques unes de leurs tâches soient informatisées.
6. Le processus de formation est initialisé lorsque le responsable formation reçoit une demande de
la part d’un l’employé. Cette demande est instruite par le responsable qui la qualifie et transmet
son accord ou son désaccord à l’intéressé.
7. En cas d’accord, le responsable recherche dans le catalogue des formations agréées un stage qui
correspond à la demande. Il informe l’employé du contenu de la formation et lui propose une
liste des prochaines sessions. Lorsque l’employé a fait son choix, le responsable formation inscrit
le participant à la session auprès de l’organisme de formation concerné.
8. En cas d’empêchement, l’employé doit informer le responsable de formation au plus tôt pour
annuler l’inscription ou la demande.
9. A la fin de sa formation, l’employé doit remettre au responsable formation une appréciation sur
le stage qu’il a effectué, ainsi qu’un document justifiant de sa présence au stage.
10. Le responsable formation contrôle par la suite la facture que l’organisme de formation n’a pas
manqué de lui envoyer avant de la transmettre au comptable des achats.
Exercice 2 :
Le diagramme de classes de la figure suivante correspond au cahier des charges pour la gestion d’une
médiathèque.
5. Ajoutez à ce diagramme les cardinalités des associations.
6. Faîtes apparaître des associations d'héritage et d'agrégation ou composition.
37
38
Année Universitaire : 2017/2018
39
Exercice 2 : (8 points)
40
Année Universitaire : 2018/2019
Contrôle 1 en UML
(Durée : 1h45mn)
Etude de cas :
a) Des compagnies aériennes proposent différents vols. On suppose qu’un vol n’est
proposé que par une seule compagnie. Et une compagnie aérienne est désignée par
son nom.
b) Un vol est ouvert à la réservation et refermé sur ordre de la Compagnie. Il est
caractérisé par un numéro de vol.
c) Un client peut réserver des places sur un ou plusieurs vols, pour des passagers
différents.
d) Une réservation concerne un seul passager sur un seul vol. Elle contient les
attributs numéro de réservation et date.
e) Une réservation peut être annulée ou confirmée.
f) Un vol a un aéroport de départ et un aéroport d'arrivée. On distingue un aéroport
par son nom et son état {ouvert, fermé}. (un aéroport peut être fermé pour travaux)
g) Un vol a une date et une heure de départ, une date et une heure d'arrivée.
h) Un vol peut comporter des escales dans des aéroports. On suppose qu’une escale
n’appartient qu’à un seul vol.
i) Une escale a une heure d'arrivée et une heure de départ.
j) Chaque aéroport dessert une ou plusieurs villes, et une ville est desservie par un ou
plusieurs aéroports. Une ville a un nom comme attribut.
41
Partie 2 : diagramme d’objets
Le client Saad, âgé de 20 ans, souhaite réserver pour lui même le 5 Novembre 2018, un vol de
Casablanca vers Paris, et affrété par la Royal Air Maroc. Ce vol est prévu le 20 Novembre
2018, et décolle à 15h30 de l’aéroport Mohamed V de Casablanca. Il fait escale à Marseille à
16h30 et redécolle après 30 minutes d’attente pour arriver à l’aéroport d’Orly de Paris à
17h30.
Partie 3 : OCL
On suppose que le système de réservation de vol peut être utilisé en ligne (par internet).
Tracer le diagramme des cas d’utilisation correspondant à un client voulant se servir de ce système.
Au moins 3 cas d’utilisation doivent être créés.
A noter qu’une réservation ne peut être modifiée mais doit-être annulée et le client doit réserver à
nouveau.
42
Année Universitaire : 2018/2019
Etude de cas :
43
Partie 2 : diagramme d’objets (4 points)
II. La date de départ d’un vol doit être supérieure à la date de sa réservation.
Context reservation
Inv : self.date < vol.datedepart
IV. Fermer les réservations des vols d’un aéroport dont l’état est «fermé ».
Context reservation
Inv : self.vol->select{v | depart.etat = ‘Ferme’ or arrivee.etat = ‘Ferme’}->isEmpty()
44
Partie 4 : Diagramme de cas d’utilisation (6 points)
45
Année Universitaire : 2018/2019
Contrôle 2 en UML
(Durée : 1h30mn)
Exercice 1 :
CTM est une société marocaine de livraison express à domicile. Le service Clientèle reçoit chaque
jour les clients qui désirent une livraison au Maroc ou à l'étranger. Ce service gère deux catégories de
paquets (chaque paquet est caractérisés par son identificateur et son poids) :
· les paquets légers ou lettres dont le poids est < à 2 kg, chaque lettre est identifiée par un numéro et
son poids.
· les paquets lourds ou colis dont le poids est > à 2 kg.
Le tarif est calculé en fonction du poids du colis et de sa destination avec un forfait de 10 DH si le
client opte pour un envoi avec accusé de réception. Le service Clientèle enregistre alors les
références des paquets client (coordonnées expéditeur + destinataire, poids, etc.) en ordinateur et
impriment un récépissé pour le client contenant son nom, prénom et son adresse. La facturation des
lettres à destination de Maroc sont gérés aussi par ce service. Si le paiement est effectué, le service
transmet le paquet au service Logistique pour l'acheminement. Il existe deux types de colis: colis à
destination de l'international et colis national. Les colis internationaux doivent respecter la
réglementation douanière et doivent donc faire l'objet de démarches plus lourdes qui rallongent leur
délai d'acheminement de 48h au moins et sont sur-facturés de 10%. En particulier, le client doit
remplir et signer une liasse de transport qui précise la nature et la valeur du contenu du (ou des)
paquets à acheminer. Le paquet, accompagné de ce document, est transmis au service Export de
l'entreprise.
Les paquets dont le poids dépasse les 20kg ou, dont le contenu est répertorié dans une liste de
marchandises (les marchandises sont caractérisées par une référence et un poids) bien définie par la
réglementation douanière, doivent subir des formalités avec les douanes marocaine, en liaison avec
le service Export. Le paquet ne peut être acheminé avant accord des douanes qui se matérialise par
un bordereau avec les références du paquet à acheminer et le montant de la taxe à la charge du
client. Le service Export de l'entreprise transmet alors l'information au service de facturation. Celui-ci
émet ensuite la facture finale à destination du client. Après règlement, le service Export en est
informé et transmet le paquet avec le bordereau des douanes au service Logistique qui se charge de
la livraison.
Décrire sous forme d'un diagramme de séquence la "gestion paquets".
Exercice 2 :
On considère une boîte de vitesses automatique de voiture. La boîte au démarrage est au point mort.
La marche arrière ainsi que la position parking peuvent être enclenchées à partir du point mort. La
première vitesse peut également être enclenchée à partir du point mort. En revanche, les autres
vitesses, la seconde et la troisième, sont enclenchées en séquence: 1->2->3 pour une accélération, et
3->2->1 pour une décélération. Seules la marche arrière, la position parking et la première vitesse
peuvent être ramenées directement au point mort.
46
Année Universitaire : 2018/2019
Exercice 2 : (5 points)
47
Année Universitaire : 2018/2019
Exercice 1:
Élaborez le diagramme des cas d’utilisation d’une agence de voyage :
Pour organiser un voyage, l’agent doit réserver au client une chambre d’hôtel, lui réserver un billet
d’avion ou de train, lui réserver un taxi pour venir de l’aéroport ou de la gare. Certains clients
peuvent demander une facture plus détaillée.
Le diagramme doit contenir au moins 5 cas d’utilisation.
Exercice 2 :
Un site de vente en ligne propose des produits qu’un utilisateur peut placer dans un panier virtuel.
Pour valider ses achats, l’utilisateur clique sur le bouton valider. On lui propose alors de se connecter
à un compte existant ou d’en créer un s’il n’en a pas encore.
Pour créer un nouveau compte, l’utilisateur doit fournir une adresse de messagerie, qui sert
également de login, son nom et son adresse, éventuellement une adresse de livraison et ses
coordonnées bancaires. Si la validation de ces informations réussit, on propose à l’utilisateur une
confirmation définitive de l’achat.
Elaborer le diagramme de séquences correspondant.
48
Année Universitaire : 2018/2019
Exercice 1:
Diagramme de cas d’utilisation :
include include
49
Exercice 2:
50
Année Universitaire : 2019/2020
Contrôle 1 en UML
(Durée : 1h45mn)
Exercice 1 :
Une académie souhaite gérer les matières dispensées dans plusieurs facultés. Pour cela, on dispose des
renseignements suivants :
- Chaque faculté possède comme attributs un nom et un site Internet.
- Chaque faculté est structurée en départements, qui regroupent chacun des enseignants spécifiques.
Parmi ces enseignants, l’un d’eux est responsable du département.
- Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son indice.
- Chaque enseignant n’enseigne qu’une seule matière. Chaque matière est caractérisée par son libellé
et un descriptif.
- Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle
lorsqu’elle a été évaluée.
- Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, âge ainsi que son année d’entrée à la
faculté.
- Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la même salle.
Chaque salle a une capacité (nombre de places) déterminée.
- On désire pouvoir calculer la moyenne par matière ainsi que par département.
- On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans
lesquelles il n’a pas été noté.
- Enfin, on doit pouvoir imprimer la fiche signalétique (Nom, prénom, tél, mail) d’un enseignant ou d’un
élève.
1. Elaborer le diagramme de classes correspondant, il doit inclure une relation de généralisation, une
relation d’agrégation et une classe association.
2. Tracer un diagramme d’objets correspondant au texte suivant :
L’étudiant Amine, âgé de 20 ans, suit les matières : Base de données, Langage C et Réseaux qui sont toutes
données dans la salle I5 de la faculté des Sciences. L’enseignant de la matière Base de données, Mr Tahar, est le
chef du département Informatique.
3. Traduire les contraintes suivantes en OCL :
Un étudiant doit au moins avoir 16 ans.
La matière `Algorithmique’ doit être donnée dans une salle de capacité supérieure ou égale à 100.
Un enseignant ne peut être chef que d’un seul département, s’il en est un.
Calculer la valeur (l’ensemble des matières) de la fonction ‘afficher matière sans note’ de la classe
étudiant.
Exercice 2 :
Élaborez le diagramme des cas d’utilisation d’une agence de voyage :
Pour organiser un voyage, l’agent doit réserver au client une chambre d’hôtel, lui réserver un billet d’avion ou
de train, lui réserver un taxi pour venir de l’aéroport ou de la gare. Certains clients peuvent demander une
facture plus détaillée.
Le diagramme doit contenir au moins 5 cas d’utilisation.
51
Année Universitaire : 2019/2020
Diagramme de classe
OCL :
1. Context Etudiant inv : age>=16
2. Context Matiere
inv : self.libelle = Algorithmique implies self.salle.capacite>=100
3. Context Enseignant
inv : (self.departement->select(d | d.chef = self))->size() = 1
Si un attribute est_chef est ajouté dans la classe Enseignant, et qu’il n’existe qu’une
relation de 1 à plusieurs entre département et Enseignant, voici la correction :
Context Enseignant
Inv : (self.Departement.Enseignant->select(e | e.est_chef = True)->size() = 1 and
52
(self.est_chef = True implies (self.Departement->select(d | d.enseignant->Exists(e |
e.est_chef = True and e = self)))->size() = 1 )
Exercice 2 :
include include
53
Année Universitaire : 2019/2020
Contrôle 2 en UML
(Durée : 2h)
Exercice 1 :
On désire modéliser un système d’authentification d’utilisateurs souhaitant accéder à des documents
classifiés selon différents niveaux. Un scénario particulier de récupération d’un document classifié
«Confidentiel» par un utilisateur extérieur est le suivant :
– l’utilisateur se connecte au serveur d’authentification. Celui-ci lui demande alors son login et
mot de passe ;
– l’utilisateur envoie son login et son mot de passe crypté au serveur ;
– celui-ci vérifie alors que le login et le mot de passe sont corrects ;
– le serveur d’authentification indique au système que l’utilisateur est bien « valide » en
ouvrant une session sur le système pour l’utilisateur ;
– le système envoie un signal à l’utilisateur pour lui signaler qu’il est en attente d’une
commande de sa part ;
– l’utilisateur demande au système l’accès et la sauvegarde d’un document classifié sur son
compte (il précise le nom du fichier correspondant au document lors de la demande) ;
– le système demande le niveau de classification du document au serveur de fichiers le
contenant, puis vérifie que l’utilisateur est habilité à récupérer ce type de document grâce au
serveur d’authentification. Il renvoie ensuite le document à l’utilisateur.
Exercice 2 :
Modélisez avec un diagramme d’état-transition le comportement simplifié d’une fenêtre
d’application. Quand la fenêtre est créée, elle se met en état « ouverte » sur l’écran avec une taille
normale. Quand la fenêtre a une taille normale, on peut la repositionner (la bouger sur l’écran) ou la
redimensionner. Le bouton « maximiser » permet de maximiser la fenêtre ou rendre la fenêtre «
normale » quand elle est déjà maximisée. Le bouton « minimiser » permet de réduire la fenêtre
ouverte dans la barre des tâches. Le bouton « fermer » permet de fermer complètement la fenêtre.
Exercice 3 :
On voudrait modéliser le service d’une entreprise dans son rôle de fournisseur de produits. Le service
est assuré par 4 départements de l’entreprise : département « affaires », département comptabilité,
département livraison et département achats. Le département affaires reçoit des commandes des
clients afin de les traiter.
Le client a deux façons pour payer sa commande : régler à la livraison ou régler à l’avance par carte
bancaire. Pour le deuxième cas, le département comptabilité s’occupera d’une étape supplémentaire
de vérification des informations de paiement. Si les informations sont erronées, la commande sera
annulée par le département affaires. Le client peut également annuler la commande à tout moment
avant de choisir le mode de paiement.
54
Si le mode de paiement est validé, le département livraison vérifie si les produits commandés sont
disponibles en stockage. Si oui, on prépare les produits pour la livraison. Sinon, on demandera au
département d’achats d’acheter les produits qui manquent. Pendant que le département livraison et
le département achats réalisent ces étapes, le département comptabilité prépare en même temps la
facture.
Une fois que les produits et la facture sont prêts, on livre les produits chez le client et on lui
demandera de régler la commande si le mode de paiement à la livraison a été choisi précédemment.
Modéliser ce problème avec un diagramme d’activités UML
55
Année Universitaire : 2019/2020
Exercice 1 :
Exercice 2 :
56
Exercice 3 :
57
Année Universitaire : 2019/2020
Exercice
Un site de vente en ligne propose des produits qu’un utilisateur peut placer dans un panier virtuel.
Pour valider ses achats, l’utilisateur clique sur le bouton valider. On lui propose alors de se connecter
à un compte existant ou d’en créer un s’il n’en a pas encore.
Pour créer un nouveau compte, l’utilisateur doit fournir une adresse de messagerie, qui sert
également de login, son nom et son adresse, éventuellement une adresse de livraison et ses
coordonnées bancaires. Si la validation de ces informations réussit, on propose à l’utilisateur une
confirmation définitive de l’achat.
Élaborer le diagramme d’activités correspondant.
58
Année Universitaire : 2019/2020
59
Année Universitaire : 2020/2021
Contrôle 1 en UML
(Durée : 1h30mn)
Exercice 1 :
Une entreprise de vente de matériel informatique souhaite gérer sa facturation. Elle doit
respecter les règles suivantes :
Exercice 2 :
Un client veut effectuer une commande sur un site d’e-commerce. Il suit pour cela le scénario
suivant :
Le client s'authentifie dans le système, il choisit une adresse et un mode de livraison. Le
système indique le montant total de sa commande au client. Le client donne ses informations
de paiement. Une fois, la transaction effectuée, le système en informe le client et lui propose
de lui envoyer un e-mail récapitulatif.
60
Donner le diagramme de cas d’utilisation de ce scénario en utilisant au moins 4 cas
d’utilisation, des relations d’inclusion et une relation d’extension.
61
Année Universitaire : 2020/2021
Exercice 1 :
Exercice 2 :
62
Année Universitaire : 2020/2021
Contrôle 2 en UML
(Durée : 1h30mn)
Exercice 1 :
CTM est une société marocaine de livraison express à domicile. Le service Clientèle reçoit chaque
jour les clients qui désirent une livraison au Maroc ou à l'étranger. Ce service gère deux catégories de
paquets (chaque paquet est caractérisés par son identificateur et son poids) :
· les paquets légers ou lettres dont le poids est < à 2 kg, chaque lettre est identifiée par un numéro et
son poids.
· les paquets lourds ou colis dont le poids est > à 2 kg.
Le tarif est calculé en fonction du poids du colis et de sa destination avec un forfait de 10 DH si le
client opte pour un envoi avec accusé de réception. Le service Clientèle enregistre alors les
références des paquets client (coordonnées expéditeur + destinataire, poids, etc.) en ordinateur et
impriment un récépissé pour le client contenant son nom, prénom et son adresse. La facturation des
lettres à destination de Maroc sont gérés aussi par ce service. Si le paiement est effectué, le service
transmet le paquet au service Logistique pour l'acheminement. Il existe deux types de colis: colis à
destination de l'international et colis national. Les colis internationaux doivent respecter la
réglementation douanière et doivent donc faire l'objet de démarches plus lourdes qui rallongent leur
délai d'acheminement de 48h au moins et sont sur-facturés de 10%. En particulier, le client doit
remplir et signer une liasse de transport qui précise la nature et la valeur du contenu du (ou des)
paquets à acheminer. Le paquet, accompagné de ce document, est transmis au service Export de
l'entreprise.
Les paquets dont le poids dépasse les 20kg ou, dont le contenu est répertorié dans une liste de
marchandises (les marchandises sont caractérisées par une référence et un poids) bien définie par la
réglementation douanière, doivent subir des formalités avec les douanes marocaine, en liaison avec
le service Export. Le paquet ne peut être acheminé avant accord des douanes qui se matérialise par
un bordereau avec les références du paquet à acheminer et le montant de la taxe à la charge du
client. Le service Export de l'entreprise transmet alors l'information au service de facturation. Celui-ci
émet ensuite la facture finale à destination du client. Après règlement, le service Export en est
informé et transmet le paquet avec le bordereau des douanes au service Logistique qui se charge de
la livraison.
Décrire sous forme d'un diagramme de séquence la "gestion paquets".
Exercice 2 :
On considère une boîte de vitesses automatique de voiture. La boîte au démarrage est au point mort.
La marche arrière ainsi que la position parking peuvent être enclenchées à partir du point mort. La
première vitesse peut également être enclenchée à partir du point mort. En revanche, les autres
vitesses, la seconde et la troisième, sont enclenchées en séquence: 1->2->3 pour une accélération, et
3->2->1 pour une décélération. Seules la marche arrière, la position parking et la première vitesse
peuvent être ramenées directement au point mort.
63
Année Universitaire : 2020/2021
Exercice 2 : (5 points)
64
Année Universitaire : 2020/2021
Exercice 1 :
Dans le cadre de l’amélioration qu’elle veut apporter à son système d’information, une entreprise
souhaite modéliser, dans un premier temps, le processus de formation de ses employés afin que
quelques unes de leurs tâches soient informatisées.
11. Le processus de formation est initialisé lorsque le responsable formation reçoit une demande de
la part d’un l’employé. Cette demande est instruite par le responsable qui la qualifie et transmet
son accord ou son désaccord à l’intéressé.
12. En cas d’accord, le responsable recherche dans le catalogue des formations agréées un stage qui
correspond à la demande. Il informe l’employé du contenu de la formation et lui propose une
liste des prochaines sessions. Lorsque l’employé a fait son choix, le responsable formation inscrit
le participant à la session auprès de l’organisme de formation concerné.
13. En cas d’empêchement, l’employé doit informer le responsable de formation au plus tôt pour
annuler l’inscription ou la demande.
14. A la fin de sa formation, l’employé doit remettre au responsable formation une appréciation sur
le stage qu’il a effectué, ainsi qu’un document justifiant de sa présence au stage.
15. Le responsable formation contrôle par la suite la facture que l’organisme de formation n’a pas
manqué de lui envoyer avant de la transmettre au comptable des achats.
Exercice 2 :
Le diagramme de classes de la figure suivante correspond au cahier des charges pour la gestion d’une
médiathèque.
7. Ajoutez à ce diagramme les cardinalités des associations.
8. Faîtes apparaître des associations d'héritage et d'agrégation ou composition.
65
66
Année Universitaire : 2020/2021
67
Exercice 2 : (8 points)
68
Année Universitaire : 2021/2022
Contrôle 1 en UML
(Durée : 1h30mn)
Exercice 1 :
Une académie souhaite gérer les matières dispensées dans plusieurs facultés. Pour cela, on dispose des
renseignements suivants :
- Chaque faculté possède comme attributs un nom et un site Internet.
- Chaque faculté est structurée en départements, qui regroupent chacun des enseignants spécifiques.
Parmi ces enseignants, l’un d’eux est responsable du département.
- Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son indice.
- Chaque enseignant n’enseigne qu’une seule matière. Chaque matière est caractérisée par son libellé
et un descriptif.
- Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle
lorsqu’elle a été évaluée.
- Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, âge ainsi que son année d’entrée à la
faculté.
- Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la même salle.
Chaque salle a une capacité (nombre de places) déterminée.
- On désire pouvoir calculer la moyenne par matière ainsi que par département.
- On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans
lesquelles il n’a pas été noté.
- Enfin, on doit pouvoir imprimer la fiche signalétique (Nom, prénom, tél, mail) d’un enseignant ou d’un
élève.
4. Elaborer le diagramme de classes correspondant, il doit inclure une relation de généralisation, une
relation d’agrégation et une classe association.
5. Tracer un diagramme d’objets correspondant au texte suivant :
L’étudiant Amine, âgé de 20 ans, suit les matières : Base de données, Langage C et Réseaux qui sont toutes
données dans la salle I5 de la faculté des Sciences. L’enseignant de la matière Base de données, Mr Tahar, est le
chef du département Informatique.
6. Traduire les contraintes suivantes en OCL :
Un étudiant doit au moins avoir 16 ans.
La matière `Algorithmique’ doit être donnée dans une salle de capacité supérieure ou égale à 100.
Un enseignant ne peut être chef que d’un seul département, s’il en est un.
Calculer la valeur (l’ensemble des matières) de la fonction ‘afficher matière sans note’ de la classe
étudiant.
Exercice 2 :
69
Année Universitaire : 2021/2022
Exercice 1 :
Diagramme de classe
OCL :
1. Context Etudiant inv : age>=16
2. Context Matiere
inv : libelle = Algorithmique implies self.salle.capacite>=100
3. Context Enseignant inv : self.chef->size()<=1
4. Context Etudiant ::afficher_matiere_sansnote() :matiere
Post : result = self.note.matiere->select(m|m.note->isEmpty())
70
Exercice 2 :
Agence de voyages
Organiser un voyage
Points d’extension :
EtablirUneFacture
Agent de
voyage Condition : {à la demande du client} Réserver Réserver
« étend »
Point d’extension : EtablirUneFacture un billet un billet
de train d’avion
71
Année Universitaire : 2021/2022
Contrôle 2 en UML
(Durée : 1h30mn)
Etude de cas :
LOCAVITE est une association qui permet à divers propriétaires de mettre en location, à la
semaine, des appartements meublés. Elle publie annuellement un catalogue contenant les
appartements proposés par les propriétaires qui font partie de cette association. Les
appartements doivent répondre à un certain nombre de critères qualité qui sont vérifiés par
l’association lors de l'adhésion de l’appartement et une fois tous les trois ans lors d'une visite
de contrôle.
Le propriétaire reçoit tous les ans un catalogue des appartements, et peut modifier les
informations qui le concernent (prix, photos de son appartement, nombre de personnes, de
chambres, etc.).
LOCAVITE propose aux propriétaires qui le souhaitent, un service central de réservation pour
louer leurs appartements.
Tous les ans, les propriétaires qui veulent utiliser ce service signent un contrat avec
LOCAVITE, qui spécifie les périodes ouvertes à la location et la rémunération de la centrale
de réservation en pourcentage de chaque location.
Elaborer les diagrammes UML suivants : (il n’y a pas une unique modélisation, il faut
juste être précis et cohérent)
72
Année Universitaire : 2021/2022
2.
3.
73
4.
74
Année Universitaire : 2021/2022
Exercice 1 :
Exercice 2 :
Un distributeur de boissons propose des boissons à des prix variables. La somme entrée est affichée.
Les pièces non valides sont refusées. Un bouton annulation permet d'annuler la demande c'est-à-dire
que la somme entrée est remboursée. La sélection ne sera acceptée que si la somme entrée est
suffisante. La disponibilité de la monnaie et des produits sera affichée à l’aide d’un voyant.
Écrire le diagramme de séquences du distributeur de boissons.
Exercice 3 :
Un dispositif de contrôle d'accès par carte magnétique à un photocopieur est équipé d'un écran de
visualisation qui peut afficher les messages suivants :
• "INSEREZ VOTRE CARTE" lorsque le dispositif est inutilisé.
• "PATIENTER" pendant que le dispositif lit le code d'une carte introduite.
• "CARTE INVALIDE" lorsque le code n'est pas reconnu (illisible) ; la carte est alors automatiquement
éjectée.
• "COMPOSEZ VOTRE CODE" lorsque celui-ci a pu être lu.
• "CODE REFUSE" si le code composé n'est pas identique au code lu ; la carte est alors
automatiquement éjectée.
• "UTILISATION EN COURS" lorsque le code composé est correct.
L'utilisateur peut à tout moment actionner un bouton qui provoque l'éjection de la carte.
Après toute éjection de carte, le dispositif affiche "INSERER CARTE".
Proposer le graphe états-transitions du lecteur de carte.
75
Année Universitaire : 2021/2022
Exercice 2 :
76
Année Universitaire : 2022/2023
Contrôle de TP en UML
(Durée : 45 minutes)
Exercice :
Au théâtre de la ville, on organise des spectacles tous les soirs. On vous propose de développer une
application permettant de gérer les troupes qui se déroulent au cours de chaque spectacle.
Une première analyse a permis de dégager ce qui suit :
Plusieurs troupes participent à un spectacle et viennent de différentes régions du pays. Chaque
troupe est constituée de plusieurs artistes.
L’administrateur de l’application s’occupera de la mise à jour des régions, des troupes et des artistes.
Le responsable des inscriptions introduit les troupes et leurs artistes dans l’application.
Chaque spectacle se déroule sur plusieurs journées, le responsable de la programmation saisit le
planning du spectacle de la façon suivante : il spécifie pour chaque troupe, les artistes et l’heure de
commencement de chaque troupe. Notez bien qu’il faut d’abord vérifier l’existence des troupes dans
le système avant de saisir un planning. Le responsable de la programmation peut aussi saisir les
troupes avec leurs artistes.
Les internautes peuvent consulter, sans se connecter au système, toutes les informations relatives
aux troupes et au planning des spectacles.
Tous les autres utilisateurs de ce système doivent s’authentifier avant de réaliser leurs actions.
L’authentification se déroule de la façon suivante :
Premièrement on saisit un login et un mot de passe, s’ils sont corrects alors le système affiche un
message de bienvenu sinon il affiche un message d’erreur. Si l’utilisateur dépasse trois tentatives
alors le système bloque l’utilisateur puis il lui envoie un message par mail.
77
Année Universitaire : 2022/2023
2.
78
79
Année Universitaire : 2022/2023
Exercice 1 :
Une entreprise de vente de matériel informatique souhaite gérer sa facturation. Elle doit respecter
les règles suivantes :
Chaque facture comporte un certain nombre de produits. Une quantité est associée à chacun des
produits d’une facture.
Un produit est désigné par un code et un libellé qui permet de l’identifier de manière plus claire.
On doit connaître les prix hors taxe des produits. Le montant TTC est calculé
La TVA applicable à chaque produit dépend de son type. Chaque produit dépend d’un type
produit. on connaît le libellé et le taux de TVA associé à chaque type produit.
Chaque facture ne concerne qu’un client. Un client est identifié par un numéro.
On distingue deux clients : les sociétés caractérisées par leur raison sociale et une adresse et les
personnes caractérisées par leur nom et une adresse également.
On doit pouvoir calculer le montant TTC et le montant HT des factures
Donnez un diagramme de classes pour représenter ces informations. Il doit contenir une classe
association, une agrégation faible et un héritage.
Exercice 2 :
Dans le cadre de l’amélioration qu’elle veut apporter à son système d’information, une entreprise
souhaite modéliser, dans un premier temps, le processus de formation de ses employés afin que
quelques unes de leurs tâches soient informatisées.
Le processus de formation est initialisé lorsque le responsable formation reçoit une demande de
la part d’un l’employé. Cette demande est instruite par le responsable qui la qualifie et transmet
son accord ou son désaccord à l’intéressé.
En cas d’accord, le responsable recherche dans le catalogue des formations agréées un stage qui
correspond à la demande. Il informe l’employé du contenu de la formation et lui propose une
liste des prochaines sessions. Lorsque l’employé a fait son choix, le responsable formation inscrit
le participant à la session auprès de l’organisme de formation concerné.
En cas d’empêchement, l’employé doit informer le responsable de formation au plus tôt pour
annuler l’inscription ou la demande.
A la fin de sa formation, l’employé doit remettre au responsable formation une appréciation sur
le stage qu’il a effectué, ainsi qu’un document justifiant de sa présence au stage.
Le responsable formation contrôle par la suite la facture que l’organisme de formation n’a pas
manqué de lui envoyer avant de la transmettre au comptable des achats.
80
Année Universitaire : 2022/2023
Exercice 1 : (8 points)
Diagramme de classe :
81
Exercice 2 : (12 points)
82
Correction
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
5 5 5 5 5 5 5
6 6 6 6 6 6 6 Contrôle 1 - Durée : 1 heure
7 7 7 7 7 7 7 2022/2023
8 8 8 8 8 8 8
←− Codez votre numéro d'étudiant ci-contre, et
9 9 9 9 9 9 9 écrivez votre nom et prénom ci-dessous.
Nom et prénom :
.............................................
Les questions faisant apparaître le symbole ♣ peuvent présenter zéro, une ou plusieurs bonnes
réponses. Les autres ont une unique bonne réponse.
Une èche noire / trait en pointillés Une èche noire / trait continu
Une èche pleine blanche / trait en pointillés Une èche pleine blanche / trait continu
Question 3 Dans le diagramme des cas d'utilisation, quel acteur sert le système ?
acteur secondaire acteur principal acteur derivé
Question 4 Une classe peut instancier des :
attributs méthodes objets variables
Question 5 Qu'est ce que le langage OCL pour UML ?
C'est un langage qui exprime des contraintes sur les attributs, méthodes, relations entre les
classes
C'est un langage qui permet de tracer les diérentes versions du diagramme
C'est un langage qui indique le nombre d'occurrences des classes
Correction
Association Héritage
Agrégation faible Composition / Agrégation forte
Question 8 Que signie la multiplicité 1..*?
Au moins un Exactement 1 Au plus un
Question 9 Quelle contrainte OCL permet d'aecter une valeur par défaut à un attribut ?
derive def init
Question 10 La relation en boucle sur la classe Produit est :
Une èche pleine noire / trait en pointillés Un losange plein noir / trait continu
Un losange plein blanc / trait continu Une èche pleine blanche / trait en pointillés
Correction
Question 18 Amine suit 3 cours. Combien d'objets correspondant au diagramme de classes suivant
sont à créer ?
4 3 2
Question 19 Entre une classe véhicule et une classe bateau, quel type de relation est adéquate?
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
5 5 5 5 5 5 5
7 7 7 7 7 7 7 2022/2023
8 8 8 8 8 8 8
←− Codez votre numéro d'étudiant ci-contre, et
9 9 9 9 9 9 9 écrivez votre nom et prénom ci-dessous.
Nom et prénom :
.............................................
Les questions faisant apparaître le symbole ♣ peuvent présenter zéro, une ou plusieurs bonnes
réponses. Les autres ont une unique bonne réponse.
Question 1 Un concepteur souhaite décrire l'architecture des codes source, des bibliothèques, des
diérents chiers exécutables ainsi que les liens entre eux, lors du développement d'un logiciel, alors il
doit utiliser un diagramme de :
Question 2 ♣ Quels sont les diagrammes dynamiques qui ne modélisent pas l'alternative?
Une transition peut ne pas changer un état Une action est déclenchée par un événement
Question 4 ♣ Pour représenter les messages dans un diagramme de collaboration, on doit indiquer:
Question 5 Quel est le nom du noeud de choix possibles dans un diagramme d'état-transition?
visualise l'organisation physique générale d'un système décrite en terme de composants logiciels
Question 7 Parmi les éléments modélisant un diagramme de séquence, UML dénit plusieurs types
de messages, quelle est la bonne réponse ?
Un état est une information instantanée qui doit être traitée sans plus attendre
Question 11 ♣ Une transition d'un état vers un autre se compose de plusieurs parties:
Question 12 Dans un diagramme d'état transition, pour représenter un état orthogonal on a besoin
de :
est une représentation simpliée d'un enchaînement de séquences se concentrant sur les échanges
de messages entre les objets
est une représentation séquentielle du déroulement des traitements et des interactions entre les
éléments du système ou de ses acteurs
permet de décrire les enchaînements possibles entre les scénarios préalablement identiés
Question 19 Quel élément montre le mieux la progression de l'équipe par rapport aux estimations
dans une approche agile ?