Quelles sont les choses essentielles que l'on doit savoir sur UML?

18

Je veux que mes gribouillis sur la conception et le comportement d'un programme soient plus rationalisés et aient un langage commun avec les autres développeurs.

J'ai regardé UML et en principe, il semble être ce que je recherche, mais il semble exagéré. Les informations que j'ai trouvées en ligne semblent également très gonflées et académiques.

Comment puis-je comprendre UML de manière simple en anglais, assez pour pouvoir l'expliquer à mes collègues? Quelles sont les ressources canoniques pour comprendre UML au niveau du sol?

Hanno Fietz
la source
1
J'ai mieux aimé l'ancien titre, du moins au début: "Quel est le 10% d'UML le plus utile?" Sinon, bon montage!
Joey Adams
si vous avez déjà de la documentation écrite probablement déjà en uml, vous ne savez tout simplement pas comment ils ont décidé d'appeler votre type de documentation
Ryathal

Réponses:

4

J'ai aimé les questions - les mêmes que je me suis posées:

Comment puis-je comprendre UML de manière simple en anglais, assez pour pouvoir l'expliquer à mes collègues? Quelles sont les ressources canoniques pour comprendre UML au niveau du sol?

Voici ce que j'ai trouvé:

Pour un coup de pouce: mon choix serait UML Distilled de Fowler . C'est vraiment une distillation des bases, comme cela a été mentionné: définitions, exemples, conseils sur quand un certain type de diagramme doit ou ne doit pas être utilisé. C'est aussi une bonne référence , si vous voulez vous concentrer sur une certaine partie d'UML sans lire le livre de couverture en couverture.

Pour une introduction plus détaillée, mais en anglais simple: UML 2 for Dummies a fait pour mes collègues et moi. Il présente non seulement UML, sa syntaxe et ses utilisations détaillées, mais il contient également de nombreux conseils sur les bonnes pratiques de programmation et de conception.

Il existe des différences occasionnelles entre les deux livres sur la syntaxe à laquelle appartient la version du standard UML. Ceux-ci sont cependant infimes et certainement pas essentiels pour utiliser des diagrammes UML pour communiquer des idées de conception. (Par exemple: si UML 2 autorise des multiplicités discrètes, c'est-à-dire montrant qu'une certaine propriété peut avoir exactement X, Y ou Z objets, plutôt que juste zéro, un, plusieurs ou plus que X, disons; quand les noms des participants doivent être soulignés. ..)

Pour une introduction totalement non académique et moins verbeuse: ce blog contient des articles sur différents morceaux d'UML: http://blog.diadraw.com/category/uml/

Ce n'est pas un manuel, il est donc loin d'être exhaustif, mais utilise également des histoires et des exemples non manuels, qui sont liés à. Les quelques articles disponibles sont axés sur l'introduction visuelle des concepts UML, vous pouvez donc ignorer complètement la lecture du texte.

rouleau
la source
Ce lien de blog est sympa.
Hanno Fietz
8

J'ai vraiment aimé UML Distilled de Martin Fowler . Court et doux, et plus que suffisant pour les discussions sur le tableau blanc. Obtenez quelques exemplaires et faites-les circuler dans l'équipe.

Kevin Cline
la source
1
+1 pour avoir mentionné ce livre, je l'ai complètement oublié en écrivant ma réponse!
Alexander Galkin
2
Pouvez-vous nous en dire un peu plus sur vos expériences avec le livre?
Quelle était la raison du vote négatif?
Kevin Cline
1
L'une des premières choses que j'ai faites lorsque je suis devenu chef d'équipe a été d'acheter des exemplaires de ce livre pour tout le monde dans mon équipe. Cela nous a donné à tous un vocabulaire commun pour discuter de nos conceptions. Certains des plus jeunes ont également indiqué que cela les avait aidés à mieux comprendre les diagrammes dans les divers livres de modèles de conception qu'ils lisaient.
TMN
2
@kevincline Je crée généralement un lien vers Amazon, car il convertit le lien en URL de référence pour Stack Exchange. Si quelqu'un clique et achète à partir de cette URL, Stack Exchange peut gagner de l'argent. Il devient également trivial, avec le titre, l'auteur et les informations ISBN d'Amazon, de trouver le livre chez le libraire préféré de votre choix.
Thomas Owens
5

Les diagrammes seuls ne sont pas toujours utiles. Par exemple, le diagramme de cas d'utilisation ne peut pas transmettre les règles métier en détail. Le diagramme de classes peut être très utile car vous pouvez générer du code de classe et des DLL à partir de celui-ci.

Je trouve ces diagrammes les plus utiles:

  • Diagramme de cas d'utilisation
  • Diagrammes de classes
  • Diagramme d'activité
  • Diagramme de séquençage

Il y a tellement de ressources utiles, mais vérifiez-les:

Edit-1 en réponse au commentaire de Mark.

Bien que je n'utilise pas ces ressources au quotidien, elles servent de référence rapide pour la syntaxe UML. Les ressources ci-dessus sont choisies car elles fournissent une représentation rapide et assez complète des diagrammes UML. Il montre des diagrammes courants et aide le nouvel utilisateur UML à voir rapidement la différence entre eux. La première ressource, la vidéo, donne des détails sur le cas d'utilisation et sa relation avec d'autres diagrammes. Les ressources ci-dessus ne devraient pas être suffisantes pour quiconque souhaite apprendre UML ou OOD, je me rends compte que l'apprentissage de ces sujets n'était pas prévu dans la question d'origine.

Aucune chance
la source
+1 pour les diagrammes de classe , de séquence et d' activité . Je ne suis pas du tout convaincu par les diagrammes de cas d'utilisation, sinon qu'ils sont d'excellentes couvertures pour les rapports car les utilisateurs semblent aimer les photos.
Sjoerd
@Sjoerd, merci pour votre commentaire. Comme vous l'avez correctement spécifié, les cas d'utilisation sont appréciés des utilisateurs. En outre, les diagrammes de cas d'utilisation ont de nombreuses valeurs. Ils vous permettent d'identifier les acteurs (primaire et secondaire) et vous permettent de découvrir des "Cse Level Cse Cases". Sa relation avec votre diagramme d'activité et votre diagramme de classe permet de créer une cohésion dans votre spécification. N'oubliez pas qu'ils ne remplacent pas les règles commerciales détaillées et la documentation complète des exigences.
NoChance
Pouvez-vous approfondir vos expériences avec ces ressources? Et eux, et pas les autres, vous ont aidé à comprendre UML?
@MarkTrapp, merci pour votre commentaire et pour les modifications.
NoChance
2

Si vous êtes satisfait de seulement 10%, vous ne devriez pas essayer de l'apprendre du livre UML. Plutôt, vous feriez mieux de lire un bon livre sur l' analyse orientée objet ou les modèles de conception - ces livres vous fournissent les 10% que vous recherchez.

Si vous êtes néanmoins à la recherche d'un tutoriel pour UML, je recommanderais cette page Web , et en particulier cet essai sur les diagrammes UML (ce n'est pas une publicité, je n'ai personnellement aucune relation avec ce site). Parcourez simplement les diagrammes et regardez-les: ils sont pour la plupart auto-explicatifs et vous pouvez facilement comprendre ce qu'ils décrivent tant que vous connaissez OOP et généralement la conception et l'architecture du programme.

Pourquoi recommanderais-je exactement cette page? (demandé dans le commentaire)

Il y a plusieurs raisons pour lesquelles je l'ai aimé plus que les autres:

  1. Il vous présente un tableau récapitulatif des diagrammes UML sur la toute première page.
  2. Ce tableau, en plus de donner la brève description de chaque digramme UML2.0, a également une colonne très utile "Priorité d'apprentissage" qui peut aider un débutant UML à identifier les diagrammes UML les plus utilisés.
  3. Même s'il contient également des diagrammes rendus par machine, la plupart des diagrammes semblent dessinés à la main (probablement ils sont dessinés à la main). Je prends cela comme un signe que la modélisation peut toujours être effectuée en utilisant uniquement votre crayon et votre papier, pas besoin de vous plonger dans le logiciel de visualisation UML au tout début.
Alexander Galkin
la source
Pouvez-vous approfondir vos expériences avec ces recommandations? Et eux, et pas les autres, vous ont aidé à comprendre UML?
1

La référence de poche UML 2.0 d'O'Reilly est un peu plus détaillée que cela, mais probablement le meilleur choix car elle est assez petite pour trouver rapidement ce dont vous avez besoin mais a toujours des explications quand vous en avez besoin. Et il est à jour, ce qui n'est pas le cas pour les "feuilles de triche UML" ou les cartes de référence que j'ai trouvées sur le Web - celles-ci décrivent principalement UML 1.x

Michael Borgwardt
la source
Pouvez-vous approfondir vos expériences avec ce livre? Qu'en est-il, et pas d'autres livres, qui vous ont aidé à comprendre UML?
@Mark Trapp: principalement le fait qu'il est petit, vous pouvez donc rapidement récupérer tous les éléments essentiels sans vous perdre dans les détails et les cas spéciaux.
Michael Borgwardt
0

Cela comprend trois parties:

  1. Obtenez une référence UML formelle

    Chaque fois que vous apprenez une nouvelle "langue", obtenez une référence que vous pouvez retirer et utiliser à tout moment, que ce soit un livre ou une ressource en ligne. UML Distilled est petit, a de grandes explications et beaucoup de diagrammes clairs. Même si vous n'utilisez pas toutes les fonctionnalités, vous pouvez toujours revenir en arrière et regarder la "bonne" façon d'exprimer quelque chose.

  2. Utiliser UML pour modéliser des choses

    Maintenant que vous avez une référence, commencez à l'utiliser pour modéliser certains petits systèmes existants ou des systèmes que vous commencez à utiliser. Vous voudrez probablement vous en tenir aux diagrammes de classes, aux diagrammes de séquence et aux diagrammes d'état pour la plupart des situations. S'il y a quelque chose dont vous n'êtes pas sûr, consultez votre référence et recherchez l'utilisation "correcte" - si cela ne vous aide pas, essayez de googler ou demandez sur Stack Overflow. Tout comme la programmation, la pratique est la clé.

  3. Utiliser du UML dans des projets réels

    Lorsque vous commencez à utiliser UML avec votre équipe, n'oubliez pas que ce n'est qu'un outil pour comprendre le système que vous avez construit ou allez construire. Vous devez toujours vérifier votre référence lors de la création de diagrammes, mais concentrez-vous sur la transmission des informations, sans suivre strictement les règles.

Pensez à vos cours d'écriture au lycée. Votre professeur a probablement considéré comme un péché cardinal de commencer des phrases avec "et", "mais" ou "ou". Au fur et à mesure que vous écriviez et que vous maîtrisiez davantage la langue anglaise, vous avez appris à plier les règles pour un meilleur effet - vous êtes passé de la bonne approche à celle qui exprimait le mieux ce que vous vouliez dire. UML doit être utilisé dans l'industrie de la même manière.

derekerdmann
la source
0

Je dirais que si vous connaissez UML, tous les diagrammes vous donnent différentes vues de votre application. De nombreux livres sont disponibles.

Si vous ne connaissez pas UML, le plus simple est de créer uniquement des diagrammes de classes / séquences qui ont été inversés à partir du code existant. Vous avez juste besoin d'inverser le code existant en UML et d'ajouter vos propres notes à l'intérieur des diagrammes de classe / séquence. Les diagrammes de classes donneront une vue statique de votre application, le diagramme de séquence décrira les flux de méthodes et donc le comportement de l'application. Travail UML terminé et pas d'erreur :)

UML_GURU
la source