Conception (2h TD + 2h TP)
Ce TP est fortement inspiré des planches de TD de Clément JACQ.
Afin de vous exercer sur les différents types de diagrammes, pensez à bien alterner les exercices.
Pour rappel, nous vous fournissons des bibliothèques de formes UML que vous pouvez importer dans draw.io.
Déploiement et composants
Créez les diagrammes de déploiement ou de composants pour les contextes suivants.
Serrure connectée
L'utilisateur présente sa preuve d'identité (e.g. carte magnétique ou modalité biométrique) au capteur d'une serrure connectée. Le capteur est instrumenté par un module client () communicant avec un module serveur () hébergé sur un serveur distant. Le module serveur contient une base de donnée utilisateurs ainsi que des règles d'accès.
Système de gestion de formations
Les employés souhaitant suivre des formations peuvent consulter un catalogue de formations
et faire une demande. La demande est traitée par un responsable de l’entreprise, qui peut consulter le dossier RH de l’employé et le contenu de la formation pour prendre sa décision. Le catalogue de formations est proposé et maintenu par un prestataire extérieur. Employés et responsables disposent d’un client spécifique pour, respectivement, formuler et valider une demande. Le client utilise l'intranet de l'entreprise pour authentifier ses utilisateurs, ainsi que pour récupérer les dossiers RH.
- Identifiez les acteurs, ainsi que les différents clients/serveurs.
- Identifiez les différents composants de chaque client/serveur.
- Ajoutez les liens entre les différents éléments du diagramme.
Site de vente en ligne
Un site de vente en ligne permet de visualiser un catalogue de produits, les ajouter à un panier, de passer commande, puis de suivre ses commandes. Lors de la création d'une commande à partir du panier :
- la disponibilité des produits sont vérifiées auprès du fournisseur.
- le payement est effectué auprès de la banque.
- fournisseur et transporteur sont notifiés de la commande.
Démineur
Le démineur est un jeu dont le but est de trouver le plus rapidement possible toutes les cases du plateau contenant des mines sans les toucher.
Le jeu est composé d’un plateau rectangulaire, d’un chronomètre et d’un compteur de mines. Le plateau est un quadrillage de cases. Au début du jeu, toutes les cases du plateau sont couvertes, le compteur de mines indiquant le nombre de mines restant à localiser. Le chronomètre compte le nombre de secondes écoulées depuis le début de la partie. La partie commence lorsque la première case est découverte. Le joueur peut interagir en découvrant une case, ou en la marquant d’un symbole (sans influence sur le déroulement du jeu).
L'application comporte aussi un menu permettant d'enregistrer, de charger, ou de générer une partie.
Le jeu est composé d’un plateau rectangulaire, d’un chronomètre et d’un compteur de mines. Le plateau est un quadrillage de cases. Au début du jeu, toutes les cases du plateau sont couvertes, le compteur de mines indiquant le nombre de mines restant à localiser. Le chronomètre compte le nombre de secondes écoulées depuis le début de la partie. La partie commence lorsque la première case est découverte. Le joueur peut interagir en découvrant une case, ou en la marquant d’un symbole (sans influence sur le déroulement du jeu).
L'application comporte aussi un menu permettant d'enregistrer, de charger, ou de générer une partie.
- On distingue le modèle () de la vue (). La vue comporte le menu, le HUD, ainsi que la vue du jeu.
- Répartissez les éléments graphiques du jeu dans les différentes parties de la vue.
- On distingue 4 interfaces :
- : permet de créer une nouvelle partie ou de charger une partie existante.
- : représente l'état du jeu.
- : permet d'effectuer des actions de jeu.
- : permet d'encoder/décoder une partie.
- Reliez chaque élément graphique du jeu aux interfaces dont ils dépendent.
- Précisez le contenu de chaque interface (sauf ).
- Dans , ajoutez :
- : représente l'état du jeu.
- : prend des actions en entrée et modifie l'état du jeu en conséquence.
Séquence et communication
Créez les diagrammes de séquence ou de communication pour les contextes suivants.
Télécommande
À la réception d'un signal infrarouge, le capteur infrarouge de la télévision décode le signal afin de le transformer en commande. La commande est ensuite transférée au composant concerné.
Pour rappel : Une télécommande permet de contrôler un téléviseur. Ce téléviseur possède des hauts parleurs, un mécanisme de mise sous tension (alimentation), un mécanisme de changement de de chaîne (turner), un mécanisme de réglage du son par augmentation ou diminution (ampli), un écran associé à un mécanisme de réglage du contraste et de la couleur des images par augmentation ou diminution.
Pour rappel : Une télécommande permet de contrôler un téléviseur. Ce téléviseur possède des hauts parleurs, un mécanisme de mise sous tension (alimentation), un mécanisme de changement de de chaîne (turner), un mécanisme de réglage du son par augmentation ou diminution (ampli), un écran associé à un mécanisme de réglage du contraste et de la couleur des images par augmentation ou diminution.
Site de vente en ligne
Un site de vente en ligne permet de visualiser un catalogue de produits, les ajouter à un panier, de passer commande, puis de suivre ses commandes. Lors de la création d'une commande à partir du panier :
- la disponibilité des produits sont vérifiées auprès du fournisseur.
- le payement est effectué auprès de la banque.
- fournisseur et transporteur sont notifiés de la commande.
Distributeur de billets automatique
Lorsqu'un utilisateur souhaite retirer de l'argent, il insère sa carte bancaire dans le DAB, puis demande à retirer un montant. Le DAB vérifie d'abord auprès du module de distribution de billets si le montant demande est disponible, avant de demander le code PIN à utilisateur.
Le DAB vérifie le code PIN saisi auprès de la carte bancaire. En cas de 5 tentatives infructueuses, la carte est avalée. Si le code PIN est correct, le DAB transmet la demande de retrait à la banque.
Quoi qu'il arrive, la carte est éjectée. Si la carte n'est pas prise au-delà d'un certain temps, la carte est avalée.
Le module de distribution de billets sort ensuite les billets. Idem, si les billets ne sont pas pris au-delà d'un certain temps, ils sont avalés. Si tout se passe bien, le retrait est confirmé auprès de la banque.
Le DAB vérifie le code PIN saisi auprès de la carte bancaire. En cas de 5 tentatives infructueuses, la carte est avalée. Si le code PIN est correct, le DAB transmet la demande de retrait à la banque.
Quoi qu'il arrive, la carte est éjectée. Si la carte n'est pas prise au-delà d'un certain temps, la carte est avalée.
Le module de distribution de billets sort ensuite les billets. Idem, si les billets ne sont pas pris au-delà d'un certain temps, ils sont avalés. Si tout se passe bien, le retrait est confirmé auprès de la banque.
Gestion des emprunts
Lorsqu'un utilisateur souhaite emprunter un livre, le système interroge tout d'abord la base de données afin de vérifier s'il peut emprunter. Il vérifie ensuite auprès de la base de données s'il est disponible.
Si le livre n'est pas disponible, le système demande à l'utilisateur s'il souhaite le réserver. Il notifie ensuite les différentes bases de données afin d'enregistrer l'emprunt ou la réservation.
Si le livre n'est pas disponible, le système demande à l'utilisateur s'il souhaite le réserver. Il notifie ensuite les différentes bases de données afin d'enregistrer l'emprunt ou la réservation.
Entreprise (à supprimer?)
L'entreprise Poule Emploi propose un service de mise en relation entre employeurs potentiels et demandeurs d'emplois, permettant à l'un comme l'autre de consulter un catalogue (d'offres ou de CV). L'accès à ces catalogues, ainsi que l'ajout d'une offre ou d'un CV, nécessite un compte client payant créé par un employé de l'entreprise Poule Emploi. Le management a accès aux données client pour des raisons de reporting.