Introduction
Dans l’ingénierie logicielle moderne, la capacité à traduire des exigences commerciales ambigües en modèles système précis et exploitables est une compétence essentielle. L’analyse textuelle sert de pont puissant entre les énoncés de problèmes en langage naturel et les diagrammes formels UML (Unified Modeling Language). Cette étude de cas illustre un flux de travail complet et étape par étape pour extraire des classes candidates à partir d’une description de problème du monde réel, les affiner à l’aide de critères systématiques de rejet, puis les transformer en diagrammes de classes et de séquence robustes.
En prenant comme exemple de travail le système de sécurité du parking de Saturn International, nous montrons comment les chefs de produit, les analystes métiers et les architectes logiciels peuvent tirer parti de la fonctionnalité d’analyse textuelle de Visual Paradigm pour accélérer la découverte des exigences, réduire l’ambiguïté et produire des artefacts de conception maintenables. Que vous soyez en train de modéliser des systèmes de contrôle d’accès, des flux métier d’entreprise ou des applications orientées client, la méthodologie présentée ici fournit un cadre reproductible pour transformer les mots en modèles fonctionnels.

Description du problème
La description de problème suivante sera utilisée dans ce tutoriel. Examinons-la.
|
La direction de Saturn Int. souhaite améliorer ses mesures de sécurité, tant pour son bâtiment que sur site. Elle souhaite empêcher les personnes qui ne font pas partie de l’entreprise d’utiliser son parking. Saturn Int. a décidé d’émettre des cartes d’identité à tous les employés. Chaque carte enregistre le nom, le département et le numéro du personnel de l’entreprise, et leur donne accès au parking de l’entreprise. Les employés sont invités à porter ces cartes pendant leur présence sur site. Il y a une barrière et un lecteur de carte placés à l’entrée du parking. Lorsqu’un conducteur conduit sa voiture dans le parking, il insère sa carte d’identité dans le lecteur de carte. Le lecteur vérifie ensuite le numéro de la carte pour savoir s’il est connu du système. Si le numéro est reconnu, le lecteur envoie un signal pour activer la barrière afin qu’elle s’élève. Le conducteur peut alors conduire sa voiture dans le parking. Il y a une autre barrière à la sortie du parking, qui s’élève automatiquement lorsque une voiture souhaite quitter le parking. Un panneau à l’entrée affiche « Plein » lorsque le parking est complet. Il n’est éteint que lorsque une voiture quitte le parking. Il existe un autre type de carte pour les invités, qui permet également l’accès au parking. La carte enregistre un numéro et la date actuelle. Ces cartes peuvent être envoyées à l’avance ou récupérées à la réception. Toutes les cartes d’invités doivent être restituées à la réception lorsque le visiteur quitte Saturn Int. |
|---|
Identification des classes à partir du texte
Création de l’analyse textuelle
-
Créez un nouveau projet. SélectionnezProjet > Nouveau dans le menu principal. Dans la fenêtreNouveau projet , nommez le projetTutoriel et cliquez surCréer un projet vide pour confirmer.
-
Créez une nouvelle analyse textuelle. SélectionnezDiagramme > Nouveau dans le menu principal.
-
Dans la fenêtreNouveau diagramme , sélectionnezAnalyse textuelle et cliquez sur Suivant. Entrez Amélioration de la sécurité comme nom du diagramme et cliquez sur OK.

-
Cela ouvre l’éditeur d’analyse textuelle. Copiez la description du problème fournie ci-dessus et collez-la dans l’éditeur. La coller peut être effectué en appuyant sur Ctrl-V ou en cliquant avec le bouton droit sur l’éditeur et en sélectionnant Coller.

Identification des objets candidats à partir du texte
Lisez la description du problème pour identifier les classes candidates. Lorsqu’une classe candidate est trouvée, cliquez avec le bouton droit sur le segment de texte et sélectionnez Ajouter le texte comme classe dans le menu contextuel.

Une liste de classes candidates est obtenue ci-dessous :
| Saturn Int. | mesures de sécurité | bâtiment | site |
|---|---|---|---|
| Les personnes qui ne font pas partie de l’entreprise | Parking | Cartes d’identité | employés |
| nom | département | numéro | Personnel de l’entreprise |
| Accès | barrière | Lecteur de carte | conducteur |
| Numéro de carte | système | signal | sortie |
| Un autre type de carte pour les invités | réception | Cartes des invités | visiteur |
Jusqu’à présent, l’éditeur d’analyse textuelle devrait avoir l’aspect suivant :

Rejet des objets candidats
Dans cette section, les classes candidates seront examinées à la lumière d’une liste de règles de rejet. À la fin de cette section, une liste de modèles de classes sera obtenue.
Maintenant, examinez la liste des classes candidates à la lumière des règles de rejet ci-dessous :
-
Doublons : si deux ou plusieurs objets sont simplement des noms différents pour la même chose.
-
Non pertinent : objets qui existent dans le domaine du problème, mais qui ne sont pas prévus.
-
Vague : lorsqu’on examine attentivement les mots, il arrive parfois qu’on s’aperçoive qu’ils n’ont pas de sens de prix et ne peuvent pas constituer la base d’une utilité dans le système.
-
Général : le sens est trop large.
-
Attributs : en tant qu’attribut des objets.
-
Associations : représente en réalité les relations entre les objets.
-
Rôles : parfois des objets désignés par le rôle qu’ils jouent dans une partie particulière du système.
Le tableau suivant liste les résultats de l’examen :
| Classe candidate | Accepter / Rejeter | Raison du rejet |
|---|---|---|
| Gestion Saturn Int. | Rejeter | Non pertinent pour le système |
| Mesures de sécurité | Rejeter | vague |
| Bâtiment | Rejeter | Sans rapport avec le système |
| Site | Rejeter | Sans rapport avec le système |
| Personnes qui ne font pas partie de l’entreprise | Rejeter | Sans rapport avec le système |
| Parking | Accepter | |
| Cartes d’identité | Accepter | |
| Employés | Rejeter | Doublon avec « Personnel de l’entreprise » |
| Nom | Rejeter | Attribut |
| Département | Rejeter | Attribut |
| Numéro | Rejeter | Attribut |
| Personnel de l’entreprise | Rejeter | Rôle |
| Accès | Accepter | |
| Barrière | Accepter | |
| Lecteur de carte | Accepter | |
| Conducteur | Rejeter | Rôle |
| Numéro de carte | Rejeter | Attribut |
| Système | Rejeter | Trop général |
| Signal | Accepter | |
| Sortie | Rejeter | Sans rapport avec le système |
| Un autre type de carte pour les invités | Rejeter | Doublons avec les cartes d’invités |
| Réception | Rejeter | Sans rapport avec le système |
| Cartes d’invités | Accepter | |
| visiteur | Rejeter | Rôle |
Pour différencier les classes candidates acceptées et rejetées, changeons la couleur de surlignage en vert pour celles qui sont acceptées. Pour ce faire, cliquez sur la cellule surlignée en jaune et sélectionnez le vert dans le sélecteur de couleurs.

Ainsi, la liste restante des classes candidates est obtenue comme suit :
| Parking | Cartes d’identité | Accès | Barrière |
|---|---|---|---|
| Lecteur de carte | Signal | Cartes d’invité |
Réécriture des classes identifiées
Réécrivons les candidats acceptés de manière à : (1) uniformiser la forme du nom entre le singulier et le pluriel, et (2) refléter précisément le sens du texte extrait.
Lisez le tableau ci-dessous pour connaître les modifications nécessaires et l’explication de ces modifications.
| Texte extrait | Réécrire en | Raison |
|---|---|---|
| parking | ||
| cartes d’identité | carte du personnel | « Cartes d’identité » signifie littéralement tous les types de carte, mais selon le passage, le mot « carte d’identité » provient de la locution nominale « cartes d’identité pour tous les employés », donc il signifie en réalité carte du personnel. Nous devons la réécrire afin d’éviter toute confusion. |
| accès | ||
| barrière | ||
| lecteur de carte | ||
| signal | ||
| sortie | ||
| cartes d’invité | carte d’invité | Changer pour utiliser le singulier afin de correspondre aux autres mots |
Mettre à jour le nom des classes candidates en conséquence :

Création des éléments du modèle de classe à partir du texte
Vous avez identifié une liste de classes. Pour les utiliser dans la construction du modèle, vous devez les convertir de mots en éléments de modèle.
-
Sélectionnez les sept classes du tableau. Pour effectuer une sélection multiple, maintenez la touche Ctrl enfoncée et cliquez successivement sur les lignes.
-
Cliquez avec le bouton droit sur votre sélection et sélectionnez Créer un élément de modèle dans le menu contextuel.

-
Vous êtes invité à visualiser les éléments créés dans un diagramme. Gardez l’option Créer un nouveau diagramme sélectionnée. Renommez le diagramme de classe en Système de parking et cliquez sur Créer.

Cela crée un diagramme de classe.

Développement du modèle de classe – Identifier les relations structurelles
Vous disposez d’un ensemble de classes visualisées dans un diagramme de classe. Maintenant, identifiez leurs relations structurelles en les reliant à l’aide de connecteurs de relation tels que l’association, la généralisation et la dépendance. La figure ci-dessous montre le résultat. Au cours de ce processus, de nouvelles classes peuvent être ajoutées, comme l’ajout de la classe « carte » dans cet exemple en tant que classe mère des sous-classes carte du personnel et carte des invités.

Développement du modèle d’interaction – Identifier les attributs et les opérations
Les diagrammes de séquence sont créés pour visualiser les interactions entre les objets, c’est-à-dire les instances des classes identifiées ci-dessus. Au cours de ce processus, les attributs et les opérations seront identifiés, ce qui rendra le modèle de classe complet. Créons un diagramme de séquence pour visualiser le cas où un employé d’une entreprise conduit sa voiture dans le parking.
-
Créez un diagramme de séquence. Sélectionnez Diagramme > Nouveau dans le menu principal.
-
Dans la fenêtre Nouveau diagramme , sélectionnez Diagramme de séquence et cliquez sur Suivant. Sélectionnez Vide comme modèle et cliquez sur Suivant. Entrez Parking voiture (avec carte du personnel) comme nom du diagramme et cliquez sur OK.

-
Le scénario commence par un conducteur qui insère sa carte du personnel dans le lecteur de carte. Créons un acteur Personnel. Pour créer un acteur, sélectionnez le Acteur outil dans la barre d’outils du diagramme et faites-le glisser sur le diagramme.

-
Nous devons afficher le lecteur de carte comme un objet. Au lieu de créer une ligne de vie, créons une instance d’objet à partir de la lecteur de carte classe. Il existe plusieurs façons d’y parvenir. L’une d’entre elles consiste à réutiliser la classe via le Explorateur de modèle. Cliquez sur le Explorateur de modèle onglet situé à gauche de la fenêtre de l’application (ou sélectionnez Affichage > Panneaux > Explorateur de modèle si l’onglet n’est pas présent). Ensuite, faites glisser la classe lecteur de carte sur le diagramme.

-
Sélectionnez Ligne de vie pour créer lorsque vous êtes invité à choisir un type.
-
La ligne de vie est automatiquement nommée « lecteur de carte », suivant le nom du classificateur. Comme le nom est facultatif, supprimons-le. Cela rend également le diagramme plus facile à lire.

-
Connectez personnel avec : lecteur de carte. Déplacez le pointeur de la souris sur l’acteur personnel. Appuyez sur le Catalogue des ressources bouton et faites-le glisser vers la ligne de vie : lecteur de carte.

-
Relâchez votre pointeur de souris et sélectionnez Message de Catalogue des ressources.

-
Entrez insérer la carte du personnel pour être le nom du message.

-
En tant qu’appareil d’entrée, le lecteur de carte reçoit la carte, puis demande au système de la vérifier. Créons une ligne de vie pour le système. Comme nous n’avons pas une telle classe, nous créons directement la ligne de vie. Faites glisser Ligne de vie à partir de la barre d’outils du diagramme vers le diagramme. Nommez la ligne de vie système de stationnement automobile.

-
Créez un message vérifier carte() de : lecteur de carte à système de stationnement automobile.

-
Il existe deux résultats possibles : succès ou échec. Nous allons modéliser les deux cas. Dans un diagramme de séquence UML, un fragment combiné alternatif peut être utilisé pour modéliser plusieurs flux possibles. Créez un fragment combiné alternatif qui couvre l’acteur et les lignes de vie. Nous le redimensionnerons pour couvrir davantage de lignes de vie au fur et à mesure qu’elles seront ajoutées.

-
Si succès, le système chargera l’enregistrement de la carte du personnel. Créez un message auto charger personnel(). Pour ce faire, déplacez votre pointeur de souris au-dessus de système de stationnement et cliquez sur Catalogue des ressources, puis sélectionnez Message auto -> Ligne de vie à partir de Catalogue des ressources. Entrez le nom du message auto.

-
Suivez l’étape 4 pour visualiser la classe carte du personnel comme une ligne de vie. Encore une fois, supprimez son nom.

-
Supposons que l’heure du dernier accès soit définie sur l’enregistrement de la carte du personnel. Représentez cela par un message de réglage setDernierAccès().

-
Un enregistrement d’accès serait créé. Visualisons la accès classe sur le diagramme comme une ligne de vie, puis connectez-la avec un message de création. N’oubliez pas d’agrandir le fragment combiné alternatif pour couvrir la ligne de vie.

-
Un signal serait également créé pour déclencher la levée de la barrière. Visualisons la signal classe sur le diagramme, puis connectez-la avec un message de création. Jusqu’à présent, votre diagramme de séquence devrait ressembler à la figure ci-dessous.

-
Levez la barrière. Visualisez la barrière classe comme une ligne de vie et connectez-la avec un message de lever() message. Ici, nous nommons la ligne de vie entrée car il y a une barrière à la fois à l’entrée et à la sortie, mais dans ce diagramme, nous faisons référence à celle de l’entrée.

-
Enfin, demandez au lecteur de carte d’afficher un message indiquant la vérification réussie de la carte du personnel. Créez un message de séquence « afficher le message de succès » qui relie système de stationnement et : lecteur de carte.

-
Que se passera-t-il lorsque la carte ne peut pas être vérifiée ? Modélisons cela dans la partie inférieure du fragment combiné alt. Supposons que le système demandera au lecteur de carte d’afficher un message d’échec de vérification. Créez un tel message dans le diagramme.

-
Quel que soit le succès ou l’échec, la carte du personnel sera expulsée après le processus de vérification. Créons le message de séquenceexpulser la cartequi relie lesystème de stationnementet le: lecteur de carte.

-
Enfin, créez un message de retour carte retournée depuis: lecteur de carteauacteurpersonnel. Pour ce faire, créez le message, puis faites un clic droit dessus et sélectionnezType (non spécifié) > Réponsedans le menu contextuel.

-
Les deux compartiments du fragment combiné alt. sont appelés opérandes. Entrez les conditions des opérandes comme contraintes. Faites un clic droit sur l’étiquettealten haut à gauche du fragment combiné et sélectionnezOpérande > Gérer les opérandesdans le menu contextuel. Dans la fenêtre contextuelle, définissez la contrainte des deux opérandes commeCarte acceptéeetCarte rejetéerespectivement.

-
Créons des opérations à partir des messages de séquence. Tout d’abord, créez une classe à partir de la ligne de vie système de stationnement. Faites un clic droit sur la ligne de vie et sélectionnez SélectionnerClasse > Créer la classe « système de stationnement »dans le menu contextuel.

-
Reportez-vous à l’image suivante. Pour chacun des connecteurs mis en évidence, faites un clic droit dessus et sélectionnezSaisissez > Appel > Créer une opérationdu menu contextuel.

-
Revenez au diagramme de classe. Les opérations sont automatiquement présentées dans le modèle de classe.

En créant de plus en plus de diagrammes de séquence pour différents scénarios, le modèle de classe sera progressivement enrichi en incluant toutes les opérations et attributs dont le système a besoin.
Conclusion
Transformer les exigences en langage naturel en modèles UML précis est à la fois un art et une science. Cette étude de cas démontre que, grâce à une approche rigoureuse — commençant par l’analyse textuelle, appliquant des critères systématiques de rejet, reformulant pour plus de clarté, et affinant itérativement à l’aide de diagrammes de classe et de séquence — les équipes peuvent transformer des énoncés de problème ambigus en conceptions de système robustes et exploitables.
L’exemple du parking international Saturn illustre comment même des exigences apparemment simples contiennent des couches de complexité : plusieurs types d’acteurs, des flux conditionnels, des interactions matérielles et la gestion d’états. En exploitant l’environnement intégré de modélisation de Visual Paradigm, les praticiens peuvent maintenir la traçabilité depuis le texte initial jusqu’au code final, assurer la cohérence entre les diagrammes, et collaborer efficacement entre les parties prenantes techniques et non techniques.
Points clés pour les praticiens :
-
Commencez par une extraction large des candidats, puis affinez à l’aide de règles explicites de rejet
-
Utilisez des conventions de nommage singulières et cohérentes pour réduire l’ambiguïté
-
Exploitez les diagrammes de séquence pour découvrir des opérations et attributs cachés
-
Traitez la modélisation comme un processus itératif — chaque scénario enrichit le modèle de classe
-
Maintenez une traçabilité bidirectionnelle entre les exigences, les modèles et l’implémentation
Que vous conceviez des systèmes de contrôle d’accès, des flux métier d’entreprise ou des applications destinées aux clients, la méthodologie présentée ici fournit un cadre reproductible et évolutif pour transformer les mots en modèles logiciels fonctionnels.
Références
- Fonctionnalités de l’outil UML Visual Paradigm: Aperçu complet des capacités de modélisation UML de Visual Paradigm, incluant le support de tous les 14 types de diagrammes UML 2.x et des fonctionnalités de modélisation assistée par IA.
- Aperçu des 14 types de diagrammes UML: Guide détaillé expliquant les diagrammes UML structuraux et comportementaux ainsi que leurs cas d’utilisation appropriés dans la conception logicielle.
- Guide utilisateur de Visual Paradigm PDF: Documentation officielle couvrant l’installation, la navigation dans l’interface et les flux de modélisation de base dans Visual Paradigm.
- Documentation de modélisation UML: Instructions étape par étape pour créer, modifier et gérer des diagrammes UML dans l’environnement Visual Paradigm.
- Qu’est-ce qu’un diagramme UML ?: Introduction conviviale aux concepts UML, aux types de diagrammes et à leur rôle dans l’architecture logicielle et la communication de conception.
- Capturer les exigences à l’aide des cas d’utilisation: Guide pratique sur l’utilisation des diagrammes de cas d’utilisation et de l’analyse textuelle pour extraire, documenter et valider les exigences du système.
- Générateur de diagrammes de classes UML assisté par IA: Aperçu des fonctionnalités pilotées par IA de Visual Paradigm qui génèrent automatiquement des diagrammes de classes à partir de descriptions en langage naturel.
- Tutoriel de PlantUML vers des diagrammes visuels: Tutoriel vidéo montrant comment convertir le code script PlantUML en diagrammes UML interactifs et éditables au sein de Visual Paradigm.
- Qu’est-ce que le UML ?: Explication fondamentale des principes du langage de modélisation unifiée, de son histoire et de son importance dans les pratiques modernes du génie logiciel.
- Outils d’ingénierie du code: Description des fonctionnalités d’ingénierie bidirectionnelle, permettant la génération de code et la génie inverse pour plusieurs langages de programmation.
- Mappage de base de données avec ORM: Guide pour générer des schémas de base de données et des couches de persistance à partir de diagrammes de classes UML en utilisant des techniques de mappage objet-relationnel.
- Avantages de l’ingénierie des bases de données: Explication de la manière dont la modélisation intégrée des bases de données améliore la cohérence des données, réduit le temps de développement et soutient l’itération agile.
- Galerie de Visual Paradigm: Présentation de projets d’exemple, de modèles de diagrammes et d’exemples de modélisation spécifiques à des secteurs créés avec Visual Paradigm.
- Installation de Visual Paradigm: Guide d’installation officiel couvrant les exigences système, l’activation du licence et les étapes de configuration initiale.
- Intégration UML Eclipse: Documentation pour intégrer les outils de modélisation de Visual Paradigm directement dans l’IDE Eclipse afin de garantir des flux de développement fluides.
- Options d’outils UML gratuits: Comparaison des fonctionnalités de l’édition communautaire de Visual Paradigm par rapport aux capacités professionnelles, destinée aux équipes évaluant des solutions de modélisation.
- Processus logiciel de modélisation UML: Aperçu de la manière dont les outils UML s’intègrent dans les processus de développement itératif, y compris les méthodologies agiles, en cascade et hybrides.
- Fonctionnalités de l’outil de modélisation visuelle: Liste détaillée des fonctionnalités mettant en évidence la réutilisation intelligente des éléments, la validation de syntaxe et les capacités de catalogue de ressources qui distinguent les outils professionnels de modélisation.
- Outil UML pour les solutions d’entreprise: Description axée sur les entreprises sur la scalabilité de Visual Paradigm, ses fonctionnalités de collaboration et son intégration avec des outils de gestion des exigences et de planification agile.
- Page d’accueil de Visual Paradigm: Site web principal de Visual Paradigm, offrant des téléchargements de produits, des tutoriels, des forums communautaires et des ressources de support pour les praticiens de la modélisation.
- Collection de tutoriels UML: Bibliothèque soigneusement sélectionnée de tutoriels étape par étape couvrant des techniques de modélisation UML allant du débutant au niveau avancé, sur plusieurs types de diagrammes.
- Guide d’outil UML en chinois traditionnel: Ressource localisée offrant des conseils sur la modélisation UML et des informations sur le produit pour les utilisateurs et équipes parlant chinois traditionnel.
Cette publication est également disponible en Deutsch, English, فارسی, English, Polski, Portuguese, Ру́сский : liste des langues séparées par une virgule, Việt Nam : dernière langue.








