Langage de modélisation (UML) - TD4

Programming, UML, Software Design · exam

Voir tous les documents en génie logiciel

Module : Langage de modélisation (UML) Auditoire : 3ème Année A

TD4 : Conception dynamique : Diagramme d'interaction/ Diagramme état transition

AU : 2016-2017

A- Diagramme d'interaction

Exercice 1

On souhaite développer une application permettant au Directeur des Ressources Humaines (DRH) la gestion des affectations des Freelancers aux différentes missions. Un Freelancer peut être affecté à une seule mission pendant une période bien déterminée.

Afin d’ajouter une affectation, le directeur RH doit consulter la liste des missions pour en choisir une. Il consulte ensuite la liste des Freelancers et choisit celui qui possède les compétences nécessaires pour cette mission.

Le système vérifie la disponibilité du Freelancer sélectionné à travers son planning. S’il est disponible, une mise à jour du planning du Freelancer est effectuée et une affectation avec la date de début et la date de fin de la mission est crée. En cas de chevauchement, un message d'erreur est affiché.

Travail demandé

1- Réaliser le diagramme de séquences objets relatif au cas d'utilisation "Ajouter

Affectation".

2- Réaliser le diagramme de communication pour ce même CU.

Exercice 2

Publicité

Un baladeur numérique est un appareil permettant de restituer de la musique stockée sous la forme de morceaux. Ces morceaux sont regroupés par album et sont lus à partir d’une liste. Une liste contient alors un ensemble de morceaux qui seront lus dans l’ordre de leur insertion.

Lorsqu’on ajoute un album à une nouvelle liste de lecture d’un nom donné, l'utilisateur cherche l’album dans l’ensemble des albums, crée une liste de lecture du nom demandé qui ajoute un à un tous les morceaux de l’album dans l’ordre.

Travail demandé

1- Proposer un diagramme de séquence objet illustrant le comportement interne du

baladeur pour le CU « Ajouter un album à une nouvelle liste de lecture ».

2- Proposer une autre version du diagramme de séquence objet en considérant une

architecture en 3 couches.

Exercice 3

Une société désire développer une application Web qui permet d’échanger des services. Un service est identifié par son libellé, sa description, son terme d'échange (autres services ou

1

AU : 2016-2017

prix), sa position géographique, sa date de début et sa date de fin. Les services sont classés en catégories (habitat, automobile, cours particuliers, etc) et en sous-catégories (nous citons par exemple pour la catégorie habitat, les sous-catégories : peinture, jardinage, électricité, etc). La gestion des catégories et des sous-catégories est sous la responsabilité des administrateurs du système. Un internaute a la possibilité deconsulter les catégories et les sous catégories des services. Il peut également s'inscrire. Il devient ainsi un membre.

Un membre doit s’authentifier pour réaliser les différentes opérations. Un membre est identifié par son nom, son prénom, son email, son pseudonyme et son mot de passe. Tout comme l'internaute, le membre a la possibilité de consulter les catégories et les sous catégories des services. Un membre effectue également la gestion des services (ajout, modification, suppression, consultation et recherche). Il est important de connaitre les services ajoutés par un membre ainsi que la date de l'ajout.

Publicité

Lors de l'ajout d'un service un membre doit choisir une catégorie. Il choisit ensuite une sous- catégorie. Finalement le membre crée un nouveau service avec sa description, son terme d'échange, la date de début de ce service et la date de fin de ce service. Une vérification est alors effectuée. Ainsi un message de succès est affiché au membre si les données sont valides. Dans le cas où les données sont invalides un message indiquant l'échec de l'ajout est affiché au membre.

Travail demandé

1- Elaborer le diagramme de séquence objet du cas d’utilisation « Ajouter un service » en

considérant une architecture en 3 couches.

2- Elaborer le diagramme de communication pour ce même CU.

B- Diagramme état transition

Exercice 4 :

On considère une boîte de vitesses automatique de voiture. La boîte au démarrage est au point mort. La marche arrière ainsi que la position parking peuvent être enclenchées à partir du point mort. La première marche avant peut également être enclenchée à partir du point mort. En revanche, les autres marches avant, la seconde et la troisième, sont enclenchées en séquence: 123 pour une accélération, et 321 pour une décélération. Seule la marche arrière, la position parking et la première marche avant peuvent être ramenées directement au point mort. Travail demandé : Elaborer le diagramme d’état-transition de la boite à vitesse.

Exercice 5 :

Considérons une montre à cadran numérique simplifiée :

1. Le mode courant est le mode « Affichage ».

2

AU : 2016-2017

Publicité

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 ».

Question 1 : Dessinez le diagramme d’états correspondant.

Question 2: Ajoutez le comportement suivant :

Quand on appuie sur le bouton avance plus de deux secondes, les heures (ou les minutes) s’incrémentent rapidement jusqu’à ce qu’il se produise un relâchement dans la pression du bouton. Envisagez plusieurs solutions possibles.

Reprenons notre exemple de montre à cadran numérique tel qu’il était présenté au début de l’exercice, et ajoutons maintenant à cette dernière deux autres boutons :

• un bouton éclairage ; en le pressant, on éclaire le cadran de la montre, jusqu’à ce qu’on le relâche ;

• un bouton alarme, qui ajoute à la montre digitale une fonctionnalité classique d’alarme, comme cela a été décrit lors du premier exercice de ce chapitre (réveille-matin).

Question 3 : Dessinez le diagramme d’états complet incluant tous les comportements de la montre.

3