UNIVERSITE DE LA MANOUBA
-----¤¤¤¤-----
ECOLE NATIONALE DES SCIENCES DE
L'INFORMATIQUE
Matière : ACOO
Niveau : I.I. 2
A.U. : 2013-2014
Correction de la série N°4: Modélisation
dynamique
Exercice 1
Le déroulement normal du cas d’utilisation de retrait d’argent auprès d’un distributeur
automatique de billets est le suivant :
• le client introduit sa carte bancaire
• la machine vérifie alors la validité de la carte et demande le code au client
• si le code est correct, elle envoie une demande d’autorisation de prélèvement au système
d’autorisation de la banque. Ce dernier renvoie le solde autorisé à prélever.
• le distributeur propose alors plusieurs montants à prélever
• le client saisit le montant à retirer après contrôle du montant par rapport au solde autorisé, le
distributeur demande au client s’il désire un ticket
• Après la réponse du client, la carte est éjectée et récupérée par le client
• les billets sont alors délivrés (ainsi que le ticket)
• le client récupère enfin les billets et son ticket.
Advertisement
Travail à faire
Modélisez cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que le cas
où tout se passe bien.
Exercice 2
Un club de sport souhaite utiliser un logiciel pour faire la gestion de ses différentes activités :
inscription des membres, inscriptions aux cours, facturation, calcul de statistiques, établissement
de bilan financier, etc. Un analyste a déjà fait l’étude des cas d’utilisation de ce système. Il a
également préparé un diagramme de classes modélisant les données du système. Vous êtes le
concepteur et devez faire le design du cas d’utilisation « Inscription d’un membre à un cours
privé. Voici la description détaillée de ce cas d’utilisation.
Cas d’utilisation : Inscription d’un membre à un cours privé
Acteur : Préposé aux inscriptions
Pré-conditions : Le préposé se trouve sur la page d’inscription aux cours privés
Scénario principal :
1. Sur la page d’inscription, le préposé entre le type de cours (tennis, musculation, etc.) auquel le
membre souhaite s’inscrire ainsi que le nom du professeur.
2. Le système cherche le professeur dans le répertoire des profs puis cherche une plage de cours
libre, c’est-à-dire une tranche horaire où le professeur est disponible pour offrir un cours (on
suppose que le système a un moyen pour identifier les disponibilités du prof.) et qui ne chevauche
pas celle d’autres plages de cours déjà réservées avec ce professeur.
3. Si une tranche horaire est disponible, le système ajoute une nouvelle plage de cours au planning
du professeur pour cet horaire. (La plage de cours est réservée en attendant la confirmation du
Advertisement
membre). Le système affiche le résultat de la requête (i.e. cours, professeur, horaire proposé) sur
la page d’inscription, dans une zone prévue à cette effet.
4. Si la plage de cours proposée convient au membre, le préposé complète la page d’inscription en
entrant le nom du membre dans l’espace prévu. Il clique ensuite sur le bouton « Confirmer ».
5. Pour procéder à l’inscription, le système cherche d’abord le membre dans le répertoire des
membres. On assigne alors à ce membre la plage de cours en question.
6. Le cours est facturé au membre. Inclure « Facturation d’un cours ».
7. Le système confirme l’inscription en affichant un message au bas de la page d’inscription.
1 /5
Travail à faire
Donnez les diagrammes de séquences et de collaboration pour ce scénario.
Solution
Exercice 3
Considérons une montre à cadran numérique simplifiée :
2 /5
1. Le mode courant est le mode « Affichage ».
2. Quand on appuie une fois sur le bouton mode, la montre passe en « modification heure ».
Chaque pression sur le bouton avance incrémente l’heure d’une unité.
3. Quand on appuie une nouvelle fois sur le bouton mode, la montre passe en « modification
minute ». Chaque pression sur le bouton avance incrémente les minutes d’une unité.
4. Quand on appuie une nouvelle fois sur le bouton mode, la montre repasse en mode
« Affichage ».
Advertisement
Travail à faire
Proposez un diagramme d’état-transition modélisant cette montre.
Solution
Exercice 4
Un dispositif de contrôle d'accès par carte magnétique à une machine 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".
Travail à faire
Proposez le diagramme d’états-transitions du lecteur de carte.
Solution
3 /5
Exercice 5
Modélisez le retrait d’argent avec une carte VISA avec un diagramme d’activités :
Advertisement
La carte peut être invalide. Si elle est valide, le client doit taper son code. La carte est avalée
après trois essais infructueux. Le SA VISA autorise un certain montant ou refuse tout retrait.
Une carte non récupérée est avalée. Les billets non récupérés par le client sont repris. Un
ticket est toujours imprimé pendant que les billets sont proposés.
Solution
Exercice 6
Décrivez avec un diagramme d’activités la connexion d'un client à un serveur telnet. On
considère trois acteurs: le client, le démon telnet (i.e. le serveur logiciel) et la machine
serveur. Une fois la connexion établie entre le client et le serveur, le démon demande un mot
de passe au client, ce dernier dispose de trois tentatives avant que la connexion ne soit
rompue. Les tentatives infructueuses sont enregistrées dans un fichier sur le serveur. Une fois
l'identification faite, un terminal est ouvert et l'utilisateur peut alors saisir des commandes qui
4 /5
sont interprétées par le démon et exécutées sur le serveur. La commande exit déconnecte le
client du serveur.
Solution
5 /5