Aller au contenu

Exemples de diagramme de flux de données : diagramme de contexte, niveau 0 et niveau 1

Des exemples détaillés de diagramme de flux de données pour une boutique en ligne : symboles DFD, diagramme de contexte, niveaux 0 et 1, équilibrage et erreurs courantes.

· Fondateur et développeur

Publié le

Au centre, les boîtes Customer, Payment provider et Warehouse. À gauche, le cadre du contexte contient un processus, Online store, qui échange avec elles des flux nommés. À droite, le cadre du niveau 0 contient Take order, Process payment, Fulfil order et les magasins Orders et Products.

Un diagramme de flux de données (DFD) montre comment l'information circule dans un système : d'où elle vient, ce qui la transforme, où elle est stockée et où elle va. Il ne dit rien du timing, des boucles ni du serveur qui exécute quoi, et c'est sa force. Un DFD est le moyen le plus rapide de se mettre d'accord sur les données qu'un système traite. C'est pourquoi on le retrouve dans le recueil des exigences, les revues de confidentialité et la modélisation des menaces.

Cet article présente les symboles DFD dans les deux notations classiques, puis déroule un exemple, une boutique en ligne, sur trois niveaux : le diagramme de contexte, le niveau 0 et le niveau 1. Il explique aussi la confusion autour du « niveau 0 », la règle d'équilibrage qui garde les niveaux cohérents et les erreurs que recherchent les relecteurs.

Les symboles DFD

Les DFD utilisent quatre éléments. Deux notations dominent, toutes deux issues des livres d'analyse structurée de la fin des années 1970 : Yourdon et DeMarco, et Gane et Sarson.

Élément Ce que c'est Yourdon et DeMarco Gane et Sarson
Entité externe Une personne, une organisation ou un système hors de la frontière, qui envoie ou reçoit des données Rectangle Carré, souvent ombré
Processus Un travail qui transforme des données Cercle, ou bulle Rectangle arrondi avec une bande d'identifiant
Magasin de données Des données au repos : une table, un fichier ou une file Deux lignes parallèles Rectangle ouvert d'un côté, avec un identifiant comme D1
Flux de données Des données en mouvement, nommées par un nom Flèche Flèche

Les notations sont équivalentes ; choisissez-en une et tenez-vous-y. Beaucoup d'outils modernes dessinent les magasins de données en cylindres, que les lecteurs reconnaissent immédiatement. Quel que soit votre choix, ajoutez une légende.

Les règles qui rendent un DFD valide

  1. Chaque processus a au moins une entrée et une sortie. Un processus qui n'a que des entrées est un trou noir ; un processus qui n'a que des sorties, un miracle.
  2. Les données ne circulent qu'à travers des processus. Aucun flux ne va directement d'une entité externe à un magasin de données, d'un magasin à un autre ou entre deux entités externes.
  3. Les flux portent des noms qui décrivent des données, comme « détails de commande » ou « résultat de paiement », et non des actions comme « envoyer » ou « vérifier ».
  4. Les processus sont nommés par un verbe et un complément : « Prendre la commande », « Exécuter la commande ».
  5. Chaque processus est numéroté, et sa décomposition reprend le numéro : le processus 1 devient 1.1, 1.2 et 1.3.

Les niveaux, et la confusion du niveau 0

Un DFD se dessine du haut vers le bas, en niveaux de détail croissant :

  • Le diagramme de contexte montre tout le système comme un seul processus, entouré de toutes les entités externes et des flux qui les relient. Il définit la frontière.
  • Le niveau suivant décompose ce processus unique en ses processus principaux, ajoute les magasins de données et conserve les mêmes flux externes.
  • Les niveaux inférieurs décomposent des processus individuels, aussi loin que nécessaire.

Voici la confusion : certains manuels et outils appellent le diagramme de contexte « niveau 0 » et sa première décomposition « niveau 1 », tandis que d'autres, fidèles à la pratique plus ancienne de l'analyse structurée, traitent le diagramme de contexte comme un niveau à part et appellent la première décomposition « diagramme 0 » ou « niveau 0 ». Aucune des deux n'est fausse. Cet article suit la seconde convention : diagramme de contexte, puis niveau 0, puis niveau 1. Quelle que soit la vôtre, écrivez-la sur le diagramme.

L'exemple : une boutique en ligne

Une boutique en ligne prend les commandes des clients, les encaisse via un prestataire de paiement et envoie des listes de préparation à un entrepôt qui expédie les marchandises.

Diagramme de contexte

Un processus, « 0 Online store », et trois entités externes :

Flux De Vers
Order details Customer Online store
Order confirmation Online store Customer
Payment request Online store Payment provider
Payment result Payment provider Online store
Pick list Online store Warehouse
Shipment status Warehouse Online store

Voilà tout le système vu de l'extérieur. N'importe qui peut le relire en une minute, et il répond déjà à des questions importantes : quelles organisations reçoivent des données clients, et de quels systèmes dépendons-nous.

Niveau 0

Décomposez la boutique en ligne en trois processus et deux magasins de données :

  1. Take order reçoit les détails de commande du client, lit les prix dans D2 Products, écrit la commande dans D1 Orders et transmet une demande de paiement au processus 2.
  2. Process payment envoie la demande de paiement au prestataire, reçoit le résultat du paiement, met à jour la commande dans D1 Orders et transmet les commandes payées au processus 3.
  3. Fulfil order lit les commandes payées, envoie la liste de préparation à l'entrepôt, reçoit le statut d'expédition et envoie la confirmation de commande au client.

Chaque flux externe du diagramme de contexte réapparaît au niveau 0, relié aux mêmes entités. C'est l'équilibrage, et le diagramme ci-dessous le rend visible.

Niveau 1

Chaque processus du niveau 0 peut être décomposé à son tour. Le processus 1, Take order, au niveau 1 :

Processus Entrées Sorties
1.1 Valider le panier Order details venant de Customer Panier valide
1.2 Chiffrer la commande Panier valide, prix des produits venant de D2 Products Commande chiffrée
1.3 Enregistrer la commande Commande chiffrée Nouvelle commande vers D1 Orders, demande de paiement vers le processus 2

Prises ensemble, les entrées et sorties de 1.1 à 1.3 doivent correspondre aux entrées et sorties du processus 1 au niveau 0. Dessinez chaque décomposition de niveau 1 comme un diagramme à part, avec le numéro du processus parent dans le titre.

L'équilibrage : la règle que les relecteurs vérifient en premier

Un diagramme enfant est équilibré lorsque les flux de données qui y entrent et en sortent sont les mêmes que ceux qui entrent dans son processus parent et en sortent. Si le niveau 0 montre un flux « demande de remboursement » absent du diagramme de contexte, l'un des deux est faux : soit le système a une interface sur laquelle personne ne s'est mis d'accord, soit le diagramme de contexte est incomplet. L'équilibrage rend les niveaux d'un DFD fiables en tant qu'ensemble, et il se vérifie facilement en listant côte à côte les flux externes de chaque niveau.

Erreurs courantes

  • Dessiner un logigramme. Les décisions, les boucles et les flèches « ensuite » relèvent d'un logigramme ou d'un diagramme BPMN. Un DFD montre des données, pas un contrôle.
  • Des flux sans nom. Une flèche sans étiquette n'apprend rien au relecteur ; nommez les données qu'elle transporte.
  • Trop de processus par diagramme. Au-delà de sept à neuf processus environ sur un niveau, la lecture devient difficile. Regroupez-les et décomposez les groupes au niveau suivant.
  • Des magasins de données qui ne font que recevoir. Si rien ne lit jamais un magasin, pourquoi existe-t-il ? Si rien n'y écrit, d'où viennent ses données ?
  • Mélanger les niveaux. Montrer des sous-processus détaillés à côté de processus de haut niveau sur le même diagramme casse la hiérarchie.

DFD, logigrammes et diagrammes d'architecture

Diagramme de flux de données Logigramme Diagramme d'architecture
Montre Les données, leurs sources, transformations et stockage Les étapes, les décisions et l'ordre Les composants, le déploiement et les connexions
Temps et ordre Non Oui Rarement
Idéal pour Exigences, revues de confidentialité, modèles de menaces Procédures et algorithmes Conception et exploitation

Les DFD sont l'entrée standard de la modélisation des menaces : ajoutez des frontières de confiance à un diagramme de niveau 0 et vous avez la base d'une revue STRIDE, comme le montre l'article sur le diagramme de flux de données pour la modélisation des menaces. Ils sont tout aussi utiles pour la confidentialité : le diagramme de cartographie des données RGPD suit les données personnelles à travers le même type de flux.

Le diagramme des niveaux DFD

Au centre, les boîtes Customer, Payment provider et Warehouse. À gauche, le cadre du contexte contient un processus, Online store, qui échange avec elles des flux nommés. À droite, le cadre du niveau 0 contient Take order, Process payment, Fulfil order et les magasins Orders et Products.

12 composants · 17 connexions

Ouvrir dans Archboard
Contenu du diagramme
  • Context diagram
  • 0 Online store
  • Customer
  • Payment provider
  • Warehouse
  • Level 0
  • 1 Take order
  • 2 Process payment
  • 3 Fulfil order
  • D2 Products
  • D1 Orders
  • order details
  • order confirmation
  • payment request
  • payment result
  • pick list
  • shipment status
  • order to pay
  • paid order
  • prices
  • new order
  • payment status
Deux niveaux du même diagramme de flux de données d'une boutique en ligne. Le contexte montre le système comme un seul processus ; le niveau 0 le décompose en trois processus et deux magasins de données, avec les mêmes flux vers les mêmes entités externes, d'où l'équilibre.

Comment le lire :

  • Les entités externes sont au centre : Customer, Payment provider et Warehouse. Les deux diagrammes s'y connectent.
  • Le cadre de gauche est le diagramme de contexte : un processus, 0 Online store, avec six flux nommés vers les entités.
  • Le cadre de droite est le niveau 0 : Take order, Process payment et Fulfil order, avec les magasins de données Orders et Products.
  • L'équilibrage est visible : chaque flux externe de gauche réapparaît à droite, désormais relié au processus qui le traite.
  • Le bloc Markdown contient la légende et la convention de numérotation.

Dessiner des DFD qui passent la relecture

  • Nommez chaque flux avec un nom. La plupart des commentaires de relecture sur les DFD portent sur des flèches sans étiquette ou mal étiquetées.
  • Numérotez les processus de façon cohérente d'un niveau à l'autre, pour qu'un lecteur puisse remonter de 1.2 à 1.
  • Gardez les entités externes aux mêmes positions à chaque niveau ; l'équilibrage devient facile à voir.
  • Ajoutez une légende pour votre notation, surtout si vous mélangez les symboles classiques et des cylindres pour les magasins de données.

Pour la notation d'autres types de diagrammes, voyez l'exemple de réponse aux incidents sous forme de logigramme et l'exemple de diagramme BPMN.

Le construire dans Archboard

  1. Connectez-vous avec Google ou GitHub et créez un diagramme.
  2. Ajoutez trois nœuds Boîte du pack Base dans une colonne centrale pour Customer, Payment provider et Warehouse.
  3. Ajoutez à gauche un Cadre du pack Base nommé Context diagram, avec une forme Ellipse du pack Base pour 0 Online store.
  4. Ajoutez à droite un second Cadre nommé Level 0, avec trois formes Ellipse pour les processus et deux formes en variante Cylindre pour D1 Orders et D2 Products.
  5. Dessinez les flux comme des arêtes étiquetées, avec les mêmes étiquettes des deux côtés des entités.
  6. Ajoutez un bloc Markdown du pack Base avec la légende et la convention de numérotation.

L'exemple utilise 12 nœuds de diagramme et reste dans les limites de l'offre Free.

FAQ

Quels sont les quatre symboles d'un diagramme de flux de données ? Les entités externes, les processus, les magasins de données et les flux de données. Yourdon et DeMarco dessinent les processus en cercles et les magasins en lignes parallèles ; Gane et Sarson utilisent des rectangles arrondis et des rectangles ouverts.

Quelle est la différence entre un diagramme de contexte et un DFD de niveau 0 ? Un diagramme de contexte montre tout le système comme un seul processus avec ses entités externes. Le niveau suivant décompose ce processus en sous-processus principaux et en magasins de données. Certaines sources appellent le diagramme de contexte niveau 0 ; précisez donc votre convention.

Que signifie l'équilibrage dans un DFD ? Les flux de données qui entrent dans un diagramme enfant et en sortent doivent correspondre aux flux de son processus parent. Cela garantit que les niveaux décrivent le même système.

En quoi un DFD diffère-t-il d'un logigramme ? Un DFD montre quelles données vont où et comment elles sont transformées, sans ordre ni décisions. Un logigramme montre la séquence des étapes et les décisions entre elles.

Combien de niveaux un DFD doit-il avoir ? Autant que les lecteurs en ont besoin. La plupart des systèmes sont bien décrits par un diagramme de contexte et un niveau 0, avec des diagrammes de niveau 1 seulement pour les processus complexes ou sensibles.

Commencez gratuitement — un siège, sans carte bancaire.

Articles associés

← Retour au blog

Ouvrez un canevas en une minute

Connectez-vous avec Google ou GitHub. Gratuit pour un siège. Passez à un forfait supérieur quand l’équipe vous rejoint.