2009-06-06 13 views
9

Para el informe de mi proyecto, necesito mostrar el diagrama de clases del software que he creado que cuenta con alrededor de 20 clases. El problema es que cuando renderizo el diagrama de clases en un archivo jpeg (ya sea usando StarUML o ArgoUMl o lo que sea ...) no podemos ver los detalles correctamente (imagen muy grande debido a la gran cantidad de clases). Bueno, ¿cómo manejar esta situación correctamente? ¿Ya que el informe se imprimirá en páginas A4?UML - ¿Cómo administrar diagramas de clase grande?

Gracias!

Respuesta

18

Con 20 clases que cabe esperar al menos 3 subsistemas, (módulos, capas), posiblemente más

Make diagrama de paquetes que muestra la relación entre ellos, uno diagrama de clases para cada subsistema. Agregue diagramas de clase para las cosas especiales que desea mostrar. Imprima cada uno en A4.

Si no puede dividir el diagrama fácilmente en módulos, lo consideraría un olor de diseño.

Es divertido imprimir diagramas grandes en pedazos grandes de papel (como 500 tablas en A0 ;-) pero realmente no es de mucha utilidad.

1

Generalmente, una buena forma de solucionar esto es crear diagramas diferentes para diferentes módulos o áreas de funcionalidad para su software. Alternativamente, puede imprimir la imagen individual en varias páginas y mostrar cómo ensamblarlas para formar la imagen completa.

1

Usar BOUML. ArgoUML y StarUML son clásicos que todos mencionan cuando se trata de preguntar "¿hay algún software UML gratuito?". Es gracioso que ser un software histórico no haga que el software sea desconocido y no se use. En el caso de Argo y Star, el coeficiente histórico los hace conocidos y utilizados.

BOUML puede exportar a SVG. Esto resolverá sus problemas. Describí la herramienta here

Gracias a SVG podrá cambiar rápidamente entre la vista de pájaro y la vista de detalle. Lo hago con Firefox. Es rápido rápido.

PS. Me di cuenta de que desea imprimir el informe. El SVG no es entonces probablemente lo que quiere: \

+0

-1 - Este problema afecta a todas las herramientas UML. No veo cómo lo aborda la exportación a un formato de gráficos en particular. – duffymo

+0

No veo cómo importa eso cuando está imprimiendo en papel A4. ¿Qué tiene que ver FF con eso? – duffymo

+0

@duffymo: SVG es un formato vectorial. Resuelve el problema, ya que se puede escalar rápidamente (por ejemplo, en Firefox). Espero que esto explique sus dudas para que pueda retirar su voto a la baja. PD. Parece que tienes razón, porque el autor quiere imprimir el informe. –

2

Hay algunas cosas que puede hacer:

  1. grande de papel
  2. No mostrar firmas de métodos
  3. No mostrar métodos privados
  4. partición en su problema más paquetes
  5. Menos clases según el diagrama

Este es uno de los problemas al intentar tratar UML como dibujos de ingeniería: una vez que lo saca de una pizarra, es un lenguaje pobre para la comunicación. No lee tan bien.

1

Creo que es el problema inherente que trates de mostrar tantas cosas en un diagrama. Su pregunta es como "¿cómo puedo poner 100 palabras en una oración sin que el lector se cansa?"

Puede probable refactorizarlo con FacadePattern. Básicamente es solo descomponer productos en módulos. Por ej.Parte de horas, PayCheck, BonusRecord se pueden transferir a ManagementSystem. Producto, el orden se puede agrupar en OperationSystem, etc.

4

Producir un diagrama de clase que contiene 20 clases es totalmente inútil, ¿qué muestra realmente? Cuando uso diagramas de clases, nunca he creado un diagrama que tenga más de 5-8 clases en él.

La pregunta que debe hacerse es "¿qué información útil estoy tratando de mostrar con este diagrama?". ¡No produzca un diagrama de clase por el bien de eso!

Romperlo para demostrar un patrón de diseño particular, subsistema o componente es para lo que me parecen útiles los diagramas de clase.

2

de otra manera es para no mostrar todos los miembros, pero solo los principales, esto reduce el tamaño de las clases y luego el tamaño del diagrama. Por supuesto, supongamos que utiliza una herramienta que permite elegir qué operaciones/atributs/relaciones deben estar visibles, pero esta configuración de dibujo es clásica

puede ser su herramienta también tiene configuración de dibujo para ocultar parte de la operación para reducir el ancho , por ejemplo para mostrar o no los parámetros, o su dirección, su tipo, etc

Bouml (http://bouml.free.fr) tiene todas estas opciones de dibujo, y como se dijo tiene la exportación de SVG PNG y

mejores deseos y el modelado feliz

Bruno

0

¡Divida sus clases en varios diagramas! Al crear un modelo UML, puede tener elementos del modelo como las clases que se muestran (no no) en varios diagramas. Un diagrama es solo una vista de su modelo UML para que pueda resaltar los módulos en sus diagramas específicos.

Cuestiones relacionadas