Dans la notation de diagramme de classes UML, comment désigner une fonction de niveau supérieur qui n'a pas de classe d'encapsulation ou autre structure?
Par exemple, j'ai une fonction utilisée pour récupérer des données à partir d'une URL. Puisqu'il s'agit d'une fonction (au sens mathématique) de seulement ses paramètres et d'un état global partagé, la fonction n'est pas placée dans une classe mais laissée comme méthode de niveau supérieur.
Maintenant, cependant, je dois créer un diagramme UML pour un programme l'utilisant, et je ne trouve rien sur la façon de désigner une fonction de niveau supérieur. Comment puis-je faire cela?
static
méthode d'une classe spéciale appelée par exempleglobal
Réponses:
Le langage UML ne prend pas en charge la notion de fonctions autonomes. Dans UML, toutes les fonctions doivent faire partie d'une classe.
Pour contourner ce problème, vous pouvez modéliser vos fonctions autonomes en tant que membres statiques d'une classe à laquelle elles sont étroitement liées. S'il n'y a pas une telle classe, vous pouvez modéliser ces fonctions comme faisant partie d'une classe factice, comme la
global
classe mentionnée par @xmojmr dans les commentaires.la source
Créez un stéréotype que vous pouvez attacher au classificateur "classe", par exemple
<<global function>>
. Vous pouvez ensuite créer une seule "classe" stéréotypée pour chaque fonction globale contenant une opération statique entièrement spécifiée.Le stéréotype que je propose dit à la personne qui lit le diagramme d'interpréter le classificateur comme une fonction. Le rectangle (avec le stéréotype) sur un diagramme donné représenterait une seule fonction, tandis que ses dépendances représentent les dépendances de cette seule fonction.
la source