---
title: "Partie 2 : Analyse d'une application existante avec Altova UModel"
date: "2009-04-24"
tags: 
  - "c"
  - "java"
  - "missionkit"
  - "software-modeling"
  - "uml"
  - "uml-tool"
  - "umodel"
description: Cet article traite de la création de diagrammes de cas d'utilisation pour une application de distributeur automatique de billets existante, en utilisant Altova UModel, en mettant l'accent sur les interactions avec les utilisateurs et les améliorations prévues.
---
Status: #blog

Tags:  #c #java #missionkit #software-modeling #uml #uml-tool #umodel

Categories: [Altova](/blog/fr/category/altova.md) 
# Partie 2 : Analyse d'une application existante avec Altova UModel

Dans [Première partie](https://www.altova.com/blog/2009/04/analyzing-legacy-application-with.html) Dans le cadre de la série "Analyse d'une application existante", nous avons présenté notre application de simulation de distributeurs automatiques et avons importé le code source Java dans un.. [UModel](https://www.altova.com/fr/products/umodel/uml_tool.html) projet, et nous avons affiné un diagramme de classes afin d'obtenir une vue d'ensemble des classes de l'application et de leurs relations. Dans cet article, nous allons créer.. [diagrammes de cas d'utilisation](https://www.altova.com/fr/features_use_case.html) pour documenter les fonctionnalités actuelles de notre application de distributeur automatique de billets, et nous ajouterons un diagramme de cas d'utilisation pour planifier une amélioration future. Comme nous l'avons vu dans la première partie, lorsqu'un utilisateur exécute notre simulation de distributeur automatique, il est invité à se connecter en utilisant un numéro de compte et un code PIN, puis lui est présenté un menu de transactions qui récapitule toutes les interactions possibles avec l'application : 

[![Menu des transactions de simulation de distributeur automatique](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSDHQ4GSI/AAAAAAAAAEM/jvo19yCSOQo/transaction%20menu_thumb%5B2%5D.gif?imgmax=800 "ATM Simulation transaction menu")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSC3HfXsI/AAAAAAAAAEI/b8fsi30qDyg/s1600-h/transaction%20menu%5B4%5D.gif) 

En utilisant le menu "Transactions" comme référence, nous pouvons créer un diagramme de cas d'utilisation général qui documente les interactions des utilisateurs avec la simulation du distributeur automatique de billets : 

[![Vue d'ensemble de la simulation des distributeurs automatiques de billets : diagramme de cas d'utilisation](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSEJlkKRI/AAAAAAAAAEU/zZp4OlbX7Ms/usecase1_thumb%5B1%5D.gif?imgmax=800 "ATM Simulation overview use case diagram")](http://lh3.ggpht.com/_REdrfeVqYdU/SfHSDuArD2I/AAAAAAAAAEQ/pb26wYjQWWA/s1600-h/usecase1%5B3%5D.gif)

Si vous connaissez la notation UML, vous avez peut-être remarqué que l'acteur de notre diagramme ne ressemble pas à la figure typique utilisée dans UML. UModel permet aux concepteurs de logiciels d'assigner n'importe quel fichier image .bmp de Windows pour représenter un acteur dans un diagramme de cas d'utilisation. Nous avons utilisé la fenêtre d'aide "Propriétés" pour assigner une image provenant de la bibliothèque fournie avec UModel.

[![Fenêtre des propriétés d'Altova UModel](https://lh4.ggpht.com/_REdrfeVqYdU/SfHSEq2AYoI/AAAAAAAAAEc/qDV7VjIP0p4/PropertiesWindow_thumb%5B1%5D.gif?imgmax=800 "Altova UModel Properties Window")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSEfzVyeI/AAAAAAAAAEY/1m5PRtMuCHg/s1600-h/PropertiesWindow%5B3%5D.gif) 

Un diagramme de cas d'utilisation n'est pas l'endroit approprié pour définir le flux d'une application ou les classes orientées objet, mais simplement pour documenter la manière dont un utilisateur (un acteur selon la terminologie UML) interagit avec le système. Nous pouvons créer des diagrammes de cas d'utilisation supplémentaires pour montrer plus de détails sur chaque interaction. Développer chaque interaction dans un diagramme distinct améliore la clarté en gardant chaque schéma simple et épuré, et en laissant suffisamment d'espace pour explorer différentes options. 

[![Diagramme de cas d'utilisation détaillé pour la connexion des utilisateurs](https://lh4.ggpht.com/_REdrfeVqYdU/SfHSFKI29WI/AAAAAAAAAEk/AFJI7u3ywco/usecase2_thumb%5B1%5D.gif?imgmax=800 "Detailed user sign in use case diagram")](http://lh5.ggpht.com/_REdrfeVqYdU/SfHSE60c0kI/AAAAAAAAAEg/Lg11jQtejFM/s1600-h/usecase2%5B3%5D.gif) 

Nous avons ajouté la vérification du numéro de compte et du code PIN dans une note plutôt que dans un diagramme de cas d'utilisation, car l'utilisateur du distributeur automatique de billets n'est pas celui qui effectue cette étape. D'après notre expérience avec les distributeurs automatiques, nous pouvons supposer (car nous n'avons pas encore examiné le code) qu'un retrait sera annulé si le montant demandé est supérieur au solde du compte. Cependant, la comparaison du montant du retrait et du solde du compte n'est pas effectuée par l'utilisateur, de sorte que cette activité n'est également pas représentée dans un diagramme de cas d'utilisation. 

[![Diagram de cas d'utilisation : retrait d'espèces](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSF209eRI/AAAAAAAAAEs/eB3dPyG57PI/usecase3_thumb%5B1%5D.gif?imgmax=800 "Withdraw cash use case diagram")](http://lh5.ggpht.com/_REdrfeVqYdU/SfHSFm6llBI/AAAAAAAAAEo/xn6UYTTGn7I/s1600-h/usecase3%5B3%5D.gif) 

La flèche à l'intérieur de la fonctionnalité "Retirer de l'argent" indique un hyperlien. UModel vous permet d'associer un ou plusieurs hyperliens à n'importe quel élément de vos diagrammes. Un hyperlien peut renvoyer vers une URL, un fichier externe ou un autre diagramme. La fenêtre de dialogue des hyperliens vous permet même de définir un texte d'aide pour vos hyperliens. 

[![Dialogue des hyperliens dans Altova UModel](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSGYeH0rI/AAAAAAAAAE0/36DgzV_Yl-0/hyperlinksdialog_thumb%5B1%5D.gif?imgmax=800 "Altova UModel hyperlinks dialog")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSGFUiWVI/AAAAAAAAAEw/ZZU8p5k9ks4/s1600-h/hyperlinksdialog%5B3%5D.gif) 

[![Texte affiché lors de l'utilisation de liens hypertextes dans un diagramme de cas d'utilisation](https://lh4.ggpht.com/_REdrfeVqYdU/SfHSHKYq3HI/AAAAAAAAAE8/fw1H_zlU6Vo/usecase4_thumb%5B1%5D.gif?imgmax=800 "Hyperlink pop-up text in use case diagram")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSGu60M4I/AAAAAAAAAE4/qrle7DV5PXw/s1600-h/usecase4%5B3%5D.gif) 

Si vous définissez plus d'un hyperlien, votre texte d'aide se transforme en un menu de sélection contextuel. Supposons que nous ayons pour mission de modifier la simulation de distributeur automatique existante afin de facturer des frais pour chaque retrait. Si le montant du retrait est inférieur à 100 dollars, les frais seront de 2 dollars. Si le montant du retrait est de 100 dollars ou plus, les frais seront de 4 dollars. Étant donné que le distributeur automatique ne distribue pas de billets de un dollar, les frais doivent être débités sur le compte, et non déduits du montant retiré en espèces. Les frais seront affichés avant que tout montant en espèces ne soit distribué, et l'utilisateur aura la possibilité d'annuler la transaction. Nous pouvons ajouter cette nouvelle exigence à notre diagramme de cas d'utilisation "Retrait au distributeur automatique". 

[![Diagram de cas d'utilisation amélioré pour le retrait de fonds](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSHjveWdI/AAAAAAAAAFE/etX3ZjlAsQM/usecase5b_thumb%5B1%5D.gif?imgmax=800 "Enhanced Withdraw Cash use case diagram")](http://lh3.ggpht.com/_REdrfeVqYdU/SfHSHRdwdII/AAAAAAAAAFA/3zBX6tvvOAM/s1600-h/usecase5b%5B3%5D.gif) 

Nous avons modifié la couleur de l'ovale correspondant au cas d'utilisation "Approuver le frais" pour indiquer qu'il s'agit d'une fonctionnalité planifiée qui n'est pas encore implémentée. Certains développeurs pourraient soutenir que la note associée à l'ovale "Approuver le frais" est redondante, car la notation "include" seule indique que "Approuver le frais" est un composant essentiel du processus de "Retrait de fonds". Cependant, beaucoup de personnes sont confuses quant à la différence entre "include" et "extend", il est donc préférable d'être absolument clair. Nous pouvons également utiliser la fonctionnalité des calques UModel pour regrouper tous les éléments liés à la nouvelle fonctionnalité sur un calque distinct.

[![Menu contextuel de la couche "Assign" dans Altova UModel](https://lh5.ggpht.com/_REdrfeVqYdU/SfHSIi2xicI/AAAAAAAAAFM/ScNlckyeir4/layersAssign_thumb%5B1%5D.gif?imgmax=800 "Altova UModel Assign Layer context menu")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSIBpiEzI/AAAAAAAAAFI/CcWmv9OlLxs/s1600-h/layersAssign%5B3%5D.gif)

Maintenant, la fenêtre d'aide "Calques" nous permet d'afficher ou de masquer la fonctionnalité prévue dans notre vue schématique. 

[![Fenêtre d'assistance pour la couche UModel d'Altova](https://lh6.ggpht.com/_REdrfeVqYdU/SfHSJdL7XKI/AAAAAAAAAFU/3N3VfK_DHpM/layersview_thumb%5B1%5D.gif?imgmax=800 "Altova UModel Layer helper window")](http://lh4.ggpht.com/_REdrfeVqYdU/SfHSI19nEtI/AAAAAAAAAFQ/uwwdU85SDgo/s1600-h/layersview%5B3%5D.gif) 

L'expérience réelle avec les distributeurs automatiques nous indique qu'une transaction est manquante dans la simulation actuelle. Le menu des transactions ne propose pas d'option pour transférer des fonds entre différents comptes. D'après les schémas que nous avons déjà créés, il est clair que la conception initiale de l'application rendra difficile la mise en œuvre d'une opération de transfert. L'authentification de l'utilisateur est basée sur le numéro de compte, et il semble que l'application existante ne prenne pas en compte le concept d'un client bancaire unique possédant à la fois un compte courant et un compte d'épargne. Si notre responsable demande la fonctionnalité de transfert de fonds, nous devrons discuter avec l'architecte logiciel de notre entreprise. Il sera nécessaire de mettre en œuvre un identifiant utilisateur associé à plusieurs comptes, non seulement dans notre application de simulation de distributeurs automatiques, mais également dans la base de données de la banque. 

La suite Altova [MissionKit pour les architectes d'entreprise](https://www.altova.com/fr/products/missionkit/software_architect_tools.html), récompensée par le prix [Jolt](https://www.altova.com/fr/JOLTAward_MissionKit_031809.html), est un ensemble de huit outils XML, de bases de données et UML, conçue pour les architectes de logiciels d'entreprise qui pourraient avoir besoin d'outils de modélisation UML et de gestion de bases de données, en plus de fonctionnalités avancées en matière de XML, de services web et d'intégration de données. 

[Cliquez ici pour télécharger une version d'essai de 30 jours entièrement fonctionnelle.](https://www.altova.com/fr/download/missionkit/software_development_tools_enterprise.html) Dans la prochaine partie, nous examinerons la simulation des distributeurs automatiques sous un angle complètement différent, alors que nous allons nous plonger dans le code. 
