Quel type de diagrammes UML utilisez-vous?
UML2 propose différents types de diagrammes.
Jusqu'à présent je n'ai utilisé que des diagrammes de classe.
Ce genre de diagrammes UML utilisez-vous?
Quels types de diagrammes recommandez-vous pour la conception & de la documentation d'un projet de logiciel?
- stackoverflow.com/questions/104638/... stackoverflow.com/questions/18803/is-uml-practical
- Le dorfier ces 2 ne sont pas la même question
Vous devez vous connecter pour publier un commentaire.
- Je utiliser les diagrammes suivants, le plus souvent:
Pour expliquer la relation de classe
Pour capturer les interactions entre les objets
Pour expliquer les activités (algorithme de flux).
EDIT: Ajout de liens que par le commentaire de @Smith325.
- Je utiliser aucun.
Je n'ai guère vu depuis l'université et ma fois diplôme de projets.
Avoir une impression principalement des étudiants/profs sont intéressés à ces méthodes, le monde de la pratique mène une vie heureuse sans UML.
Alors que je ne dis pas qu'UML ne peut pas apporter tous les avantages.
Les diagrammes de séquence sont le principal type pour moi, très peu de useage de rien d'autre vraiment.
Outil en ligne
Il serait peut-être mieux de demander à la pratique, de quelles prestations puis-je obtenir de l'aide d'UML ?
Tout mécanisme de création de diagrammes avec un récit clair peut être utilisé pour transmettre une idée. Il suffit de le rendre lisible, claire et logique, et elle devrait être auto-explicatif.
- Je utiliser les diagrammes de transition d'état pour le modèle de la complexité de - bien - les différents états d'une application particulière.
très peu ou pas d'utilisation de quoi que ce soit d'autre
De Cas d'utilisation diagrammes de ne pas fournir tous les détails, mais je n'ai pas vu une meilleure façon de donner rapidement un aperçu de tous les cas d'utilisation dans le système.
Les diagrammes de classes sont utiles pour montrer les classes qui font partie de chaque paquet. Cependant, j'ai rarement les voir utilisés à cette fin par d'autres développeurs. Ils sont généralement utilisés pour jeter un tas de classes sur une image avec peu de rime et la raison pour laquelle le particulier, les classes sont dans chaque image. Ainsi, les diagrammes finissent par ne pas être très utile.
Les diagrammes de séquence sont indispensables. Les outils ne supportent absolument pas utile de l'utilisation de diagrammes de séquence, de sorte que vous avez à être un peu inventif dans les limites des outils. Mais j'utilise les diagrammes de séquence pour prouver que mon cas d'utilisation correspond à mes architecture et de ma conception correspond à mon package opérations etc... je ne pense pas qu'il y est plus utile diagramme. Cependant, la plupart des gens ne les utilisent pas, probablement parce qu'il vous oblige à penser au sujet de votre conception.
La notion de diagramme de composant est utile. L'UML version est assez moche, donc j'ai l'habitude de finir de dessiner mes propres diagramme à l'aide de Powerpoint ou Visio.
Je ne suis pas un grand fan de l'etat ou des diagrammes d'activité. J'ai eu quelques mauvaises expériences avec d'autres personnes de l'état dessins de la machine au début de ma carrière, et donc de les éviter comme la peste.
Quand il s'agit de présenter à un client/manager puis-je utiliser les informations à partir de ces schémas, mais je l'ai mis dans un format qui est plus facile à comprendre et à un niveau beaucoup plus élevé.
Toutefois, pour les présenter à d'autres développeurs de logiciels puis ces diagrammes doivent être suffisant pour transmettre les informations requises par le design. Mais, généralement, ils ne nécessitent quelques narrative du texte écrit pour être de valeur.
Un modèle de domaine est indispensable dans la plupart des projets. Il donne au personnel technique cohérente, claire et non équivoque de la compréhension du domaine de vocabulaire. Un diagramme de classes UML est la meilleure notation pour cela (oui, encore mieux qu'en langue anglaise, glossaire).
Un modèle de cas d'utilisation (c'est le modèle, pas le schéma) est beaucoup plus facile à manipuler que d'une douzaine de documents Word (selon votre choix de l'outil UML, bien sûr) et donc je vous recommande de suivre les UML route dans la documentation de votre cas d'utilisation. Votre outil UML sera presque certainement vous permettre d'affecter des informations supplémentaires sur votre cas d'utilisation, tels que des scripts de test, de mesure, etc. Ayant ceci à un modèle vous permettra de créer des rapports personnalisés sur cette information supplémentaire.
Au-delà, je dirais que si vous avez besoin d'un diagramme d'état, l'utilisation UML diagramme d'état; si vous avez besoin d'un flux graphique, utiliser un diagramme UML; si vous avez besoin d'un graphe d'appel, utiliser un diagramme de séquence UML. Dans chaque cas, la notation UML va être plus largement compris que quel que soit ad hoc de la notation de vous inventer sur votre propre.
Mais le message général est, pour utiliser les outils que vous avez à portée de main pour rendre votre travail plus facile.
Je vais mettre, dans un vote pour les cas d'utilisation les diagrammes, car elles sont le seul type de diagramme UML que les utilisateurs/clients peuvent réellement comprendre et de trouver la adaptés à leurs besoins.
Ils peuvent tous être utilisés pour la conception et la documentation d'un projet. C'est très ouvert à l'interprétation.
Cela va dépendre du projet et de la création de la documentation. Dans certains cas, UML est presque inutiles, mais peut vous aider à construire un simple non-diagramme UML que les utilisateurs finaux peuvent comprendre.
À d'autres moments lorsque vous êtes juste documenter pour d'autres développeurs de logiciels diagrammes UML peuvent être utiles. Dans ce cas, les diagrammes de transition d'état pourrait être utile pour les développeurs de systèmes tandis que les diagrammes de cas d'utilisation peut être mieux pour les analystes de la documentation des exigences.
Globale à l'aide d'UML pour l'amour d'elle n'est pas utile pour d'autres programmeurs, des utilisateurs ou vos clients. C'est seulement un outil de communication. Si vous obtenez trop religieuse avec votre UML d'utilisation vous n'êtes pas de répondre aux besoins de l'un de ces groupes.
Je n'aime pas les diagrammes de cas d'utilisation. Le schéma n'a pas vraiment beaucoup, je trouve une liste bulletted avec des descriptions à être beaucoup plus utile, si ce n'est la pleine utilisation des descriptions de cas, avec des scénarios, en cas de panne, etc.
Les diagrammes de classes sont utiles, bien que je n'ai jamais vraiment mis tous les détails en eux. Obtenir les connexions entre les objets du domaine et les aboutissants semble être plus utile que de passer à travers et de remplissage dans les comportements et les champs.
Les diagrammes de séquence sont génial si vous êtes à essayer de comprendre le flux de quelque chose qui devient un peu trop compliqué et que vous rencontrez des difficultés pour visualiser ce qui se passe.
Les diagrammes de classes, diagrammes de séquence et les diagrammes d'état sont également idéal pour essayer de comprendre ce code existant est en train de faire.
Je ne vous inquiétez pas sur les formalités à accomplir dans mes schémas, ils sont esquisses sur un tableau blanc.
Mon vote:
Diagrammes De Cas D'Utilisation
Les Diagrammes De Séquence
Les Diagrammes De Classe
avec le temps, le supplément de Diagramme d'Activité.
Mais je pense que le kilométrage varie. Je travaille généralement sur des systèmes avec beaucoup de cas d'utilisation, certains sont desservis par l'intégration de solutions commerciales et à écrire un peu de code. Donc pour moi, les cas d'utilisation sont souvent la partie la plus pertinente de UML, avec d'occasionnels diagramme de composant.
De la séquence et de la Classe ont été defacto diagrammes pour la conception de logiciel, mais je les ai vus être utilisé très mal. Il est facile de tomber dans un modèle de conception à l'emporte-pièce des diagrammes avec ces, et pas vraiment de forage dans un diagramme qui montre la critique de la conception du système.
J'aime UML pour sa capacité à fournir un cadre clair, syntaxe normalisée pour expliquer les problèmes de conception de manière cohérente. Mais je déteste qu'il est parfois considéré comme un développement "standard" et pas seulement un outil pour le travail. Je dis de les utiliser si elles contribuent à éclairer un groupe de personnes et de les ignorer totalement si elles servent aujourd'hui à des fins utiles pour prendre une décision technique.
Je n'ai jamais, jamais utiliser toute forme d'UML pour communiquer des idées techniques. J'ai trouvé que c'était une singulièrement inutile moyen à cette fin. Nous avons parcouru un long chemin depuis l'utilisation de peintures rupestres de la grotte de communiquer des idées entre les individus. Pour certains millénaires maintenant, les êtres humains ont été à l'aide de la langue française, avec toute sa complexité, la nuance et de l'éloquence, de communiquer toutes sortes de concepts clairement et sans ambiguïté. En tant qu'espèce, nous avons rendu ce changement important de ambigu des représentations graphiques des idées sans ambiguïté de la langue pour une très bonne raison: la clarté.
Les seules personnes que j'ai vu en utilisant UML avec une grande vigueur sont non-techniques particuliers (généralement, les analystes d'affaires et chefs de projet), à qui à tort, donne l'impression qu'ils sont de s'engager dans une précis de résolution de problème, alors qu'en fait ils ne sont que la production de très ambiguë dessins qui signifie souvent très différentes et contradictoires de choses pour les différents publics sur lesquels ils sont infligées. J'ai vu des utilisateurs, développeurs, Administrateurs de bases de données, les analystes et les gestionnaires de projet sont tous assis autour de la même série de diagrammes, hochant la tête les uns les autres dans une apparente compréhension et l'harmonie, et que plus tard qu'elles se rendent compte qu'ils ont prit une compréhension très différente de ce que le réel problème était, et ce qui devait être construit à résoudre.
Je vais rester avec ce qui a bien fonctionné pour moi et pour les utilisateurs finaux que j'ai construit plus d'une quarantaine de systèmes depuis plus de vingt ans:
1) Écrit sans ambiguïté problème de la définition des documents en anglais (complété avec de simples tableaux et de diagrammes pertinents à la discrète problème à résoudre, le cas échéant).
2) Après que le problème a été défini, l'écriture d'une technique distincte spec (également en anglais) qui décrit une proposition de solution à ce problème parfaitement défini en termes réels par les utilisateurs finaux peuvent comprendre.
3) Enfin, le codage d'une solution qui réponde à la fois à la définition du problème et le projet de spécifications techniques produites dans les étapes 1 & 2 ci-dessus, en ajustant la solution pour répondre à la réalité dans les cas appropriés (étapes 2 & 3 chevauchent souvent, avec un nourrissant l'autre).
Je suis désolé pour les gens qui pensent sincèrement qu'ils peuvent ignorer l'étape 1 (définition du problème)* au-dessus, et en quelque sorte comme par magie saut directement dans l'étape 2, d'essayer de décrire une solution à un mal comprises et mal dans l'étendue du problème, ce qui aggrave la difficulté à l'aide d'un maladroit moyen comme UML qui est intrinsèquement ambigu et sujet à interprétation erronée répandue parmi les différentes parties au processus. De cette façon, la folie réside.
J'utilise souvent une sorte de diagramme de déploiement lors de la modélisation du système (même si, admittely, j'ai tendance à utiliser la non-UML trucs dans ma diagrammes)
- Je utiliser les diagrammes de classe assez souvent pour documenter la conception de haut niveau et les relations entre les classes les plus importantes. J'utilise souvent de l'état de transition de diagrammes, mais ne fait pas dans UML style. J'utilise rarement les diagrammes de séquence, de les trouver, difficile à lire (et à écrire).
- Je travailler dans un environnement agile, donc la plupart des UML j'écris est de courte durée dessins sur un tableau blanc.
- Je utiliser les diagrammes de classe pour illustrer la façon dont les classes liées l'une à l'autre. J'utilise diagrammes d'activité au lieu du traditionnel des diagrammes pour expliquer général de flux de programme. Machine d'état diagrammes peut être utile pour expliquer les changements d'état dans le cycle de vie de l'objet. Très occasionnellement, je vais utiliser un diagramme de séquence de travailler à travers quelques enchevêtrements de la logique du programme, bien que je vais souvent refactoriser le code pour acquérir cette compréhension.
Demandez-vous à quoi faire de mon les utilisateurs à comprendre, suis-je vraiment capable, et s'engage à garder mes schémas sont exactes et actuelles ou ils vont pourrir et à ajouter de la confusion...
Demandez-vous ne .Net ou Java livrer UML n'importe où dans le cadre de sa documentation bundle ?
J'ai seulement utiliser diagramme de Cas d'Utilisation et de déploiement diagramme seulement parce que je les trouve utile dans l'explication de la fonctionnalité de déploiement et de configuration respectivement.
Les diagrammes de séquence pour m'aider à garder la trace des choses, lorsque j'essaie d'analyser d'autres personnes de code.