2009-06-06 7 views
9

Pour mon rapport de projet, je dois montrer le diagramme de classe du logiciel que j'ai construit qui compte environ 20 classes! Le problème, c'est que quand je rends le diagramme de classe dans le fichier jpeg (soit en utilisant StarUML ou ArgoUMl ou quoi que ce soit ..) nous ne pouvons pas voir les détails correctement (très grande image en raison du grand nombre de classes). Eh bien, comment gérer cette situation correctement? Puisque le rapport va être imprimé sur des pages A4?UML - Comment gérer les grands diagrammes de classe?

Merci!

Répondre

18

Avec 20 classes j'attendre au moins 3 sous-systèmes, modules, (couches), peut-être plus

Marque diagramme de package montrant la relation entre ceux-ci, un diagramme de classes pour chaque sous-système. Ajoutez des diagrammes de classes pour les objets spéciaux que vous voulez montrer. Imprimez chacun sur A4.

Si vous ne pouvez pas diviser facilement le diagramme en modules, je considérerais que c'est une odeur de design.

C'est amusant d'imprimer de gros diagrammes sur d'énormes morceaux de papier (comme 500 tableaux sur A0 ;-) mais ce n'est pas très utile.

1

Généralement, une bonne façon de gérer cela est de créer différents diagrammes pour différents modules ou domaines de fonctionnalité pour votre logiciel. Alternativement, vous pouvez imprimer l'image unique sur plusieurs pages et montrer comment les assembler pour former l'image complète.

1

Utilisez BOUML. L'ArgoUML et StarUML sont des classiques que tout le monde mentionne quand il s'agit de question "existe-t-il un logiciel UML gratuit?". C'est marrant qu'être un logiciel historique ne rende pas le logiciel inconnu et inutilisé. Dans le cas d'Argo et Star, le coefficient historique les rend connus et utilisés.

BOUML peut exporter vers SVG. Cela résoudra vos problèmes.J'ai décrit l'outil here

Merci à SVG, vous serez en mesure de basculer rapidement entre les oiseaux vue d'oeil et de détail. Je fais ça avec Firefox. C'est rapidement rapide.

PS. Je viens de remarquer que vous voulez imprimer le rapport. Le SVG est alors probablement pas ce que vous voulez: \

+0

-1 - Ce problème affecte tous les outils UML. Je ne vois pas comment l'exportation vers un format graphique particulier l'aborde. – duffymo

+0

Ne voyez pas en quoi cela compte quand vous imprimez sur du papier A4. Qu'est-ce que FF a à faire avec ça? – duffymo

+0

@duffymo: SVG est un format vectoriel. Il résout le problème, car il peut être rapidement mis à l'échelle (par exemple, dans Firefox). J'espère que cela explique vos doutes afin que vous puissiez retirer votre vote négatif? PS. Il semble que vous avez raison, car l'auteur veut imprimer le rapport. –

2

Il y a quelques choses que vous pouvez faire:

  1. plus gros papier
  2. Ne pas afficher les signatures de méthode
  3. Ne pas afficher les méthodes privées
  4. partitionner votre problème dans plusieurs packages
  5. Moins de catégories par diagramme

C'est l'un des problèmes rencontrés pour essayer de traiter les dessins d'ingénierie comme UML: une fois que vous l'avez retiré d'un tableau blanc, c'est un mauvais langage de communication. Ça ne se lit pas très bien.

1

Je pense que c'est le problème inhérent que vous essayez de montrer autant de choses dans un diagramme. Votre question est juste comme "comment puis-je mettre 100 mots dans une phrase sans que le lecteur s'en lasse?"

Vous pouvez probablement le refactoriser avec FacadePattern. Fondamentalement, il suffit de décomposer les choses en modules. Par exempleFeuille de temps, PayCheck, BonusRecord peut être rectifié dans ManagementSystem. Le produit, la commande peuvent être regroupés dans OperationSystem, etc.

4

Produire un diagramme de classes contenant 20 classes est totalement inutile: que montre-t-il réellement? Lorsque vous utilisez des diagrammes de classes, je n'ai jamais créé de diagramme contenant plus de 5 à 8 classes.

La question à vous poser est "quelles informations utiles est-ce que j'essaie de montrer avec ce diagramme?". Ne produisez pas un diagramme de classe pour le plaisir!

La décomposition pour illustrer un modèle de conception, un sous-système ou un composant particulier est ce pour quoi je trouve les diagrammes de classes utiles.

2

une autre manière est de ne pas montrer tous les membres mais seulement les principaux, cela réduit la taille des classes puis la taille du diagramme. Bien sûr, cela suppose que vous utilisiez un outil permettant de choisir quelles opérations/attributs/relations doivent être visibles, mais ce réglage de dessin est classique

peut-être que vous avez également un paramètre de dessin pour masquer une partie de l'opération afin de réduire la largeur , par exemple pour afficher ou non les paramètres, ou leur direction, leur type etc

Bouml (http://bouml.free.fr) a toutes ces options de dessin, et comme il a été dit a PNG et les exportations SVG

meilleures salutations et la modélisation heureux

Bruno

0

Divisez vos classes en plusieurs diagrammes! Lors de la création d'un modèle UML, vous pouvez afficher des éléments de modèle tels que des classes (non) dans plusieurs diagrammes. Un diagramme est juste un voir de votre modèle UML afin que vous puissiez mettre en évidence des modules dans vos diagrammes spécifiques.

Questions connexes