0% ont trouvé ce document utile (0 vote)
15 vues32 pages

Exercice corrigé UML - Analyse et Modélisation

Le document présente des exercices corrigés sur la méthodologie UML, incluant des études de cas sur divers systèmes tels que des guichets automatiques, des caisses enregistreuses et des logiciels pour l'industrie textile. Chaque exercice aborde l'analyse des besoins, la modélisation statique et dynamique, ainsi que des diagrammes de cas d'utilisation et de séquence. Il est destiné à aider les étudiants à comprendre et appliquer les concepts de la modélisation UML dans des contextes pratiques.

Transféré par

contact.hedy.now
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues32 pages

Exercice corrigé UML - Analyse et Modélisation

Le document présente des exercices corrigés sur la méthodologie UML, incluant des études de cas sur divers systèmes tels que des guichets automatiques, des caisses enregistreuses et des logiciels pour l'industrie textile. Chaque exercice aborde l'analyse des besoins, la modélisation statique et dynamique, ainsi que des diagrammes de cas d'utilisation et de séquence. Il est destiné à aider les étudiants à comprendre et appliquer les concepts de la modélisation UML dans des contextes pratiques.

Transféré par

contact.hedy.now
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

lOMoARcPSD|60714569

Exercice corrig és d'UML

Unified modeling language (Faculté des Sciences Aïn Chock (Casablanca))

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by hedyy belhej ali ([Link]@[Link])
lOMoARcPSD|60714569

Module : Méthodologie
UML
SMI 5
Exercices corrigés et sujets
d’examens
Pr. Mohamed RIDA

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Partie III : Point de vue dynamique (modélisation du comportement)


Sommaire ......................................................................................................16
Diagramme d’état-transition, diagramme de collaborations ....16
Sommaire ...................................................................................... 2
Diagrammes d’état-transition ...............................................16
Partie I. Analyse des besoins : ..................................................... 3
Exercice 1 : Montre digitale .................................................16
Diagrammes de cas d’utilisation, séquences et d’activités ........ 3
Solution : .........................................................................16
Exercice 1 : Guichet Automatique Bancaire ........................ 3
Exercice 2 : Publiphone ........................................................17
Solution : .......................................................................... 3
Solution : .........................................................................17
Exercice 2 : Caisse enregistreuse .......................................... 4
Diagrammes d’interaction ....................................................17
Solution : .......................................................................... 5
Exercice 1 : Bibliothèque .....................................................17
Exercice 3 : Logiciel d’industrie textile ................................ 5
Exercice 2 : Club vidéo.........................................................18
Solution : .......................................................................... 6
Partie IV. Etudes de cas et sujet d’examens ..............................19
Exercice 4 : Processus de formation des employés d’une entreprise
Etude de cas : Application de contrôle d'accès à un bâtiment19
................................................................................................. 6
Etude de cas : Gestion des chambres d’hôtel ......................21
Solution : .......................................................................... 7
Examen d’UML pour SMI 5 (2012-2013) ..........................21
Exercice 5 : Etablissement scolaire ....................................... 8
Examen d’UML pour SMI 5 (2015-2016) ..........................23
solution ............................................................................. 8
Questions de cours (2 pt): .....................................................23
Partie II : Modélisation statique (analyse du domaine) .............. 9
Examen d’UML pour SMI 5 (2017-2018) ..........................24
Diagramme de classe, diagramme d’objet, OCL........................ 9
Examen d’UML pour SMI 5 (2018-2019) ..........................25
Diagrammes de classes .......................................................... 9
Examen d’UML pour SMI 5 (2020-2021) ..........................27
Exercice 1 ............................................................................... 9
Corrigé : ...........................................................................28
Solution : .......................................................................... 9
Exercice 2 ............................................................................... 9
Solution : .......................................................................... 9
Exercice 3 : Système de réservation des vols ..................... 10
Solution : ........................................................................ 10
Exercice 4 :Entreprise de commerce ................................... 10
Solution : ........................................................................ 11
Exercice 5 : Composition & agrégation .............................. 11
Solution : ........................................................................ 12
Exercice 6 : Composition & agrégation .............................. 12
Diagrammes d’objets ........................................................... 13
Exercice 7 : ........................................................................... 13
Solution : ........................................................................ 13
Expression des contraintes (Langage OCL) ....................... 14
Contraintes OCL ............................................................ 15
2

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

5. Décrire à l’aide d’un diagramme de séquence le scénario


principal du cas d’utilisation : « retrait d’argent »
Partie I. Analyse des besoins : 6. A l’aide d’un diagramme d’activité décrire le cas d’utilisation :
« retrait d’argent »
Diagrammes de cas d’utilisation, séquences et Solution :
d’activités
1. Les acteurs du système sont :
 Porteur de carte (primaire)
 Agent de maintenance (secondaire)
 Système d’autorisation (secondaire)
2. Diagramme de contexte statique du système :
Exercice 1 : Guichet Automatique Bancaire

Cette étude de cas concerne un système simplifié de Guichet Automatique


de Banque GAB. Le GAB offre les services suivants :

1. Distribution d’argent à tout porteur de carte de crédit via un


lecteur de carte et un distributeur de billets
2. Consultation de solde de compte .
3. Imprimer l’historique des transactions de versement et de 3. :
retrait
N’oubliez pas que :
1. qu’il est parfois nécessaire réparer et de recharger le
distributeur par un agent de maintenance
2. récupérer les cartes avalées
3. le GAB communique directement avec le système
d’autorisation pour autoriser toutes les transactions effectuées
par un client avec sa carte de crédit.
À partir de ces phrases :
1. Identifier les acteurs et citer ceux qui sont primaires et ceux qui
sont secondaires.
2. Elaborer le diagramme de contexte statique du GAB 4. Le scénario principal du cas d’utilisation retrait d’argent :
3. Identifier les cas d’utilisation
4. Construire un diagramme de cas d’utilisation

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Cet exercice concerne un système simplifié de caisse enregistreuse de


supermarché.
Le déroulement normal d’utilisation de la caisse est le suivant :
 Un client arrive à la caisse avec des articles à payer.
 La caisse enregistre le numéro d’identification de chaque
article ainsi que la quantité si elle est supérieure à un.
 La caisse affiche le prix de chaque article et son libellé.
 Lorsque tous les achats sont enregistrés, le caissier signale la
fin de la vente.
 La caisse affiche le total des achats.
 Le client choisit son mode de paiement :
o Liquide : le caissier encaisse l’argent reçu, la caisse
indique la monnaie à rendre au client ;
5. o Chèque : le caissier vérifie la solvabilité du client en
transmettant une requête à un centre d’autorisation
via la caisse.
o Carte de crédit : un terminal bancaire fait partie de
la caisse. Il transmet une demande d’autorisation à
un centre d’autorisation en fonction du type de la
carte.

 La caisse enregistre la vente et imprime un ticket.


 Le caissier donne le ticket de caisse au client.

Après la saisie des articles, le client peut présenter au caissier des tickets
de réduction pour certaine articles. Lorsque le paiement est terminé, la
caisse transmet les informations sur le nombre des articles vendus au
système de gestion de stocks.
Tous les matins, le responsable du magasin initialise les caisses pour la
journée.

Questions :

Exercice 2 : Caisse enregistreuse 1. Identifier les acteurs du système et citer ceux qui sont primaires
et ceux qui sont secondaires.
4

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

2. Elaborer un diagramme de contexte.


3. Elaborer un diagramme de cas d’utilisation de la caisse
enregistreuse, n’hésiter pas à utiliser les relations entre cas 4)
d’utilisation pour rendre votre diagramme plus précis. 5)
4. A l’aide d’un diagramme d’activités, décrire les cas
d’utilisation identifiés.
5. Réaliser un diagramme de séquence système qui décrit le
scénario principal (avec succès) du cas d’utilisation : traiter le
passage en caisse ; en ne considérant que le paiement en cash.

Solution :
1)
2)

Exercice 3 : Logiciel d’industrie textile


3)

En vue de la mise en place d'un logiciel dédié à l'industrie textile, nous


étudions tout d'abord quelques fonctionnalités requises. Ce logiciel
s'adresse à différentes catégories d'utilisateurs, et doit servir
principalement à recueillir l'information sur les produits développés dans
l'entreprise.
Tous les personnels de l'entreprise peuvent consulter le système, soit pour
vérifier qu'un produit particulier existe, soit pour un parcours libre des
informations. Toute consultation doit être précédée d'une authentification
légère dans laquelle la personne précise son nom et son service à des fins
de statistiques ultérieures.
Les ingénieurs peuvent effectuer différentes opérations de mise à jour pour
les produits dont ils sont responsables : ajout, retrait, modification des
5

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

informations sur les produits. Ces opérations doivent être précédées d'une
authentification plus approfondie lors de laquelle l'ingénieur précise son
nom, son service et donne un mot de passe qui est vérifié en contactant le
système de gestion des personnels.
Toutes les opérations (consultation et mise à jour) donnent lieu à un Exercice 4 : Processus de formation des employés
enregistrement dans le journal des accès et peuvent optionnellement
s'accompagner d'une impression des documents accédés.
d’une entreprise
1. on identifiera les acteurs du système
2. dessiner le diagramme de contexte statique du système Dans le cadre de l’amélioration qu’elle veut apporter à son système
3. construire le diagramme de cas d'utilisation 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
Solution : tâches soient informatisées.
1) 2) 1. le processus de formation est initialisé lorsque le responsable
de formation reçoit une demande de formation de la part d’un
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 contenue de la formation et lui propose
une liste des prochaines. Lorsque l’employé a fait son choix, le
responsable de formation inscrit le participant à la session
auprès de l’organisme de formation concerné.
3) 3. en cas d’empêchement, l’employé doit informer le responsable
de formation au plutôt pour annuler l’inscription ou la
demande.
4. à la fin de sa formation, l’employé doit remettre au responsable
de formation une appréciation sur le stage qu’il a effectué, ainsi
qu’un document justifiant de sa présence.
5. le responsable de formation contrôle par la suite la facture que
l’organisme de formation lui a envoyé avant de la transmettre
au comptable d’achats.

Questions :

1) Dessiner un diagramme de contexte système qui montre le


système et ses acteurs (utiliser les stéréotypes).
6

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

2) Décrivez la dynamique du processus de formation au moyen


d’un diagramme d’activités.
3) Elaborer un diagramme de cas d’utilisation du système
informatique de gestion des demandes de formation
4) A l’aide d’un diagramme de séquence décrire le cas
d’utilisation : maintenir le catalogue

Solution :
1) Stéréotypes :

3)

4)

2)
Loop : possibilité de répétition
Alt : équivalent à switch case en c
Opt : présence d’une option que l’utilisateur pourrait choisir.
7

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Exercice 5 : Etablissement scolaire

Dans un établissement scolaire, on désire gérer la réservation des salles de


cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo
projecteur). Seuls les enseignants sont habilités à effectuer des
réservations (sous réserve de disponibilité de la salle ou du matériel). Le
planning des salles peut quant à lui être consulté par tout le monde
(enseignants et étudiants). Par contre, le récapitulatif horaire par
enseignant (calculé à partir du planning des salles) ne peut être
consulté que par les enseignants. Enfin, il existe pour chaque formation
un enseignant responsable qui seul peut éditer le récapitulatif horaire
pour l’ensemble de la formation.
solution

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Solution :
Partie II : Modélisation statique (analyse du
domaine)

Diagramme de classe, diagramme d’objet, OCL

Diagrammes de classes

Exercice 1

Considérons les phrases suivantes :


Exercice 2
1. Un répertoire contient des fichiers - Proposer une solution pour modéliser la phrase suivante : « un pays a une
2. Une pièce contient des murs capitale ».
3. Les modems et les claviers sont des périphériques - Proposer une solution qui permette de modéliser le système de gestion de
d’entrée/sortie fichiers suivant :
4. Une transaction boursière est achat ou une vente 1. les fichiers, les raccourcis et les répertoires sont
5. Un compte bancaire peut appartenir à une personne physique contenus dans des répertoires et possèdent un nom.
ou morale 2. un raccourci peut concerner un fichier ou répertoire.
6. Un homme et une femme peuvent être mariés. Solution :

Questions :
1. Déterminer la relation statique appropriée (généralisation,
composition, agrégation ou association) dans chaque phrase de
l’énoncé précédent.
2. dessiner le diagramme de classe correspondant.

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

7. un vol a un jour et une heure de départ et un jour et une heure


d’arrivée
8. un vol peut comporter des escales dans des aéroports
9. une escale a une heure d’arrivée et une heure de départ
10. chaque aéroport dessert une ou plusieurs villes.

Réaliser un diagramme de classes à partir de ces connaissances.

Solution :

Exercice 3 : Système de réservation des vols


Cette étude de cas concerne un système simplifié de réservation de vols
pour une agence de voyages.

Les interviews des experts métier auxquelles on a procédé ont permis de


résumer leur connaissance du domaine sous la forme des phrases
suivantes :
1. des compagnies aériennes proposent des vols.
2. un vols est ouvert à la réservation et fermé sur ordre de la Exercice 4 :Entreprise de commerce
compagnie
3. un client peut effectuer des réservations dans un ou plusieurs
Une entreprise de commerce souhaite informatiser sa situation actuelle.
vols, pour des passagers différents.
Celle-ci distribue des produits auprès des clients relevant des catégories
4. une réservation concerne un seul vol et un seul passager
différentes : grandes surfaces, supermarché, grossistes, détaillants,
5. une réservation peut annulée
collectivité, particuliers.
6. un vol a un aéroport de départ et un aéroport d’arrivée
10

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Ses caractéristiques commerciales sont les suivantes :


1 La clientèle est repartie en secteurs géographiques, un client Solution :
n’appartient qu’à un seul secteur,
2 Chaque secteur est couvert par des vendeurs auxquels sont
affectés à priori des clients qu’ils visitent régulièrement,
3 Un client peut être visité par plusieurs vendeurs
4 Une vente peut être réalisée par plusieurs vendeurs. Ceci est dû
au fait qu’un vendeur est spécialisé dans un type de produit,
5 Un type de produit peut, toutefois, être commercialité par
plusieurs vendeurs,
6 Le taux de commissionnement est fixé pour chaque vendeur en
fonction du client suivi.
7 Les produits sont commandés auprès des fournisseurs. Un
fournisseur est caractérisé par :
 Le code, le nom et l’adresse,
 Le prix, chez ce fournisseur, pour chaque
produit,
 Le délai des livraisons,
 La quantité minimum livrable par le
fournisseur pour chacun des produits. Exercice 5 : Composition & agrégation
8 Une vente est caractérisée par une facture client relative à
plusieurs produits et au(x) vendeur(s) qui a (ou qui ont) réalisé
la vente. La facturation fait intervenir les informations 6. Chaque région est constituée d'un ensemble de communes
suivantes : 7. Dans chaque région, il y a plusieurs villes, décrites par leurs
 Un numéro de la facture noms et populations
 La date de facture 8. Dans chaque ville, il y a plusieurs hôtels, qui ne sont pas
 Le montant total de la facture. représentés à cette échelle, mais décrits dans la base par leurs
En fin, une facture se traduit, tôt ou tard par, par un règlement reconnu par noms, et nombre d'étoiles
un numéro de règlement, une date et un montant. 9. Dans chaque région peuvent exister des lacs, décrits par leurs
L’entreprise impose à ces clients de régler une facture en une seule fois et noms et s'il y a de la pisciculture
qu’un règlement ne concerne qu’une seule facture. 10. Chaque lac peut se trouver sur le territoire d'une ou plusieurs
régions ou communes
Proposer un diagramme de classes pour le problème. 11. Dans chaque région, il y a des zones polluées dont il faut
connaître le type de pollution

11

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

12. Chaque zone polluée peut se trouver sur le territoire d'une ou


plusieurs régions. Des accords inter-régionaux ont permis leur
gestion commune.
13. Des espaces ruraux existent dans certaines régions, qui se Exercice 6 : Composition & agrégation
composent d'espaces cultivés (cultures décrites par leurs types
de culture et types de clôtures) et d'espaces non-cultivés
14. Un espace rural se trouve obligatoirement (administrativement) Le service du cadastre de la commune de Durdon gère son réseau d'eau
dans une seule région. Par conséquent, un espace qui potable, en particulier les conduites et les réservoirs qui alimentent les
chevaucherait deux régions sera représenté par deux objets. parcelles et les bâtiments.
15. Chaque ville est connectée à d'autres villes par des routes, mais Les bâtiments ont un numéro qui les identifie et une adresse. On souhaite
les routes sont gérées par les régions et donc s'arrêtent connaître le ou les propriétaires de ces bâtiments dont on stocke le
obligatoirement à la frontière de la région. Le point final d'une numéro, le nom, la liste des prénoms et l'adresse. On veut aussi conserver
route est alors le début d'une autre. la date d'achat d'un bâtiment par son propriétaire. Les bâtiments sont situés
16. L'ensemble des routes et des villes constitue un réseau routier. sur des parcelles identifiées par leur numéro.
Il y a autant de réseaux que de régions. Ces bâtiments peuvent avoir des compteurs d'eau. Ces compteurs ont un
17. Comme chaque ville est représentée par un polygone sur la diamètre et un nombre de chiffres, un numéro identifiant, une date de pose
carte, un point a aussi été choisi comme seconde représentation et une marque.
de la ville Les bâtiments peuvent être raccordés à des segments de conduite en eau
potable, qui possèdent un numéro, un secteur, une date de pose, un type de
matériau, l'état (bon, à réparer, à changer) et un diamètre. Notons que les
Établir un diagramme de classe segments sont numérotés par secteur. Il peut exister un même numéro de
Solution : segment pour deux secteurs différents ([Link]. on peut trouver un segment
numéro 441 dans les secteurs 16 et 28).
On distinguera les bâtiments selon les catégories suivantes : maison
individuelle, immeuble, bâtiment industriel). Les maisons individuelles
ont la particularité de n'être connectés qu'à un seul segment de conduite,
ou pas du tout. Les immeubles et les bâtiments industriels sont connectés à
un ou plusieurs segments.
Ces segments d'eau potable peuvent être desservis par un réservoir dont on
connaît le numéro, le volume, l'altitude et la date de construction. Ils
peuvent également être liés à des bornes hydrantes, qui ont un numéro, un
taux de pression et une date de pose.
Pour chaque segment d'eau potable, il est indispensable de connaître la
pression d'eau. Pour cela on devra être capable de trouver à travers le
réseau pour retrouver les segments connectés à un réservoir.
Même questions
12

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

 un repas complet est composé d’une entrée, d’un milieu et d’un


Diagrammes d’objets dessert.
 un plat est une entrée ou un milieu ou un dessert.
 la table 3 est une table du restaurant ;
 elle est vide.
Exercice 7 :  le thé est une boisson ;
 une boisson est soit du thé, soit de l’eau, soit du café.
Soit le texte suivant: l’eau est froide ; le café est chaud.
Une équipe d’informatique {est composée de} développeurs. Une équipe  le café va bien avec le dessert ;
{travaille pour} une entreprise. Une équipe possède un logo. Un  d’ailleurs le dessert contient du sucre.
développeur {possède} un ordinateur qui lui est personnel. Un Solution :
développeur peut être un programmeur ou un spécifieur. Les développeurs
réfléchissent.

1. On suppose que les associations correspondent aux mots {entre


accolades}. Dessiner un diagramme de classes. On utilisera
l’agrégation si cela est possible. On placera également les
multiplicités.
2. Dessiner un diagramme d’objets correspondant au texte suivant
:

Khalid et Mustapha sont des programmeurs. Hicham est un spécifieur. Ils


font partie de l’équipe « gereflehi » qui représente l’entreprise «
gertoupourvou ». Tous les développeurs utilisent un ordinateur.

Indiquer le type de relations présentes dans les bouts de phrases suivants :

 Roger est un restaurateur.


 il tient le restaurant « bacchus » qui est un restaurant.
 un restaurateur est une personne,
 donc roger est une personne.

13

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

mustapha : programmeur : ordinateur


utilise
khalid : programmeur L'atelier
appartient
utilise appartient
Un atelier se décrit par un nom, une adresse et une surface et se compose :
: ordinateur gereflechi : equipeInfo de points d'entrée (on les appellera dans la suite des sources), de points de
appartient
sortie (ou destinations), de points de contrôle (ou nœuds).
roger : restaurateur
hicham : specifieur
Les liaisons entre ces éléments sont réalisées par des tapis roulants. À
tient utilise chaque source est associée un unique chemin entre la source et une
bachus : restaurant
: ordinateur destination passant par un ou plusieurs nœuds. Un nœud peut appartenir à
table3 : table
- etatVide : Boolean = true
plusieurs chemins. Un tapis roulant appartient à un seul chemin et ne
roger : personne
fonctionne que dans un seul sens.

Les sources

Les caractéristiques associées à une source sont les suivantes : un numéro


d'identification, un délai entre l'envoi de deux paquets successifs. Les
Expression des contraintes (Langage OCL) sources émettent des paquets.
Les nœuds
Objectif :
Un nœud correspond à une machine dont l'objectif est de réaliser un
Le but de ce TD est de manipuler des contraintes OCL en partant d’un contrôle sur les paquets qu'elle reçoit et d'indiquer sur le paquet le résultat
diagramme de classes UML. La manipulation consistera en l’écriture de du contrôle. Le type de contrôle dépend du nœud et nécessite un temps
contraintes OCL vérifiant des spécifications liées au diagramme et de constant, spécifique du nœud, pour être réalisé. Un nœud ne peut traiter
juger de la correction d’expressions OCL (c’est-à-dire pouvoir juger si les qu'un seul paquet à la fois et on lui associe une file d'attente où sont
contraintes OCL en réponse à une spécification sont correctes ou non). Au entreposés les paquets en attente de contrôle. La taille de cette file est
cas où les expressions proposées sont incorrectes, expliquez pourquoi. fixée à la définition de l'atelier et dépend uniquement du nœud considéré.
Les caractéristiques associées à un nœud sont les suivantes : un numéro
Modélisation UML d'identification, une chaîne de caractères indiquant le type de contrôle
effectué (exemple "vérification de poids"), le temps de traitement d'un
Nous étudions la simulation d'un atelier d'usine totalement robotisé (bien paquet, une file d'attente. Les nœuds reçoivent, contrôlent et renvoient les
sûr parfaitement hypothétique). Cet atelier correspond à une fonction de paquets dans le circuit. Lors de la réception, le paquet est traité si le nœud
contrôle : les objets qui y transitent (appelés dans la suite paquets) doivent est libre, placé dans la file sinon. Lorsque la file d'attente est pleine, le
passer à différents postes de contrôle pour être validés et ensuite sortir de paquet tombe, il est alors considéré comme perdu (ou cassé).
l'usine.
14

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Les destinations 3 Spécification : Dans un chemin le premier tapis commence sur la


source du chemin et le dernier tapis finit par la destination.
Les caractéristiques associées à une destination sont les suivantes : • un
numéro d'identification, une structure de stockage des paquets reçus. Les
destinations reçoivent les paquets et les stockent dans leur structure de
stockage. Nous supposons qu'elles peuvent recevoir simultanément des
paquets de plusieurs chemins.

Contraintes OCL

Le principe est de vous proposer soit des spécifications et d’écrire les


contraintes OCL correspondantes, soit, étant donné des contraintes OCL
d’être capable de dire si ces dernières sont correctes ou non. Ainsi, vous
devrez analyser les contraintes proposées afin de trouver soit des erreurs
soit des arguments permettant de se convaincre de leur justesse.

Exprimer les contraintes suivantes en OCL :

1 Spécification : La surface d'un atelier est strictement positive.


2 Spécification : Lorsqu'un paquet est cassé, il n'appartient ni à la file
d'attente d'un nœud, ni au stock d'une destination.

15

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

1. le mode courant est le mode « affichage »


2. quand on appuie une fois sur le bouton mode, la montre passe
Partie III : Point de vue dynamique (modélisation en « modification heure ». chaque pression sur le bouton
du comportement) « avance » incrémente l’heure d’une unité ;
3. quand on appuie une nouvelle fois sur le bouton mode, la
Diagramme d’état-transition, diagramme de montre passe en « modification minute ». chaque pression sur
le bouton « avance » incrémente les minutes d’une unité.
collaborations 4. quand on appuie une nouvelle fois sur le bouton mode, la
montre repasse en mode « affichage »
Questions :
Diagrammes d’état-transition
1. Dessiner le diagramme d’états correspondant
2. ajouter le comportement suivant :
Exercice 1 : Montre digitale a. quand on appuie sur le bouton « avance » plus
Considérons un réveille-matin simplifié : de deux secondes, les heures (ou les minutes)
1. on peut mettre l’alarme « on » ou « off» ; s’incrémentent rapidement jusqu’à ce qu’il se
2. quand l’heure courante devient égale à l’heure d’alarme, produise un relâchement dans la pression du
le réveil sonne sans s’arrêter ; bouton.
3. on peut interrompre la sonnerie. b. Envisager plusieurs solutions possibles.

Questions : 3. Elaborer un diagramme d’états complet incluant tous les


 dessiner le diagramme d’états correspondant. comportements de la montre.
 Compléter le diagramme pour prendre en Solution :
compte le fait que la sonnerie du réveil
s’arrête d’elle même au bout d’un certain
temps.

Considérons une montre digitale simplifiée :

16

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Diagrammes d’interaction

Exercice 1 : Bibliothèque
Le diagramme de cas d'utilisation de la figure suivante modélise la gestion
simplifiée d'une bibliothèque.
Exercice 2 : Publiphone
Cette étude concerne un système simplifié de publiphone à pièces.
1. le prix minimal d’une communication interurbaine est de
2 DH
2. après l’introduction de la monnaie, l’utilisateur a 2
minutes pour composer son numéro
3. la ligne peut être libre ou occupée
4. le correspondant peut raccrocher le premier
5. le publiphone consomme de l’argent dès que l’appelé
décroche et à chaque unité de temps. Le fonctionnement de la bibliothèque est le suivant : une bibliothèque
6. ou peut ajouter des pièces à tout moment propose à ses adhérents des œuvres littéraires. Les œuvres peuvent être
7. lors du raccrochage, le solde de la monnaie est rendu. présentes en plusieurs exemplaires. Un adhérent peut
A partir de ces six phrases élaborer le diagramme d’états du publiphone. Emprunter jusqu’à trois livres.
Solution :
Questions :
17

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Ecrire à l'aide d'un diagramme de séquence, un scenario d'emprunt avec Exercice 2 : Club vidéo
succès. Considérer le système comme une boîte noire et ne pas chercher à
Le diagramme de séquence suivant décrit ce qui se passe lorsqu'un
montrer les objets au cœur du système.
adhérent du club Vidéo rend des cassettes pour une boutique.
On suppose à présent qu'un diagramme de classes a été construit. Le but
est à présent de montrer comment des objets au cœur du système
interagissent pour réaliser les fonctions des cas d'utilisation.
Le diagramme de classes est :

Il modélise la structure interne de la bibliothèque. Un adhérent peut


emprunter un exemplaire d'une œuvre donnée. L'emprunt se fait de la
façon suivante : l'opération emprunter de la classe Ouvre est invoquée
pour un adhérent donné en argument. S'il reste des exemplaires dans la Questions :
bibliothèque, l'un des exemplaires associes à l'œuvre est extrait via la 1. Paraphraser le diagramme de séquence.
méthode extraireExemplaire. Une instance de la classe Prêt est créée, puis 2. Ecrire ce diagramme sous forme de diagramme de collaboration.
l'exemplaire de la bibliothèque est attribué à l'adhérent grâce à l'invocation
de l'opération attribué.
Questions
1. La recherche de l'adhérent, la vérification d'autorisation d'emprunt et la
recherche de l'œuvre ont été exécutées, on dispose d'une instance
oeuvreTrouvee de type Ouvre et d'une instance adherentTrouve de type
Adhérent. Donner le diagramme de séquence
AttributionExemplaireAdherent qui illustre les dernières interactions de
l'emprunt d'un exemplaire.
2. Donner le diagramme de collaboration pour l'emprunt d'un exemplaire.

18

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

La définition des droits d'accès est effectuée en décrivant pour chaque


Partie IV. Etudes de cas et sujet d’examens groupe de personnes les différents groupes de portes qui sont accessibles
et sous quelle contrainte horaire. Les droits d'accès sont décrits dans un
calendrier annuel qui décrit la situation semaine par semaine. Le
Etude de cas : Application de contrôle d'accès à un superviseur configure alors le système selon ce calendrier. Cette étape
bâtiment comprend :
 la saisie des de tous les groupes des portes et des personnes
 La saisie de toutes les portes et tous les noms des personnes
Le but est de protéger un bâtiment dans un établissement d’enseignement qui accèdent au bâtiment.
supérieur en restreignant l'accès à certaines salles. Le bâtiment est divisé  L’affectation des droits d’accès pour chaque groupe de
en plusieurs zones : des salles de recherche, de travaux pratiques, de cours, personnes.
des amphithéâtres et des bureaux de l’administration.
Le site accueille environ 500 personnes tous les jours, en majorité des Le système de contrôle d'accès doit fonctionner de la manière la plus
étudiants, mais aussi des enseignants, des chercheurs, du personnel autonome possible. Le superviseur est responsable également de la mise à
administratif et technique, et ainsi de nombreux visiteurs. jour des différentes informations de définition des groupes de personnes et
Suite à la disparition d’objets divers, il a été décidé de restreindre les accès de portes :
à certaines salles au moyen de porte à fermeture automatique.  Il demande la liste des portes
 Le système affiche la liste des portes ou d’un groupe de portes
L'ouverture de chacune des portes de ces salles est commandée par un  Le superviseur fait son choix
lecteur de badges placé à proximité. Pour accéder à une salle particulière,  Le système affiche les informations concernant la porte ou le
la personne doit valider son badge auprès du lecteur. Celui-ci envoie une groupe de portes choisis.
requête au système pour vérifier le droit d’accès avant d’ouvrir la porte.  Le superviseur fait les modifications souhaitées.
Les badges qui permettent l'ouverture des portes ne sont délivrés qu'aux  Le système enregistre les informations.
personnes qui doivent accéder aux locaux protégés dans l'exercice de leurs (de même pour la modification des informations d’une personne)
fonctions. Les droits d'accès sont alloués entre les groupes de personnes et
les groupes de portes (par exemple des chercheurs peuvent accéder à des En plus, le superviseur peut effectuer des opérations telles que :
labos de recherche), de sorte qu'une personne ou une porte doit toujours  la recherche des portes franchissables par une personne
être au moins dans un groupe (le sien). donnée, le groupe de cette personne,
 les personnes d’un groupe,
Un groupe de portes peut contenir des portes dispersées dans tout le  modification d’accès d’un groupe de personnes à un groupe de
bâtiment. Une porte donnée ne peut appartenir qu'à un seul groupe de portes
portes.  modification des heures d’accès d’une semaine.
La même personne peut appartenir à plusieurs groupes, de sorte que ses  recherche des droits d’accès d’une personne etc.
droits d'accès correspondent à l'union des droits d'accès de chacun des
groupes qui la contiennent.
19

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Un gardien dispose d'un écran de contrôle et est informé des tentatives de


passage infructueuses. Celui-ci peut :
 forcer l’ouverture d’une porte particulière,
 déclencher l’alarme en cas d’incendie et ouvrir des issus de
secours.
Avant d’utiliser le système, il est nécessaire pour chaque utilisateur de
s’identifier.
Questions :
1. Décrire la vue des besoins (use case view) de ce système de contrôle
d'accès.
Cette analyse des besoins consiste à définir :
 les acteurs de ce système.
 le diagramme des cas d'utilisation du système.
 les scénarios principaux de chaque cas d'utilisation qui seront
décrits par des diagrammes de séquence.

20

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

personnes. Les prix des chambres dépendent des saisons de l’année (basse
saison, haute saison).
Réservation d’une chambre
Un utilisateur peut faire des réservations. Le système fournit une interface
au réceptionniste pour choisir une chambre correspondant aux besoins
d’un client (taille et type de chambre, et la période de réservation
demandée). Le coût de la réservation est indiqué. Le système garantit
qu’une chambre ne sera pas réservée par deux clients en même temps et
que le nombre de personnes spécifiées ne dépasse pas le nombre
maximum d’occupants.
Editer les réservations
Un administrateur peut obtenir une liste de chambres et le nombre de
réservations par chambre. Le système propose aussi de lister l’ensemble
des réservations pour une chambre donnée. En sélectionnant une chambre,
ou en tapant directement l’identifiant de la chambre, le système présente
un calendrier contenant les réservations (passées ou futures). Le calendrier
Etude de cas : Gestion des chambres d’hôtel des réservations doit permettre de connaître des informations comme les
noms des occupants, la durée de la réservation, et ce que ça leur coûtera. Il
doit être possible de supprimer une réservation si un client l’annule. Le
Le système étudié consiste à concevoir un système d’information de
système peut fournir une synthèse par chambre (son nom, le nombre de
gestion d’un hôtel. En quelques mots, l’utilisation du système doit
réservations effectuées sur une période et la recette correspondant à cette
permettre de réserver différents types de chambre d’hôtel sur certaines
chambre).
périodes et pour un certain nombre de personnes qui y seront hébergées. Il
y a des clients particuliers et des sociétés. Voici les besoins principaux du
Questions : mêmes questions que l’étude de cas précédente
système de réservation de chambres d’hôtel.
Information sur les chambres
Le système doit permettre de récolter des informations sur les chambres Examen d’UML pour SMI 5 (2012-2013)
disponibles à la réservation. Un administrateur peut créer de nouvelles
chambres, modifier certaines existantes, et en supprimer. Toute chambre Exercice 1.
est qualifiée par une catégorie, “chambre standard”, “chambre luxe” ou
“chambre business”. Voici des exigences (simplifiées) qui décrivent le fonctionnement du site
Des catégories pourront être ajoutées. Chaque chambre a un nom qui Internet Ebay :
permet aux employés de l’hôtel et les clients de l’identifier. Cela peut être  Tout internaute peut se créer un compte sous réserve qu’il
un simple numéro ou un nom comme : “La suite présidentielle”. Un prix à possède une adresse mail.
la nuit est associé à chaque chambre, ainsi qu’un nombre maximum de  Un internaute inscrit peut mettre en vente un ou plusieurs
articles.
21

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

 Le système permet de vendre les articles au prix le plus élevé Tout le monde a un rôle dans l'organisation des jeux : "juge à l’arrivée,
proposé par un internaute. chronométreur, juge de parcours…. " et pour des raisons pratiques sera
 Lorsque deux internautes ont finalisé une transaction, ils identifié par un N°Matricule. On gèrera aussi leur nom et leurs
laissent une information sur le déroulement de la transaction. coordonnées.
 A chaque mise en vente d’article, le vendeur paye un prix
forfaitaire de 10 DH à Ebay. Lors d’une transaction, c’est Chaque épreuve a lieu dans une des stations de la région. Une même
l’acheteur qui paye des frais à Ebay (5% du montant de la station dont on connaît le nom et l'altitude peut accueillir plusieurs
transaction). épreuves mais à des jours différents et du même type. A l'organisation
 Dans tous les cas les paiements s’effectuent par carte de crédit d'une épreuve sont affectés plusieurs responsables.
via le système PayPal (c’est un système qui permet le
payement de manière sécurisée sur Internet). Les responsables peuvent s'occuper de plusieurs épreuves. Ces dernières
 N’importe qui peut signaler le « mauvais » comportement d’un ont un Code alphabétique. Chaque épreuve fait partie d'une discipline et
internaute (transaction non honorée, …). L’administrateur du d'une seule. Elles se déroulent quelquefois en plusieurs manches (parties).
site peut alors, s’il le juge nécessaire, désactiver le compte de
l’internaute. Chaque concurrent représente un Pays et participe à une ou plusieurs
Questions : épreuves. Il peut pratiquer plusieurs disciplines. Dans les manches d'une
1) Identifiez les acteurs du système, citez ceux qui sont primaires épreuve il porte toujours le même numéro de dossard mais en change pour
et ceux qui sont secondaires. (2 pt) une autre épreuve.
2) Construire un diagramme de contexte. (3pt)
3) Construire un diagramme de cas d’utilisation complet pour le A l'issue de chaque manche, le système doit enregistrer, selon l’épreuve, le
système étudié. (4 pt) temps (Ski , …. ) ou le nombre de points de chaque concurrent.

Exercice 2. A la fin de l’épreuve, il mémorisera la place et éventuellement la médaille


(OR , ARGENT , BRONSE ) de chacun des athlètes.
Les Organisateurs des jeux Olympique d'hivers souhaitent s'équiper d'un
système informatique capable de gérer les épreuves, les concurrents et les On distinguera les concurrents hommes des femmes car les épreuves ne
Responsables. sont pas mixtes. Ils sont identifiés par un numéro d'inscription aux jeux et
ont un Nom, une date de naissance et des coordonnées. Tous les pays sont
Les personnes responsables des jeux se sont organisées de façon codifiés ( FR , GB , USA …. ).
hiérarchique. Au sommet de la pyramide se trouve un "Responsable
générale" dont dépendent des responsables de discipline (Ski alpin, 1) Construire un diagramme de classe pour le système. (8 pt)
patinage, Bobsleigh..). De ces derniers dépendent à leur tour des 2) Écrire le code en C++ des classes (3pt)
responsables moins importants, et ainsi de suite jusqu'à la personne de
base. Examen d’UML pour SMI 5 (2013-2014)

22

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

à acheminer. Le paquet, accompagné de ce document, est transmis au


Questions de cours : (4 pt) service Export de l'entreprise. La session de ce service reçoit alors la liste
de ces paquets et permet de gérer la relation avec les douanes. En
1) Donner les règles de génération du code (en java) à partir d’un particulier, l’application permet d’envoyer des demandes aux douanes
diagramme de classe. pour le traitement des paquets, la réponse consiste à donner la date du
2) Donner la description détaillée des éléments de modélisation contrôle. Le paquet ne peut être acheminé avant accord des douanes qui se
qui constitue un diagramme d’état-transition. 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
Exercice : (16 pt) l'entreprise transmet alors l'information au service Facturation. Celui-ci
émet ensuite la facture finale à destination du client. Après règlement, le
On souhaite réaliser une application pour une société de livraison express service Export en est informé et transmet le paquet avec le bordereau des
à domicile. L’application est destinée à être utilisée en Intranet pour gérer douanes au service Logistique qui se charge de la livraison.
le processus d’envoi des paquets. La société est composée de plusieurs Questions :
services, et chaque service utilise sa propre session pour gérer ses 1. Citer les acteurs primaires et secondaires du système. (1 pt)
activités. L’utilisation de l’application nécessite une authentification. 2. Construire un diagramme de contexte du système. (2 pt)
3. À l’aide d’un diagramme d’activité, décrire le processus
Le service clientèle reçoit les clients qui désirent une livraison dans le d’envoi d’un paquet par l’entreprise (utiliser les couloirs). (3
pays ou à l'étranger. Ce service gère deux catégories de paquets : pt)
1. les paquets légers ou lettres dont le poids est inférieur ou égal à 4. Construire un diagramme de cas d’utilisation. (3pt)
2 kg, 5. Décrire le scénario principal déclenché par le service clientèle
2. les paquets lourds ou colis dont le poids est supérieur à 2 kg. par un diagramme de séquence (utiliser les opérateurs
Le tarif est calculé en fonction du poids du colis et de sa destination avec d’interaction). (2 pt)
un forfait de 50 DH si le client opte pour un envoi avec accusé de 6. Etablir un diagramme de classe pour le système (accompagner
réception. Ce forfait n’est pas considéré pour les paquets à destination de votre diagramme des explications). (3 pt)
l’étranger. Le service Clientèle saisit alors les références des paquets 7. A partir de votre diagramme de classe générer, en Java, le code
client (coordonnées expéditeur + destinataire, poids, etc.) et impriment un de la classe « Paquet_Léger » (2 pt)
récépissé pour le client. La facturation des paquets légers ou à destination
du Maroc sont gérés aussi par ce service. Lorsque le paiement est effectué, Examen d’UML pour SMI 5 (2015-2016)
l’application doit permettre au service clientèle de transmettre toutes les
informations sur le paquet au service Logistique pour la livraison.
Les paquets lourds, à destination de l'international, doivent respecter la
réglementation douanière et doivent donc faire l'objet de démarches plus Questions de cours (2 pt):
lourdes qui prolongent leur délai d'acheminement d’au minimum 48h et
sont surfacturés de 10%. En particulier, le client doit remplir et signer un 1. Donner la définition d'une classe, d'un objet et d'un cas
document qui précise la nature et la valeur du contenu du (ou des) paquets d'utilisation.
23

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

2. Citer la différence entre un diagramme d'activité et un place une méthode de rayonnages qui nous permet de ranger rapidement et
diagramme d'état-transition. facilement les ouvrages. Ainsi, tous les exemplaires dont dispose la
Exercice : médiathèque sont fichés avec les informations suivantes : travée, étagère,
Un lycée veut réaliser une application pour la gestion informatisée de sa rayon. Nous enregistrons également le retour sur la fiche de l’emprunteur
médiathèque, qui fonctionne actuellement à l’aide de fiches cartonnées. Le »
bibliothécaire nous explique comment fonctionne la médiathèque:
« Nous disposons de plusieurs types d’ouvrages que nous avons séparés Questions:
dans des espaces différents de la médiathèque. Les adhérents peuvent
consulter sur place ou emprunter les différents supports : livres, cassettes 1. Construire un diagramme de cas d'utilisation pour système
vidéo et audio. Chaque œuvre dispose de renseignements en fonction de qu'on souhaite réaliser (3 pt).
son type. Pour les livres, nous notons le titre, le ou les auteurs (nom, 2. À l'aide de deux diagrammes de séquence, exprimer les deux
prénom, date de naissance), le nombre de pages, le numéro d’ISBN. Pour scénarios correspondant à l’emprunt d’un ouvrage et à son
les cassettes audio (opéra, film…), nous notons le titre, le ou les retour (3 pt).
compositeurs, les musiciens et la durée. Pour les cassettes vidéo, le titre, le 3. Construire un diagramme de classe pour le système (4 pt)
ou les réalisateurs, la durée sont enregistrés. Évidemment, certaines de ces 4. Générer le code des classes en C++ (sans préciser le code des
informations ne sont pas toujours disponibles (seul le titre est nécessaire fonctions set et get). (3 pt)
pour pouvoir établir la fiche d’une œuvre). Pour emprunter un ouvrage, il
est impératif d’être adhérent à la médiathèque. Pour devenir adhérent, il 5. Suite à la demande surélevée de certains supports, on souhaite
suffit de remplir une fiche qui contient les coordonnées du demandeur. réaliser une version améliorée de l'application afin d'offrir la
Celui-ci pourra alors emprunter (pendant un délai maximum de trois jours) possibilité d'effectuer des réservations en ligne.
jusqu’à trois ouvrages en même temps et éventuellement réserver des
ouvrages. Lors de l’enregistrement d’une demande d’emprunt d’un 6. Reconstruire le diagramme de cas d'utilisation pour prendre en
ouvrage, il y a en premier lieu vérification de l’appartenance de considération la réservation en ligne. (2 pt)
l’emprunteur à la médiathèque. Si le membre n’est pas adhérent, l’emprunt 7. Construire un diagramme d'état-transition de la classe "livre".
est refusé. Si l’emprunteur est adhérent, il y a comptage du nombre (3 pt)
d’ouvrages déjà empruntés. Le cumul du nombre d’ouvrages déjà
empruntés et du nombre d’objets dont l’emprunt est souhaité ne doit pas
dépasser 3. Si c’est le cas, l’emprunt est refusé. L’utilisateur a alors la Examen d’UML pour SMI 5 (2017-2018)
possibilité de ne pas emprunter autant d’ouvrages qu’il le souhaite, afin de
revenir sous la barre des 3 ouvrages « sortis ». Si toutes les conditions On souhaite développer un système d'information pour une centrale de
d’emprunt sont réunies, l’emprunt est accepté et enregistré sur la fiche de réservation hôtelière. Ce système devra permettre de réserver des
l’emprunteur et sur celles de chacun des ouvrages. Lorsqu’un adhérent chambres dans n'importe quel hôtel affilié à cette centrale.
nous rend un ouvrage, nous vérifions s’il n’a pas été détérioré. Si c’est le La recherche d'un établissement peut s'effectuer de deux manières: par un
cas, nous le réparons avant de le ranger. Nous enregistrons le retour de formulaire de recherche ou par choix dans une liste. Elle s'effectue selon la
chaque ouvrage sur sa fiche, puis allons le ranger. Nous avons mis en ville et/ou code postal et nombre d'étoiles. Dans le résultat de sa
recherche, le client peut voir le nom de l'établissement, le nombre
24

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

d'étoiles, la situation géographique (ville et code postal) et un lien pour renseigner les éléments suivants : coordonnées de l'hôtel, adresse e-mail,
voir la fiche de l'hôtel. La fiche descriptive comprend un numéro audiotel nombre d'étoiles, identifiant et mot de passe pour le gérant de l'hôtel.
qu'il peut appeler et effectuer sa réservation. À partir du moment où la
réservation est saisie par l'hôtelier, elle apparaît dans le module client Travail demandé :
permettant aux clients de consulter leurs réservations. Bien sûr, une
réservation peut-être annulée. Une réservation peut porter sur plusieurs a) Construire un diagramme de contexte du système. (3 pt)
chambres de plusieurs types (simple, double, etc.) qui sont toutes b) Donner un diagramme de cas d'utilisation afin de décrire le
réservées pour la même période (date d'arrivée et date de départ). fonctionnement souhaité du système. (4 pt)
c) Décrire à l’aide d’un diagramme de séquence le processus de
Une interface devra permettre à l'hôtelier de modifier les informations réservation d’une chambre. (2 pt)
concernant son hôte et de saisir les réservations (et leurs annulations
éventuelles). Cet espace hôtelier sera accessible par identification La société souhaite dans un deuxième temps intégrer à ce système une
(identifiant et mot de passe). fonction de réservation en temps réel par carte bancaire à travers le
système. Cette fonctionnalité requiert de la part des hôteliers la mise en
Le module client sera accessible par identifiant et mot de passe. Ces place d'un système de réservation en temps réel afin de pouvoir vérifier la
informations sont envoyées par e-mail au client lors de sa première disponibilité des chambres et il n'est pas envisageable pour le moment de
réservation via la centrale de réservation. Le système attribuera demander aux hôteliers non équipés d'avoir un tel système. La validation
automatiquement à chaque nouveau client (lors de la saisie d'une première de la réservation en temps réel nécessite d’abord la vérification de la
réservation par un hôtelier) un numéro de client, un identifiant et un mot solvabilité du client auprès d’un système d’autorisation bancaire.
de passe. A chacune de ses réservations, le client pourra rappeler son d) Rajouter dans le diagramme de cas d'utilisation donné en (b)
numéro de client afin que toutes ses réservations soient rattachées à un pour prendre en compte cette nouvelle fonctionnalité. (2 pt)
même numéro de client et donc consultables simultanément. S'il ne fournit e) Donnez le diagramme de classe complet correspondant à cette
pas son numéro de client lors d'une de ses réservations, il sera considéré application. (3 pt)
comme un nouveau client, c'est-à-dire qu'un nouveau numéro de client, un f) Générer le code en C++ de la classe "chambre". (2 pt)
nouvel identifiant et un nouveau mot de passe lui seront attribués pour la g) Donner le diagramme état-transition de la classe modélisant
réservation courante. une chambre. (2 pt)
Une interface d'administration du système doit également être prévue. Elle h) Donner un diagramme d’activité modélisant le processus de
doit permettre de voir le détail des informations sur un hôtel, de modifier réservation des chambres d’hôtels. (2 pt)
les informations sur l'hôtel, de le désactiver ou de le supprimer. La
suppression d'un hôtel supprime tous les éléments associés à cet hôtel. En
revanche, la désactivation ne supprime aucune information, elle permet
uniquement de ne pas afficher l'hôtel dans les résultats de recherche. Un Examen d’UML pour SMI 5 (2018-2019)
hôtel désactivé peut-être modifié, réactivé ou supprimé. Cette interface
doit également permettre l'ajout d'hôtels pour lesquels il faudra alors Question de cours:
1) Citer l'utilité de chaque diagramme UML (1,5 pt)
2) Expliquer l'architecture n-tiers (1,5 pt)
25

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

Exercice: o chaque tranche de 5 ans passés dans l'entreprise donne


On souhaite réaliser, pour le service de gestion du personnel d'une droit à 1 jour supplémentaire de congé,
entreprise, un logiciel informatique lui permettant de gérer ses employés, o les employés de plus de 40 ans ont un jour
leurs salaires et leurs congés. Les informations suivantes ont été recueillies supplémentaire, et ceux de plus de 50 ans deux.
auprès du responsable du service du personnel.
 pour chaque employé on cherchera à connaître le nombre total
 tout employé est identifié par un nom, un prénom et une date de jours de congés autorisés, le nombre de jours pris et le
de naissance ; nombre de jours restants sur l'année en cours.
 tout employé remplit une fonction et appartient à un service ;
 pour chaque employé on gère la date d'embauche et la quotité Cette application est destinée à être utilisée par le responsable du service
(c'est à dire le pourcentage de temps travaillé par rapport au du personnel, et aussi par les employés moyennant une authentification
temps plein en cas de travail à temps partiel. Par exemple: pour par login et mot de passe. Une interface Web doit permettre aux employés
une personne qui travaille à mi-temps sa valeur de quotité est de consulter leurs informations personnelles, et d'effectuer des demandes
0.5). de congé dans la limite du nombre total des jours du congé annuel.
 pour chaque employé on gère l'historique de ses salaires dans
o Le traitement d'une demande de congé commence lorsque
le responsable reçoit une demande de congé de la part
l'entreprise, chaque salaire étant affecté à une période de
d’un employé. Cette demande comporte la période
temps ;
souhaitée (date de début et date de fin);
 un salaire est composé d'un salaire brut, de charges patronales o La demande est traitée par le responsable qui la qualifie et
(charges assumées par l'employeur) et de charges salariales transmet son accord ou son désaccord à l’intéressé. En
(charges assumées par le salarié); cas d’accord, le responsable enregistre la demande et le
 {Exemple de charge: cotisation dans la caisse de retraite, système remet à jour le reste des jours de congé de
assurance maladie, maternité, TVA etc.} l'employé.
 on cherchera à partir des ces données à obtenir également le o En cas de refus, Il informe l’employé de la raison du rejet
salaire chargé (brut + charges patronales), et le salaire net (brut de sa demande.
- charges salariales).
 pour chaque employé, on mémorise chaque congé pris (un Questions
congé concerne toujours une ou plusieurs journées entières) ; 1. Construire un diagramme de contexte du système (1 pt)
2. Établir un diagramme de cas d'utilisation (3 pt)
 chaque employé a le droit aux jours de congés suivants : 3. Construire un diagramme de séquence pour trois cas
o 25 jours (pour une quotité de 1) et 25 x quotité sinon, d'utilisation selon votre choix (1,5 pt)
o chaque fonction ouvre les droits à un certain nombre de 4. Réaliser le diagramme de classes permettant de modéliser ce
jours de RTT (Le RTT est un acronyme qui signifie problème (3 pt)
Réduction du Temps de Travail). 5. Exprimer en langage OCL les contraintes citées dans le texte
o chaque service ouvre les droits à un certain nombre de (1,5 pt)
jours de RTT, 6. Générer les classes en C++ (2 pt)
26

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

7. À partir du diagramme de classe générer le modèle relationnel Le logiciel de gestion des réparations est destiné en priorité au chef
(c-à-d. les tables) (1,5 pt) d'atelier, il devra lui permettre d'ouvrir les fiches de réparations pour les
8. Construire un diagramme d'activité du processus de demande voitures et saisir le travail effectué par les divers employés de l'atelier.
de congé. (2 pt) Pour effectuer leur travail, les mécaniciens et autres employés de l'atelier
9. Proposer une architecture logicielle pour l'application (1,5 pt) vont chercher des pièces de rechange au magasin.
Lorsque le logiciel sera installé, les magasiniers fourniront des pièces pour
les véhicules en réparation; ils saisiront directement les pièces fournies
depuis un terminal installé au magasin (celui-ci fait partie du système
étudié).
Lorsqu'une réparation est terminée, le chef d'atelier va essayer la voiture.
Si tout est en ordre, il met la voiture sur le parc clientèle et bouclera la
fiche de réparation informatisée.
Les fiches de réparations bouclées par le chef d'atelier devront être
exportées à travers le système par l'agent comptable au logiciel de
comptabilité pour générer la facture. Tous les utilisateurs doivent
s'authentifier avant chaque utilisation du système.
Les voitures sont caractérisées par leurs matricules, marques, dates de
mise en circulation, les noms et les prénoms de leurs propriétaires. Pour
chaque réparation, il est important de conserver la date, le kilométrage de
Examen d’UML pour SMI 5 (2020-2021) la voiture, son état, les pièces changées et les réglages effectués.
Finalement, la facture caractérisant une réparation est reconnue par son
numéro, sa date et son montant.
Questions de cours : (2 pt) (Le système étudié= logiciel de gestion des réparations+terminal du
magasinier)
Donner la définition d'un cas d'utilisation, scénario, classe et objet. (2 pt) Questions :
1. Construire un diagramme de contexte du système. (2 pt)
Exercice : (18 pt) 2. Construire un diagramme de cas d’utilisation. (3pt)
3. A l’aide de diagrammes de séquence décrire le scénario
Une entreprise qui fait le commerce, l'entretien et les réparations de principal de chaque cas d’utilisation. (2 pt)
voitures désire exploiter un logiciel de gestion des réparations; elle dispose 4. À l’aide d’un diagramme d’activité, décrire le processus de
déjà d'un logiciel comptable. réparation des véhicules (2 pt)
Les factures de réparations seront imprimées et gérées par le logiciel 5. Établir un diagramme de classe pour le système. (3 pt)
comptable. Le logiciel de gestion des réparations devra communiquer avec 6. À partir de votre diagramme de classe générer, en C++, le code
le logiciel comptable pour lui transmettre les réparations à facturer. des classes. (3 pt)

27

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

7. Établir le modèle relationnel (c.à.d. les tables) à partir du Scénario avec succès du cas d’utilisation : Demande de
diagramme de classe de la question 5. (3 pt) rendez-vous
Corrigé :

1. Construire un diagramme de contexte du système. (2 pt)

( ajouter les autres)

4. À l’aide d’un diagramme d’activité, décrire le processus de


2. Construire un diagramme de cas d’utilisation. (3pt) réparation des véhicules (2 pt)

5. Établir un diagramme de classe pour le système. (3 pt)


3. A l’aide de diagrammes de séquence décrire le scénario
principal de chaque cas d’utilisation. (2 pt)

28

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

String marque;
Date date_mise_en_circ;
Proprietaire * le_proprietaire ;
List<Reparation*> les_reparations;

public:
//fonction set et get

};
6. À partir de votre diagramme de classe générer, en C++, le code
des classes. (3 pt)
class réparation {
class Propriétaire {
String cin;
String num_rep;
String nom;
Date date_RV;
String telephone;
Date date_reception;
List<Vehicule*> vehicules;
int Kilometrage;
Boolean état_véhicule;
public:
Date date_restitution;
//fonction set et get
Vehicule * le_vehicule ;
};
Facture * la_facture ;
class Véhicule {
List<Pièce *> pieces_rechange ;
String matricule;

29

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

List<Reglage*> les_reglages_effecues public:


public: //fonction set et get
//fonction set et get
};
}; class Pièce {
class Facture { string réference;
String nom;
String num; Reparation * la_reparation_concernée ;
Date date_facture; public:
float montant; //fonction set et get

List<Reparation*> };
les_reparations_facturés;
7. Établir le modèle relationnel (c.à.d. les tables) à partir du
diagramme de classe de la question 5. (3 pt)
public:
//fonction set et get Propiétaire(cin, nom, tel)
Véhicule (matricule, marque, date_mise_en_circ, cin*)
Réparation(num_rep, date_RV, date_reception,
}; date_restituion, kilométrage,
état_véhicule, matricule*, num_facture*)
class Réglage {
string num; Pièce(reference, nom, num_rep*)

string nom; Réglage(num, nom, num_rep*)


Reparation * la_reparation_concernée ;

30

Downloaded by hedyy belhej ali ([Link]@[Link])


lOMoARcPSD|60714569

31

Downloaded by hedyy belhej ali ([Link]@[Link])

Vous aimerez peut-être aussi