Plus précisément, comment modélisez-vous un programme fonctionnel, ou un programme développé à l'aide du style fonctionnel (sans classes) à l'aide d'un diagramme, et non d'une représentation textuelle, est-ce possible et est-ce que quelqu'un pourrait me diriger vers l'application la plus proche qui le ferait (open source, gratuit comme dans la bière, s'il vous plaît)
Réponses
Trop de publicités?Fonctionnelles, les programmeurs n'ont généralement pas beaucoup d'utilisation pour les diagrammes. De nombreuses fonctions de programmation (mais pas tous) que d'écrire en bas de types est une bonne façon de résumer la conception des relations OO programmeurs de mettre en diagrammes UML.
Parce que mutable état est rare dans les programmes fonctionnels, il n'y a pas mutables "objets", de sorte qu'il n'est généralement pas utile ou nécessaire de diagramme des relations entre eux. Et tandis qu'une fonction peut en appeler une autre, cette propriété est généralement pas important pour la conception globale d'un système, mais seulement à la mise en œuvre de la fonction de faire l'appel.
Si j'étais un sentiment d'un fort besoin de diagramme d'un programme fonctionnel je pourrais utiliser une carte conceptuelle dans laquelle les types de fonctions ou de jouer le rôle de concepts.
UML n'est pas seulement des diagrammes de classes, vous savez?
La plupart des autres types de diagrammes (diagrammes de cas d'utilisation, diagrammes d'activités, diagrammes de séquence ...) sont parfaitement applicables pour un style de programmation purement fonctionnel. Même les diagrammes de classes pourraient toujours être utiles, si vous n'utilisez simplement pas d'attributs et d'associations et si vous interprétez «classe» comme «collection de fonctions connexes».
Les programmeurs fonctionnels ont leur propre version d'UML, elle s'appelle la théorie des catégories .
(Il y a une certaine vérité à cela, mais elle doit être lue avec une touche d' humour ).
UML est un recueil de différents types de modélisation. Si vous parlez du diagramme d'objets (diagramme de classes), vous n'allez pas trouver quoi que ce soit qui correspond à votre utilisation souhaitée. Mais si vous parlez d'un diagramme d'interaction (diagramme d'activité) ou d'un diagramme d'exigences (diagramme de cas d'utilisation), bien sûr, ils vous aideront et font partie de la base UML.
UML est une approche objet, car au niveau graphique, vous ne pouvez pas définir la modélisation fonctionnelle. Une astuce consiste à ajouter directement des contraintes et des notes au modèle et non pas dans le schéma de niveaux. Je veux dire que vous pouvez écrire une fonctionnelle complète de la documentation sur chaque élément de modèle directement dans le méta-modèle et seulement l'affichage d'un objet à l'aide de l'éditeur UML. C'est peut-être stupide, mais j'ai trouvé cette démo en français langue exactement sur le même sujet, et à l'aide de EclipseUML Omondo : OCL et UML 2.2 (démo en français langue 3mn): http://www.download-omondo.com/regle_ocl.swf
Cette démonstration explique comment ajouter des contraintes directement sur des méthodes au niveau du méta-modèle. Le point intéressant de cette démonstration est que l'utilisation d'un modèle unique pour l'ensemble du projet permet d'être suffisamment souple pour s'étendre traditionnel UML et d'éviter SysML, BPMN, DSL additionels modèles parce que toute l'information est bâti sur le haut de l'UML 2.2 méta-modèle. Je ne sais pas si ce sera un succès, mais cette initiative est très intéressante car de réduire la modélisation de la complexité et de l'ouvrir de nouveaux horizons !!