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?
Réponses:
J'ai aimé les questions - les mêmes que je me suis posées:
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.
la source
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.
la source
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:
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.
la source
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:
la source
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
la source
Cela comprend trois parties:
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.
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é.
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.
la source
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 :)
la source