web-dev-qa-db-fra.com

Les diagrammes de classes UML sont-ils adéquats pour concevoir des systèmes JavaScript?

Étant donné que UML est orienté vers une approche plus classique de l'orientation des objets, est-il toujours utilisable de manière fiable pour concevoir des systèmes JavaScript?

Un problème spécifique que je peux voir est que les diagrammes de classes sont, en fait, une vue structurelle du système, et que JavaScript est plus axé sur le comportement, comment pouvez-vous y faire face?

Veuillez garder à l'esprit que je ne parle pas du domaine du monde réel ici; c'est un modèle de solution que j'essaie de trouver.

23
Julio Rodrigues

On dirait que vous demandez deux choses différentes

  • UML peut-il être utilisé pour représenter des systèmes javascript?
  • Les diagrammes de classes peuvent-ils être utilisés pour représenter des systèmes javascript?

Gardez à l'esprit que UML comprend de nombreux types de diagrammes , en particulier une branche de diagrammes de comportement, y compris des diagrammes de séquence et d'utilisation. Ces diagrammes répondent spécifiquement à votre souci de modéliser javascript en tant que langage axé sur le comportement.

Il est fort possible qu'un système javascript n'utilise pas une conception orientée objet. Dans un tel cas, les diagrammes de classes ne seraient probablement pas appropriés, comme vous l'avez souligné. Cependant, étant donné que javascript prend en charge la conception orientée objet, il est possible que les diagrammes de classes représentent efficacement un système utilisant javascript. Cela dépend vraiment de la façon dont le javascript est utilisé.

18
David Kaczynski

Votre réponse est cachée dans votre question:

Un problème spécifique que je peux voir est que les diagrammes de classes sont, en fait, une vue structurelle du système, et que javascript est davantage axé sur le comportement, comment pouvez-vous y faire face?

Regardez BDD (Behavior-driven development) techniques et choisissez les outils qui répondent à vos besoins de conception.

Discussion connexe que vous pourriez trouver utile de regarder - Comment écrire des histoires/scénarios dans BDD . Et un article très complet du magazine Code - Behaviour-Driven Development

ps: En général, UML represent general types of behavior, mais il peut toujours être utilisé pour modéliser votre conception avec le bon ensemble de catégories sélectionnées (comme un diagramme de séquence). I would reference the Wikipedia and find the right UML diagram category to use.

5
Yusubov

Il y a eu des travaux pour adapter l'application Web à UML, son appelée l'extension WAE et il y a un livre intitulé Building Web Applications with UML par Jim Conallen qui l'explique en détail. Vous pouvez voir les variables et la fonction de JavaScript dans le diagramme de classes.

Pourquoi je pense que c'est la meilleure option pour modéliser une application Web? Parce que tout le monde sait comment fonctionne le diagramme de classe et c'est la chose la plus proche. C'est très facile à comprendre et les programmeurs sont trop paresseux pour lire la documentation en mots, mais regarder un diagramme n'est pas si difficile;). Cependant, si vous voulez voir ce qui se passe lors de l'exécution, vous devez rechercher un diagramme de séquence car dans une application Web, des fichiers sont parfois générés dynamiquement.

Diagram generated by node.js package "wavi"

4
Bakunin95

Il existe également des modèles de comportement en UML que vous pouvez utiliser pour décrire le comportement du système comme les diagrammes de séquence ou le diagramme de diagramme d'état

3
Dummy Derp

Oui, vous pouvez utiliser UML, notamment les diagrammes de séquence .

En ce qui concerne l'utilisation des diagrammes de classes , cela dépend si vous concevez votre application en utilisant des principes de conception orientés objet ou non. Si vous n'avez qu'un tas de fonctions JavaScript, les diagrammes de classes n'ajoutent pas grand-chose. Si vous utilisez des prototypes d'objets JavaScript pour simuler une sorte de classes, ces diagrammes seront utiles.

Sur la base de mon expérience dans la conception de frontaux Javascript en UML, j'ai écrit un livre blanc sur le sujet: Conception technique en UML pour Angular .

1

Il semble que vous puissiez utiliser UML pour JavaScript, mais cela dépendra de la façon dont vous allez aborder votre travail.

Plus précisément JS/UML peut automatiser la documentation UML pour JSDoc, Dojo, YUI.

Je suppose qu'il y en a plus, mais je n'ai encore rien rencontré d'autre.

0
knguyeniii