UNIVERSITE DE LA MANOUBA -----¤¤¤¤-----
ECOLE NATIONALE DES SCIENCES DE L'INFORMATIQUE
Matière : ACOO Enseignants : Y.JAMOUSSI, I.BEN HAMOUDA, S. MTIBAA, G. ZIADA, I. FLISS Classes : I.I. 2 A-U : 2011-2012
Corrigé Série N°1 –Use case
Exercice n°1
Le diagramme de cas d’utilisation de la figure 1 représente les fonctionnalités d’une agence de voyage classique.
Figure 1. Diagramme de cas d’utilisation d’une agence de voyage
L’objectif de cet exercice est d’analyser ce diagramme :
1) Commentez les acteurs du diagramme de cas d’utilisation.
L’acteur Client représente les clients de l’agence et l’acteur Voyageur représente les voyageurs. Comme il s’agit d’entités externes à l’application, rien ne garantit qu’un voyageur soit obligatoirement client de l’agence. Donc, même si certains voyageurs peuvent être clients de l’agence, il ne faut pas mettre de relation d’héritage entre ces deux classes.
2) Commentez les cas d’utilisation du diagramme de cas d’utilisation.
Ce diagramme laisse croire que c’est l’agence de voyage qui s’occupe de la réalisation du voyage, ce qui n’est généralement pas le cas. L’agence se charge normalement de vendre des voyages réalisés par d’autres. Il n’est dès lors pas souhaitable d’associer ce cas d’utilisation à l’application « agence de voyage ». Nous supprimons donc ce cas, et, en conséquence, nous supprimons l’acteur Voyageur, qui n’est plus relié à aucun cas d’utilisation du diagramme. Le diagramme d’utilisation de cette question représente les fonctionnalités du système vis-à-vis des entités externes qui interagissent avec lui. Il s’agit du diagramme de cas d’utilisation décrivant les fonctionnalités de l’application au niveau besoin. Il ne faut donc faire apparaître que les fonctionnalités du système (quels services rend le système ?) et ne donner aucune information sur la façon dont ces fonctionnalités sont réalisées (comment les services sont rendus ?). Les relations d’inclusion (include) représentent une découpe fonctionnelle. Elles nous informent que, pour réaliser le cas d’utilisation Reserver Voyage, il peut être nécessaire de réaliser les cas d’utilisation Annuler Reservation et Payer Voyage. Ces informations n’ont rien à faire au niveau besoin ; il s’agit d’informations qui ont leur place au niveau conceptuel. Il en va de même des relations d’inclusion entre le cas d’utilisation Payer Voyage et les cas d’utilisation Donner Cheque et Donner CB. La relation d’extension (extend) représente l’ajout d’une fonctionnalité non prévue initialement dans le cas d’utilisation Payer Voyage. Ici, il a été ajouté la possibilité de payer la réservation par le Web. Dans ce cas précis, cette extension n’est pas justifiée, car ce cas d’utilisation ne présente pas une extension de comportement mais un troisième moyen de paiement, lequel n’a pas davantage sa place dans ce diagramme que les deux précédents. Il est important de retenir que l’application doit offrir au client la possibilité de faire une réservation, de payer une réservation, d’annuler une réservation et d’obtenir un devis. La figure 2 représente le diagramme de cas d’utilisation que nous obtenons.
1
Figure 2. Diagramme de cas d’utilisation de l’agence de voyage après correction
Exercice n°2
Les principales fonctions d’un GAB (Guichet Automatique de Banque) sont les suivantes : - distribution d’argent à tout porteur d’une carte de la banque (autorisation d’un certain montant par le Système d’Information de la banque) ou d’une carte VISA (autorisation à distance par le Système d’Autorisation VISA), - consultation du solde, dépôt en numéraire et de chèques pour les possesseurs d’une carte de la banque. Toutes les transactions sont sécurisées (code personnel vérifié avec le code enregistré sur la puce de la carte ; la carte est avalée après trois échecs). Il faut parfois recharger le GAB et effectuer des opérations de maintenance.
On vous demande de :
Publicité
1) Identifier les acteurs de ce système. 2) Identifier les différents cas d’utilisation. 3) Représenter le diagramme de cas d’utilisation de l’application
2
Exercice n°3
L’objectif de cet exercice est d’analyser le système informatique d’une calculette/convertisseur grâce aux diagrammes de cas d’utilisation. La calculette permet d’effectuer les quatre opérations : addition, soustraction, multiplication, division. L’autre fonction de cette calculette permet de convertir des francs en euros et des euros en francs. Elle offre une fonctionnalité de conversion supplémentaire qui en indiquant le cours d’une devise, elle permet de convertir un montant exprimé en euro en monnaie du pays de cette devise et vice versa. Travail à faire Il s'agit de :
1) Identifier les deux acteurs du système 2) Identifier trois cas d’utilisation. 3) Représenter le diagramme de cas d’utilisation de la calculette. 4) Donnez une description textuelle des cas d’utilisation décrivant un calcul simple et une conversion
dans une monnaie quelconque. Solution : 3)
4)
3
Exercice n°4
Une entreprise souhaite modéliser avec UML le processus de formation de ses employés afin d’informatiser certaines tâches. Le processus de formation est initialisé quand le responsable formation reçoit une demande de formation d’un employé. Cet employé peut éventuellement consulter le catalogue des formations offertes par les organismes agréés par l’entreprise. Cette demande est instruite par le responsable qui transmet son accord ou son refus à l’employé. En cas d’accord, le responsable cherche la formation adéquate dans le catalogue des formations agréées qu’il tient à jour. Il informe l’employé du contenu de la formation et lui soumet la liste des prochaines sessions prévues. Lorsque l’employé à fait son choix il inscrit l’employé à la session retenue auprès de l’organisme de formation concerné. En cas d’empêchement l’employé doit avertir au plus vite le responsable formation pour que celui-ci demande l’annulation de l’inscription. A la fin de la formation l’employé transmet une appréciation sur le stage suivi et un document attestant sa présence. Le responsable formation contrôle la facture envoyée par l’organisme de formation.
4
Travail à faire Il s'agit de :
1) Identifier les acteurs du système 2) Identifier les cas d’utilisation 3) Représenter le diagramme de cas d’utilisation de l’application
Solution :
Exercice n°4
L´entreprise NettoyageMatic a développé une nouvelle génération de robots pour nettoyage dans les zones difficiles à accéder. Le Robot est composé de Capteurs, Actionneurs, d´une unité de contrôle, d´une interface infrarouge et d´un aspirateur. Le robot est muni de 2 amortisseurs en avant et en arrière de façon qu´un contact avec un obstacle entraîne l´appuie sur un « interrupteur » (ou les deux ensemble). Pour la localisation relative du robot, un capteur ultrason est utilisé. Le robot ne peut se déplacer qu'en avant ou en arrière. Il ne peut changer de direction que lorsqu´il s´arrête. Pour se déplacer ou tourner, le robot utilise 2 moteurs électriques qui peuvent
5
Publicité
tourner séparément. Le robot peut être orienté à travers différentes commandes. Avec la commande " Se déplacer", le robot doit aller en avant ou en arrière. Avec la commande "tourner" le robot doit tourner soit dans le sens des aiguilles d'une montre, soit dans le sens contraire. Lors d´une collision, le robot doit s´arrêter immédiatement et entreprendre une manœuvre pour l´éloigner de l´obstacle. La commande "nettoyer" met l´aspirateur du robot en marche ou hors tension. Les commandes sont envoyées à l'aide d'une unité de contrôle sur l'interface infrarouge du robot. L'unité de contrôle ne fait pas partie du système à développer.
Travail à faire
Il s'agit de :
1) Identifier les acteurs du système 2) Identifier trois cas d’utilisation élémentaires 3) Représenter le diagramme de cas d’utilisation du robot nettoyeur. 4) Décrire les différents scénarios possibles en langage naturel pour chaque cas d´utilisation.
Solution : 3)
4)
6
Exercice n°5
Une bibliothèque universitaire souhaite automatiser sa gestion. Cette bibliothèque est gérée par un gestionnaire chargé des inscriptions et des relances des lecteurs quand ceux-ci n’ont pas rendu leurs ouvrages au-delà du délai autorisé. Les bibliothécaires sont chargés de gérer les emprunts et la restitution des ouvrages ainsi que l’acquisition de nouveaux ouvrages. Il existe trois catégories d’abonné. Tout d’abord les étudiants qui doivent seulement s’acquitter d’une somme forfaitaire pour une année afin d’avoir droit à tous les services de la bibliothèque. L’accès à la bibliothèque est libre pour tous les enseignants. Enfin, il est possible d’autoriser des étudiants d’une autre université à s’inscrire exceptionnellement comme abonné moyennant le versement d’une cotisation. Le nombre d’abonné externe est limité chaque année à environ 10 % des inscrits. Un nouveau service de consultation du catalogue général des ouvrages doit être mis en place. Les ouvrages, souvent acquis en plusieurs exemplaires, sont rangés dans des rayons de la bibliothèque. Chaque exemplaire est repéré par une référence gérée dans le catalogue et le code du rayon où il est rangé. Chaque abonné ne peut emprunter plus de trois ouvrages. Le délai d’emprunt d’un ouvrage est de trois semaines, il peut cependant être prolongé exceptionnellement à cinq semaines.
Travail à faire
Il s'agit de :
1) Identifier les acteurs du système
Cinq types d’acteurs peuvent être identifiés : • étudiant, • externe, • emprunteur, • gestionnaire, • bibliothécaire.
2) Identifier les cas d’utilisation Six cas d’utilisation peuvent être identifiés : • inscription à la bibliothèque, • consultation du catalogue, • emprunt d’ouvrages, • restitution d’ouvrages, • approvisionnement d’ouvrages, • relance emprunteur. 3) Représenter le diagramme de cas d’utilisation de l’application
7
4) Décrire les différents scénarios possibles en langage naturel pour chaque cas d´utilisation.
Exercice n°6
Publicité
« Locagite » est une association qui permet à divers propriétaires ruraux de mettre en location, à la semaine, des gîtes meublés. Elle publie annuellement un catalogue contenant les gîtes proposés par les propriétaires. Les gîtes doivent répondre à un certain nombre de critères qualité, correspondant à un nombre d’étoiles, qui sont vérifiées lors de l’adhésion du gîte 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 gîtes, et peut modifier les informations qui le concernent (prix par saison, photo du gîte, nombre de personnes, de chambres, terrain...). « Locagite » regroupe 450 gîtes en France, pour une moyenne de 12 semaines de réservation par gîte et par an. « Locagite » propose aux propriétaires qui le souhaitent, un service central de réservation. Tous les ans, les propriétaires qui veulent utiliser ce service signent un contrat avec « Locagite », 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, ce dernier taux étant valable pour l’année et pour l’ensemble des gîtes. Le propriétaire, en signant le contrat, joint un relevé d’identité bancaire. Le propriétaire ayant signé le contrat de la réservation centrale reçoit chaque mois un état des réservations fermes. Il reçoit aussi tous les mois un état des sommes encaissées par la centrale de réservation. Le virement bancaire des sommes dues, correspondant à l’état précédent, est envoyé en milieu du mois suivant. Un client potentiel (que l’on peut appeler client réservataire) téléphone à la centrale de réservation pour réserver un gîte sur la base du catalogue. La centrale de réservation prend en compte la demande, et lui envoie un contrat de location ainsi qu’une demande d’acompte si un accord a été trouvé sur les dates de réservation. Le client réservataire renvoie le contrat signé accompagné de l’acompte : la réservation devient ferme. Un mois avant le séjour, le client locataire envoie le solde du paiement ; il reçoit alors une confirmation de séjour lui donnant les coordonnées de la personne à contacter pour convenir de son arrivée. Le client peut à tout moment annuler son séjour, 30 % des sommes versées ne sont pas remboursées. En cas de non-retour du contrat signé après 15 jours, la pré-réservation est automatiquement annulée.
Il s'agit de :
1) Identifier les acteurs du système
• le propriétaire, • le propriétaire adhérent (qui met en location son gîte), • le client réservataire,
8
• le client locataire. • le gestionnaire Catalogue-Propriétaire, • le gestionnaire Réservation-Location.
2) Identifier les cas d’utilisation
• Gestion annuelle du catalogue • Publication du catalogue • Contrôle annuel de l’état du gîte • Gestion propriétaire • Authentification propriétaire • Gestion des réservations • Authentification client • Gestion des locations • Gestion des annulations
3) Représenter le diagramme de cas d’utilisation de l’application
4) Décrire les différents scénarios possibles en langage naturel pour chaque cas d´utilisation.
Cas d’utilisation 1.1 : Gestion annuelle du catalogue Deux scénarios peuvent être considérés : la création du gîte et la modification du gîte. Scénario 1.1.1 « Création gîte » • Objectif – Permettre l’ajout d’un gîte dans le catalogue. • Acteurs concernés – Gestionnaire catalogue. • Pré conditions – Aucune. • Scénario nominal – 1. Créer un nouveau propriétaire s’il n’existe pas. – 2. Créer un gîte. – 3. Ajouter le gîte créé au catalogue. • Scénarios alternatifs – 1-a : Erreurs détectées dans la saisie du propriétaire : – Le système réaffiche le formulaire de saisie en indiquant les erreurs détectées. – Le coordonnateur corrige les erreurs. – Le cas d’utilisation reprend à l’action 1 du scénario nominal. – 2-a : Erreurs détectées dans la saisie du gîte :
9
– Le système réaffiche le formulaire de saisie en indiquant les erreurs détectées. – Le coordonnateur corrige les erreurs. – Le cas d’utilisation reprend à l’action 2 du scénario nominal. Scénario 1.1.2 « Modification gîte » • Objectif – Permettre la modification d’un gîte déjà présent dans le catalogue. • Acteurs concernés – Gestionnaire catalogue. • Pré conditions – Aucune. • Scénario nominal – 1. Saisie et contrôle d’existence du gîte. – 2. Saisie et contrôle d’existence du propriétaire. – 3. Modification des données du gîte. – 4. Modification éventuelle des activités du gîte, • Scénarios alternatifs – 1-a : Erreur de saisie du gîte : – Le système réaffiche le formulaire de saisie en indiquant l’erreur détectée. – Le coordonnateur corrige les erreurs. – Le cas d’utilisation reprend à l’action 1 du scénario nominal. – 2-a : Erreurs de saisie du propriétaire : – Le système réaffiche le formulaire de saisie en indiquant les erreurs détectées. – Le coordonnateur corrige les erreurs. – Le cas d’utilisation reprend à l’action 2 du scénario nominal. Cas d’utilisation 1.2 : Publication du catalogue Ce cas d’utilisation ne comporte qu’un seul scénario. Scénario « Publication du catalogue » • Objectif – Permettre l’édition du catalogue. • Acteurs concernés – Gestionnaire catalogue. • Pré conditions – Aucune. • Scénario nominal – Pour chaque gîte : – 1. Rechercher les informations sur le propriétaire. – 2. Afficher les tarifs de location à la semaine. – 3. Afficher les activités disponibles. • Scénarios alternatifs – Aucun. Cas d’utilisation 1.3 : Mise à jour annuelle du gîte Ce cas d’utilisation ne comporte qu’un seul scénario. Scénario « Mise à jour annuelle du gîte » • Objectif – Permettre la mise à jour du nombre d’étoile d’un gîte donné. • Acteurs concernés – Gestionnaire catalogue. • Pré conditions – Aucune. • Scénario nominal : – 1. Saisir le code propriétaire, le code du gîte et le nombre d’étoile. – 2. Mettre à jour le nombre d’étoile. • Scénarios alternatifs : – 1-a : le propriétaire ou le gîte n’existe pas : – Le système réaffiche le formulaire de saisie en indiquant l’erreur détectée. – Le gestionnaire corrige les erreurs. – Le cas d’utilisation reprend à l’action 1 du scénario nominal.
10