University of Ottawa
SEG-2506 : Software construction
Gregor v. Bochmann
Hiver
2015

SEG-2506 - Lab-3

 

Jouer avec des outils CASE pour la modélisation de machines à états

Nous jouons avec des modèles de machines à café qui acceptent des sous et permettent à l'usager de choisir entre plusieurs boissons, tel que café et thé.

Voici quelques notes historiques sur les machines à états et leurs outils: (excusez, c'est en anglais)

Le but de ce laboratoire est de se familiariser avec la modélisation par machines à états à la UML

Partie 1: Modéliser une machine à café en machine d'états UML

Description de la machine à café à être modélisée dans ce lab

La fonctionalié de base de la machine à café est décrite sur la page Exemple. Votre machine à café devrait inclure toutes les fonctions montrées par le diagramme LTS au debut de la page web Exemple, et en plus les fonctionalités suivantes:

  1. La distinction entre les composantes Controller et Hardware, et les interactions entre les deux pour la préparation de thé.
  2. La machine devrait accepter toutes les pièces de monnaie canadiennes et permettre la sélection répétée de cafés ou de thés tant qu'il y a assez d'argent payé.
  3. Si après une période de 20 secondes, l'usager n'a fait aucune commande, la machine devrait retourner tout l'argent qui n'a pas été utilisé.
  4. La machine ne devrait accepter aucun monnaie quand il n'y a pas de tasses (en carton) disponibles. La machine a un compteur interne qui indique combien de tasses sont disponibles. La machine supporte un interface par lequel un employé peut fournir des tasses supplémentaires et mettre à jour le compteur interne en conséquence.
  5. Option: L'usager peut commander l'ajout de sucre pendant les premières 5 secondes après avoir commandé un café ou un thé.

Vous avez les tâches suivantes:

  1. Dessiner un diagramme architectural - et l'expliquer
  2. Identifier les interactions d'entrée et de sortie de la machine à café (comme un tout) et entre le Controller et le Hardware. Inclure aussi les paramètres des interactions.
  3. Dessiner un diagramme de machine à états (incluant des variables d'état, des conditions de déclenchement et actions des transitions, etc.). Le diagramme devrait utiliser les conventions de UML.

Partie 2: Utilisation de l'outil Umple pour la modélisation et la génération de code

Une introduction à Umple se trouve sur le web.

Votre tâche 2-A:

Votre tâche 2-B:

Votre tâche 2-C: Inclure une composante "hardware" dans la machine

Comme montré dans le troisième diagramme d'architecture dans la page web de la machine à café, nous considérons maintenant que l'unité de contrôle de la machine à café communique avec une composante "hardware" qui aide à la préparation de thé. (Pour la préparation de café, nous n'introduisons aucun changement). Nous supposons que la sortie de la transition que est déclenchée par l'entrée tea de l'usager (voir le modèle FSM dans la page web de la machine à café), au lieu de produire directement cupOfTea, enverra la sortie FillWater vers la composante "hardware", qui répondra avec le message WaterOK, etc. comme indiqué dans la machine à états du modèle SDL. Après plusieurs interactions, le contrôleur sortira le cupOfTea (appelé cupOfWater dans le modèle en SDL) vers l'usager, c'est-à-dire, vers la classe Delivery.

Votre tâche 2-D: Utilisation de machine à états avec file d'entrée

En utilisant le mot clé queued au début d'une machine à états Umple, on obtient une machine avec file d'entrée pour les messages reçus.

Résultats à remettre: un rapport de laboratoire (à remettre sur papier au TA pendant la session de lab suivante).

Votre rapport devrait expliquer vos résultats pour les parties 1 et 2.

Le barème de notation (préliminaire) est le suivant:

S.v.p, consultez le TA pendant les sessions de laboratoire. Le rôle du TA est de vous aider à faire les travaux suggérés dans les laboratoires.


Dernière mise-à-jour: 29 janvier, 2015