127 votes

UML est-il pratique?

Au collège, j'ai eu de nombreux design et UML cours axés sur l', et je reconnais que UML peut être utilisé au profit d'un projet de logiciel, surtout en cas d'utilisation de la cartographie, mais est-ce vraiment pratique? J'ai fait un peu de travail coopératif termes, et il semble qu'UML n'est pas utilisé largement dans l'industrie. Vaut-il le temps au cours d'un projet pour créer des diagrammes UML? Aussi, je trouve que les diagrammes de classes sont généralement pas utile, parce que c'est juste plus rapide de regarder le fichier d'en-tête de classe. Précisément les diagrammes sont les plus utiles?

Edit: Mon expérience est limitée à de petites, de moins de 10 développeur de projets.

Edit: Beaucoup de bonnes réponses, et si pas le plus bavard, je trouve que l'on a sélectionné est le plus équilibré.

91voto

17 of 26 Points 15941

En utilisant UML, c'est comme de regarder vos pieds pendant que vous marchez. C'est être conscient et explicite, quelque chose que vous pouvez généralement le faire inconsciemment. Les débutants ont besoin de bien réfléchir à ce qu'ils font, mais un programmeur professionnel sait déjà ce qu'ils font. La plupart du temps, de l'écriture du code en lui-même est plus rapide et plus efficace que d'écrire sur le code, parce que leur programmation intuition est adaptée à la tâche.

Ce n'est pas seulement à propos de ce que vous faites. Que penser de la nouvelle recrue qui vient dans les six mois à partir de maintenant et les besoins à venir jusqu'à la vitesse sur le code? Qu'en cinq ans à partir de maintenant, quand tout le monde travaille actuellement sur le projet est parti?

Il est extrêmement utile d'avoir de la base à jour de la documentation disponible pour n'importe qui qui a rejoint le projet plus tard. Je ne défends pas complètes de diagrammes UML avec des noms de méthode et des paramètres (trop difficile à gérer), mais je pense qu'un schéma de base de composants dans le système avec leurs relations et le comportement de base est d'une valeur inestimable. À moins que la conception du système de change radicalement, cette information ne devrait pas changer beaucoup de choses même que la mise en œuvre est tordu.

J'ai trouvé que la clé de la documentation, c'est la modération. Personne ne va la lire 50 pages complètes de diagrammes UML avec la documentation de la conception sans s'endormir quelques pages. D'autre part, la plupart des gens aimeraient obtenir de 5 à 10 pages de simples diagrammes de classe avec une description de base de la façon dont le système est mis en place.

L'autre cas où j'ai trouvé de UML pour être utile, c'est pour quand un développeur senior est responsable de la conception d'un composant, mais alors les mains de la conception d'un développeur junior à mettre en œuvre.

50voto

Pascal Points 2632

Dans un suffisamment système complexe il y a certains endroits où certaines UML est considéré comme utile.

Les diagrammes utiles pour un système varient en fonction de l'applicabilité. Mais les plus largement utilisés sont les Diagrammes d'états, Diagrammes d'Activité et d'un Diagramme de Séquence.

Il existe de nombreuses entreprises qui ne jurent que par eux, et beaucoup de ceux qui d'emblée rejeter comme une totale perte de temps et d'efforts.

De son mieux de ne pas aller à la mer et pense quoi de mieux pour le projet que vous êtes sur et choisir des trucs qui leur est applicable et de la logique.

37voto

Marcus Downing Points 5250

En utilisant UML, c'est comme de regarder vos pieds pendant que vous marchez. C'est être conscient et explicite, quelque chose que vous pouvez généralement le faire inconsciemment. Les débutants ont besoin de bien réfléchir à ce qu'ils font, mais un programmeur professionnel sait déjà ce qu'ils font. La plupart du temps, de l'écriture du code en lui-même est plus rapide et plus efficace que d'écrire sur le code, parce que leur programmation intuition est adaptée à la tâche.

L'exception est pourquoi vous vous trouvez dans les bois la nuit sans flambeau et il a commencé à pleuvoir, alors vous avez besoin de regarder vos pieds pour éviter de tomber vers le bas. Il ya des moments où la tâche que vous avez pris est plus compliqué que votre intuition peut gérer, et vous avez besoin de ralentir et de l'état de la structure de votre programme de manière explicite. Alors UML est un des nombreux outils que vous pouvez utiliser. D'autres incluent des pseudo-code, l'architecture de haut niveau des diagrammes et des étranges métaphores.

21voto

Stu Points 7999

Les flux de travail génériques et les DFD peuvent être très utiles pour les processus complexes. Tous les autres diagrammes (NOTAMMENT UML) ont été, selon mon expérience, sans exception, une perte de temps et d’efforts douloureux.

16voto

samjudson Points 27483

Je serais pas d'accord, UML est utilisé partout - n'importe où un projet est en cours de conception UML sera généralement il.

Maintenant si c'est utilisé bien est une autre affaire.

Comme Stu dit, je trouve à la fois des Cas d'Utilisation (avec l'utilisation des descriptions de cas) et les diagrammes d'activité la plus utile pour un développeur de point de vue.

Diagramme de classe peut être très utile lorsque vous essayez de montrer les relations, ainsi que les attributs de l'objet, tels que la persistance. Quand il s'agit de l'ajout de jamais seul attribut ou la propriété, ils sont généralement exagéré, d'autant que souvent, elles deviennent obsolètes rapidement une fois que le code est écrit.

L'un des plus grands problèmes avec UML est la quantité de travail nécessaire pour le maintenir à jour une fois que le code est généré, comme il y a quelques outils qui peuvent re-ingénieur UML à partir du code, et encore quelques-uns qui le font bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X