36 votes

Utilisez-vous UML dans les pratiques de développement Agile?

Il se sent comme un des artefacts de jours plus tôt, mais UML vous ne avez son utilisation. Cependant, les méthodes agiles comme l'Extreme Programming défenseurs de "l'embrassant modifications", est-ce que cela signifie que je devrais faire moins de documents et de modèles UML ainsi? Depuis qu'ils donnent l'impression de mettre quelque chose dans la pierre.

D'où vient UML appartient à un Agile de développement de la pratique? Autre que la spécification préliminaire des documents, dois-je l'utiliser à tous?

EDIT: Trouvé ceci: Potentiel d'artefacts de modélisation agile

33voto

Gishu Points 59012

Jeu d'enfant grâce à Robert Martin à l'Agile Principes, Modèles et Pratiques

  • La suggestion est d' utiliser UML pour communiquer les concepts au sein de l'équipe.. un langage commun ; toute personne de prendre un coup d'oeil au diagramme peut comprendre la solution (plus rapide que d'en parler) et de contribuer plus rapidement.
  • Si vous trouvez l'équipe de faire les mêmes schémas, encore et encore, quelqu'un va faire une bonne version et de les stocker sur le wiki / contrôle de code source. Les heures supplémentaires le plus utile des diagrammes allons commencer à rassembler en ce lieu.
  • Ne passez pas trop de temps... vous n'avez pas besoin de trop de détails. Les modèles sont construits dans l'architecture et de la construction royaumes, car la construction d'une maison de valider le test de la conception est cher/infaisable. Le logiciel n'est pas le cas - vous pouvez valider votre conception par juste de codage dans le moment de faire un modèle UML de votre non testé (avec toutes les cloches et de sifflets).

C'est ce que dit UncleBob... je suis d'accord.

11voto

jodonnell Points 14999

Utilisez ce que vous trouvez utile. Si un diagramme UML vous aide à visualiser ce que vous devez faire, utilisez-le. Si un tableau blanc fait la même chose, utilisez-le.

Il suffit de ne pas créer de diagrammes UML pour créer des diagrammes UML. Notre temps est trop cher pour faire des choses inutiles.

8voto

Quibblesome Points 14441

Pour jeter des diagrammes, oui. Je préfère en général ne l'utiliser comme un outil pour communiquer des idées, des questions, etc. Les diagrammes de séquence de cas d'utilisation et les diagrammes de classe.

Si vous les utilisez comme une référence constante, alors vous allez soit:

  • Ajouter un inutile fardeau de l'entretien par la réplication de l'information qui est déjà à l'intérieur du code. OU
  • Créer un ensemble de documents qui ne correspond pas au code.

Ce problème de la duplication est pourquoi je ne voudrais pas utiliser pour plus de jeter. Un nouveau développeur/consultant/contractant doit toujours utiliser le code source comme la base de leur compréhension si le composant est déjà mis en œuvre.

J'ai lu tellement hilarante incorrect UML, dans mon temps, au début de se joindre à un projet que je commence presque toujours avec le code car c'est ce qui se passe réellement. En outre maintenu UML est généralement incorrect et essentiellement une perte de temps. Dans tous les scénarios, je préfère les commentaires dans le code pour décrire bizarre regardant bits et/ou un très petit fichier readme.txts sur UML docs.

7voto

Andrew Harmel-Law Points 2841

Très bien pensé et exprimé vue sur ce sujet lire Martin Fowler "le Design Est-il Mort?" et si cela vous convainc, acheter/emprunter et lire Scott Ambler est Agile de la Modélisation.

En un mot, UML est un outil utile, mais ne pas trop l'utiliser/l'abus; c'est pour la pensée, ainsi que la documentation, mais le code est l'ultime (mais pas seulement) l'expression de la conception - le exécutable de conception. À cette fin, l' équipe devrait faire de l'architecture et du design. Enfin, utiliser les outils pour le faire de cette aide (c'est à dire des tableaux et des stylos et des appareils photo numériques sont de la great - vous n'avez pas besoin d'un CAS de l'outil)

5voto

David Lay Points 1642

Dans mon expérience, ce qui a été plus utile est de faire initiales de conception UML (par fonction, du module ou du projet de base,selon le projet lui-même), et puis faire la génération de code, et ensuite, à chaque itération juste faire simple, l'ingénierie inverse pour les modèles les maintient à jour et fiables, afin de les utiliser sur le refactoring de réunions et de ces. Cela fonctionne pour des diagrammes statiques.

Mais dynamiques, les diagrammes doivent être réalisés et mis à jour au besoin seulement, ils consomment trop de temps et ils changent trop souvent, dans les projets agiles pour elles de faire partie de la documentation. Mais alors, si vous trouvez vous-même la mise à jour dynamique diagramme trop souvent, c'est kindda un projet odeur, à mon avis, parce que, comme il est dit avant, ils doivent être utilisés seulement pour la communication au sein de l'équipe.

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