Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Section: Matricule: Nom: Prénom:

UMONS – Examen de modélisation logicielle – première session 2021-2022

Question 1 [diagrammes de cas d’utilisation]


Considérez le diagramme de cas d’utilisation suivant modélisant le système d’un guichet automa-
tique bancaire.

--------- gener even


-
(Lexlend>>
extension point [eneur Sente)
Ceu Eneem

Ejecter carte
·3 -

- -

-Extension part
Ejectur Carte Gener
'
even
a resar
exlends
[Evreu
communication
reseau)
Cerer Ener
besou

F IGURE 1: Diagramme de cas d’utilisation partiel pour un guichet automatique bancaire.

(A) Expliquez la flèche entre les acteurs Client et Porteur de carte. Que représente cette flèche ?
Comment doit-elle être interprétée dans le contexte spécifique de ce diagramme de cas d’utilisa-
tion ?
porteur de carte mais un
C'est
fleche spécialisation Cela signific que Client est
.

un un
une de

pater de carte n'est pas forcement un client


.

2
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

(B) Supposons que pour effectuer des opérations de maintenance, le technicien doit éteindre la
Visual Paradigm Standard(tommens(University of Mons))

machine, et à la fin de la maintenance il doit redémarrer la machine. Laquelle des trois solutions
Visual Paradigm Standard(tommens(University of Mons))

suivantes vous semble modéliser cela au mieux ? Justifiez votre choix !


Visual Paradigm Standard(tommens(University of Mons))
Actor5
Actor5
Guichet Automatique Bancaire
Guichet Automatique Bancaire
Actor5
Eteindre <<Include>>
Eteindre < <Guichet
I n c l u d eAutomatique
>> Bancaire
Maintenance
Maintenance
Eteindre
Redémarrer <<Include>>
<<Include>> Technicien
Redémarrer <<Include>> Technicien
Maintenance

1– Redémarrer <<Include>> Technicien

Guichet Automatique Bancaire


Guichet Automatique Bancaire
<<Extend>>
<<Extend>>
[before starting maintenance]
Eteindre [before starting maintenance]
Guichet Automatique Bancaire
Eteindre <<Extend>>
Maintenance
[before starting maintenance]
Eteindre Maintenance
extension points Technicien
extension points Technicien
Maintenance
Eteindre
Eteindre
Redémarrer
extension points
Redémarrer Technicien
Eteindre
Redémarrer Redémarrer
Redémarrer
<<Extend>>
<<Extend>>
[when maintenance finished]
Redémarrer
[when maintenance finished]
2–
<<Extend>>
[when maintenance finished]
Guichet Automatique Bancaire
Guichet Automatique Bancaire
Guichet Automatique Bancaire
Maintenance
Maintenance Redémarrer
Redémarrer Eteindre
Eteindre
Maintenance
<<Include>>
<<Include>> <<<<I Innccl ul uddee>>>>
Redémarrer Eteindre
<<Include>> <<Include>> Technicien
Technicien
Technicien
3–

(C) Complétez le diagramme de la figure 1 avec des cas d’utilisation supplémentaires ainsi que
des liens de ⌧ include , ⌧ extend et spécialisation où c’est approprié :
1. Le use case Retirer argent devrait être considéré comme un type de transaction bancaire,
tout en restant la seule transaction bancaire disponible pour le porteur de carte.
2. Le client devrait pouvoir annuler les transactions bancaires qu’il est en train d’effectuer. En
cas d’annulation, sa carte sera éjecté par la machine.
3. Actuellement, seulement un type d’erreur (erreur réseau) est modélisé pour le système. Le
système devrait pouvoir gérer différents types d’erreurs :
(a) une erreur lors de la communication avec le réseau bancaire ;
(b) un problème avec la fente pour déposer de l’argent ;

3
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Question 2 [Diagramme d’activités]


Utilisez la notation des diagrammes d’activités pour modéliser le flux de contrôle du pro-
cessus présenté dans l’énoncé ci-dessous. Modélisez également dans ce diagramme le flux de
données entre les activités et les objets produits et consommés par les activités.

Énoncé. Un membre de personnel UMONS souhaite commander un produit. Pour ce faire, il


vérifie si le produit est disponible dans le catalogue en ligne d’au moins un des deux fournisseurs
privilégiés du “marché public”. Si c’est le cas, il choisit le fournisseur offrant le produit au prix le
plus bas. Si le produit n’est pas disponible dans les catalogues en ligne, il demande par e-mail une
offre de prix aux deux fournisseurs privilégiés, avec un délai de réponse d’une semaine maximum.
S’il obtient au moins une offre de prix avant ce délai, il sélectionne le fournisseur proposant le
meilleur prix. Si aucun fournisseur ne peut offrir le produit, le processus s’arrête.
Si une offre a été obtenue (par le catalogue ou par e-mail), le demandeur saisit un bon de
commande en ligne via l’application web de l’UMONS prévue à cet effet, précisant le fournisseur,
le produit et son prix, correspondant à l’offre au meilleur prix. Il joint au bon de commande la
preuve de l’offre, précise le compte interne à débiter, et confirme la commande.
Le service comptable reçoit toute commande confirmée, et la valide si le compte interne
présente un solde suffisant et si les règles du marché public ont été respectées. Dans le cas
contraire, la commande est refusée et renvoyée au demandeur pour modification ou annulation.
Le fournisseur reçoit toute commande validée par le service comptable, et en parallèle il envoie
le produit et la facture au demandeur. Si le demandeur a bien reçu le produit en bon état de
fonctionnement, il valide la facture, sinon il la refuse.

Utilisez tous les concepts de la notation des diagrammes d’activités qui vous semblent utiles :
les couloirs, les activités, le flux de contrôle entre activités, les activités initiales et finales, les
conditions, les signaux entrantes et sortantes, les forks et joins (pour modéliser le parallélisme),
les interruptions, les objets, le flux de données entre activités et objets, ...

4
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Question 3 [statechart]

F IGURE 2: Statechart.

Considérez le statechart de la figure 2, contentant un état composite Super avec deux sous-
états SubA et SubB et un état historique. Le statechart utilise deux variables locales a et b de type
integer. Le statechart écoute à des évenements temporelles (notamment every 1s et after 3s)
ainsi que les événements e et f.
Terminologie : Dans les questions qui suivent, en entend par configuration d’un statechart la
superposition de tous les états dans lesquels le statechart se trouve (par exemple, Super:SubA ou
Super:SubB), ainsi que l’ensemble de toutes les valeurs des variables locales du statechart (par
exemple, a=1 et b=1).

5
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Complétez le tableau suivant avec le comportement dynamique (c.-à-d. tous les changements
de la configuration du statechart, à la fois au niveau des états et des variables). Vous pouvez
considérez que les étapes (1), (2), (3) et (4) s’enchainent.

Superposition Valeurs des va- Justification de votre réponse


d’états riables

(1) Configuration de départ a=


après initialisation
du statechart b=

(2) Après 2 secondes a=


depuis la configuration (1),
suivi par le traitement b=
de l’événement e

(3) Après 2 secondes a=


depuis la configuration (2)
b=

(4) Après 1 seconde a=


depuis la configuration (3),
suivi par le traitement b=
de l’événement f

6
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Question 4 [diagrammes de classes]

Créez un diagramme de classes modélisant l’énoncé suivant :


1. Un conteneur (anglais : Container) est toujours lié à une image de base (anglais : Base
Image). La même image de base peut être utilisée par un nombre quelconque de conte-
neurs.
2. Un conteneur peut contenir des répertoires (anglais : Folder) et ne peut pas être vide, ce
qui implique qu’un conteneur doit contenir au moins un répertoire.
3. Un répertoire peut contenir des fichiers (anglais : File) et/ou d’autres sous-répertoires. Un
répertoire peut également être vide.
4. Un fichier possède toujours un contenu de type String.
5. Les conteneurs, images de base, répertoires et fichiers sont des éléments nommés (an-
glais : Named Element), ce qui signifie qu’ils doivent tous avoir un d’attribut name de type
String.
6. Les fichiers et répertoires doivent être étiquetés avec un thème (anglais : Theme) spécifique.
Les thèmes peuvent avoir des sous-thèmes.
7. Tout ce qui est stocké dans un répertoire doit avoir le même thème que le répertoire, ou un
sous-thème.
8. Un élément stocké dans un répertoire peut être déplacé d’un niveau vers le haut ou vers le
bas (vers le répertoire parent ou un sous-répertoire spécifique), tant que les contraintes sur
les thèmes sont respectées. Prévoyez des opérations permettant de réaliser ces déplacements.
9. Un fichier ou répertoire peut être supprimé, tant que cela respecte les contraintes (un
répertoire ne peut pas être supprimé s’il contient encore des éléments ; ou si à cause
de cette suppression le conteneur devient vide). Prévoyez des opérations permettant de
réaliser cette suppression.

Dans votre diagramme de classes, il est obligatoire de modéliser de manière correcte (en cohérence
avec l’énoncé) toutes les relations entre classes (c.-à-d. les spécialisations, associations, compo-
sitions et agrégations) ainsi que toutes les multiplicités de chaque côté de chaque relation. Pour
chaque classe, précisez s’il s’agit d’une classe abstraite ou non, et ajoutez leurs opérations et
attributs (en précisant les types des attributs et opérations). Si certaines contraintes imposées
par l’énoncé ne sont pas représentables avec la notation du diagramme de classes, vous pouvez
ajouter une note (commentaire UML) précisant la contrainte en langue naturelle.

7
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Pour vous aider à trouver une solution, un diagramme d’objets conforme au diagramme de
classes que vous devez concevoir est présenté dans la figure 3.

F IGURE 3: Exemple d’un diagramme d’objets qui doit être conforme à votre diagramme de classes
à concevoir.

8
Section: Matricule: Nom: Prénom:
UMONS – Examen de modélisation logicielle – première session 2021-2022

Question 5 [diagrammes de séquences]


Sur base du diagramme de classes constituant votre solution à la question précédente, créez
un diagramme de séquence. Ce diagramme démarre par un message moveFilesDown(target)
envoyé vers un objet source de type Folder. Le message aura comme résultat de prendre, un
par un, chaque fichier contenu dans le répertoire source, afin d’essayer de le déplacer dans le
répertoire target. Ceci est possible uniquement si le fichier est étiqueté par le même thème ou un
sous-thème du répertoire target, et si target ne contient pas déjà un fichier portant le même nom
que le fichier qu’on souhaite déplacer.
Un canevas partiel du diagramme de séquence est déjà présenté ci-dessous. À vous de le
compléter avez des messages, objets, fragments combinés et tout autre concept nécessaire pour
réaliser une solution complète et cohérente.

Vous aimerez peut-être aussi