Il n'existe pas de modèle équivalent en OOD. Les DFD mettent l'accent sur la séparation des données et des fonctions. C'est très utile lorsque l'on travaille de manière procédurale. Les DFD s'adaptent beaucoup mieux que la DOO. Si vous essayez de vous adapter (à la vision du monde) en utilisant la DOO, vous finissez par utiliser des diagrammes de cas d'utilisation, qui sont utiles pour capturer les essences. J'ai adoré les DFD, ils sont d'un niveau tellement élevé, et pourtant ils peuvent être étendus en ouvrant une boîte DFD et en l'appelant niveau 1, etc.
Je suis actuellement en train d'apprendre le langage de programmation Go, qui n'utilise pas du tout d'objets et, à certains égards, je pense que la modélisation DFD lui conviendrait bien mieux.
Je suis moi aussi à la recherche d'un schéma qui pourrait faire ce genre de travail. En Go, on utilise intensivement les structs qui sont des types de données de base. Vous pouvez avoir une méthode d'extension primitive qui lui est attachée, ce qui ressemble à du OO, mais en fait, si vous regardez le code de l'Assemblée, cela semble être du sucre syntaxique pour une fonction, dont le premier paramètre est la structure sur laquelle vous souhaitez que la fonction opère.
Mon conseil, c'est que si vous faites du code OO, alors utilisez OOD. Ils sont mieux adaptés et aident à réfléchir à un système. Il faut un certain temps pour se sortir du code procédural, surtout si vous venez de la programmation des années 80/90. Une fois que vous êtes dans la zone de réflexion sur les objets, les méthodes OOD fonctionnent bien. Il ne s'agit pas d'une méthodologie à proprement parler, car il n'y a pas de réponse directe à la question de savoir quelles parties utiliser. Un bon livre à ce sujet est "Object Thinking--David West"... cela aide à penser d'abord aux objets. Une fois que vous avez commencé, il est très difficile de s'arrêter, vous pouvez même, comme certains, finir par être pris au piège dans le royaume des noms, qui est un endroit horrible à être, parce que vous écrivez du code passe-partout sans fin, juste pour que le système soit parfaitement décrit. C'est une forme d'enfer de codage que j'ai évité pendant de nombreuses années.
Si vous codez dans un langage qui autorise le code procédural, ou même un mélange OO/Procédural, vous devez décider de votre paradigme avant de commencer à coder, par exemple dans Python et Object Pascal (Delphi), vous pouvez suivre l'une ou l'autre voie de codage OO ou procédural, mélangeant le code dans un fouillis de paradigmes. Cela déterminera les outils de diagramme à utiliser et la manière dont vous allez analyser le système.
Récemment, des changements ont été apportés à Java et à c# pour fournir des techniques de programmation fonctionnelle. J'ai découvert que ces techniques n'entrent dans aucune des catégories de programmation (OO ou procédurale). Essayer de faire correspondre un code de programmation fonctionnelle à un objet est un cauchemar.
Je suis désolé de ne pas avoir apporté de réponse, mais cela dépend du code que vous écrivez.