É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 pour la solution que j'essaie de réaliser.
design
object-oriented
javascript
uml
Julio Rodrigues
la source
la source
Réponses:
On dirait que vous demandez deux choses différentes
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 de cas 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é.
la source
Votre réponse est cachée dans votre question:
Regardez les techniques BDD (Behaviour-driven development) 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 - Développement axé sur le comportement
ps: En général,
UML represent general types of behavior
cependant, 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.
la source
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.
la source
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 les diagrammes d'états.
la source
Oui, vous pouvez utiliser UML, notamment des 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 les applications angulaires .
la source
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.
J'imagine qu'il y en a plus mais que je n'ai encore rien rencontré d'autre.
la source