HI Todo estoy al final del lanzamiento de mi proyecto. Así que para seguir trabajando, nuestro gerente nos pidió generar diagramas de clase para el código que habíamos escrito. Su proyecto mediano con 3500 archivos Java. Así Creo que necesitamos generar diagramas de clase. Primero necesito saber cómo funciona la ingeniería inversa aquí. También busqué algunas herramientas en Google (verde, violeta) pero no estoy seguro si son de alguna ayuda. Por favor, sugiero cómo proceder. También se agradece un buen tutorial de inicio.generando diagrama de clase
Respuesta
RecomiendoBOUML. Su soporte inverso de Java es absolutamente ROCK SOLID.
BOUML tiene muchas otras advanteges:
- es extremadamente rápido (más rápida herramienta de UML jamás creado, echa un vistazo a benchmarks),
- tiene roca sólida C++, Java, PHP y otras importar apoyo,
- es multiplataforma (Linux, Windows, otros sistemas operativos),
- tiene una gran compatibilidad con las exportaciones de SVG, lo cual es importante, porque ver gráficos grandes en formato vectorial, que escalan rápidamente, por ejemplo Firefox, es muy conveniente (puedes cambiar rápidamente entre la vista de "ojo de pájaro" y la vista de detalles de clase),
- tiene todas las funciones, impresionantemente desarrollado de forma intensiva (mira development history, es difícil creer que un progreso tan rápido sea posible).
- soporta plugins, tiene una arquitectura modular (esto permite user contributions, parece que se está formando comunidad BOUML arriba)
Existen algunas herramientas disponibles que lo ayudarán a generar estos diagramas. Estos cuestan dinero.
De lo contrario, podría intentar analizar sus archivos Java. Esto podría ser tan simple como crear un analizador simple que lea los archivos Java y escriba el nombre de la clase y todas las declaraciones de importación en un archivo y genere un diagrama de clases a partir de allí; graphviz puede ayudarlo allí.
Puede combinar este enfoque con el generador de diagramas UML http://yuml.me gratis. Las personas ya [ya lo están haciendo] (http://yuml.me/wildthing) para las clases de Powershell y los dominios de Ruby on Rails. Dado que tiene tantas clases, tendría que romper un poco los diagramas para mostrar 10-50 clases. – tobinharris
Esto es más una cadena de herramientas que una herramienta y no lo he probado yo mismo. Pero tal vez sea un punto de partida. Usando UMLGraph, ant y GraphViz. Explicado paso a paso: in this article.
Visual Paradigm para UML Standard Edition (o mejor) realizará ingeniería inversa de los archivos de Java en Diagramas de clase.
La herramienta que desea utilizar es Doxygen. Es similar a Javadoc, pero funciona en varios idiomas. Si descifra las dependencias, y puede llamar a graphviz para representar los diagramas de clase. Aquí hay un ejemplo de unos pocos Java classes run through Doxygen.
WOW. Funciona genial. – Epaga
He utilizado Visual Paradigm para UML para lo que quiere hacer y fue bastante bueno.
Ver here para más detalles.
Simplemente vaya a Herramientas -> Inversión instantánea y seleccione sus paquetes.
Supongo que si su jefe solo quiere mantenerlo ocupado hasta que comience el próximo proyecto, entonces no hay nada de malo en ello, pero encontrará rápidamente que crear un diagrama de clases con 3500 clases no le dirá exactamente NADA sobre su sistema. De hecho, realmente no desea un diagrama con más de 10 clases en él. Entonces, una vez que haya invertido todo el código en su herramienta de modelado, querrá comenzar a organizar y organizar para encontrar el significado. Cree un nuevo diagrama, coloque una sola clase importante en él y agregue todas las clases que están directamente relacionadas con esa clase. Repita para tal vez las 300 clases más importantes. No te preocupes, no es tan horrible como suena, quizás sea una semana de trabajo.
Para el registro, mi herramienta de modelado de elección es Enterprise Architect por Sparx Systems. Revertirá las fuentes de Java o los archivos .jar. Hay una edición de prueba gratuita de 30 días.
Acepto que generar para todas las clases es un trabajo doloroso. Este ejercicio es para mantener a la gente en buena forma .:_) – GustyWind
He estado utilizando Enterprise Architect durante varios años. Un desarrollador de JBoss me lo sugirió. Funciona muy bien para todos los tipos de modelado UML, incluida la ingeniería inversa de los modelos de clase (Java, C# y otros). La versión básica es actualmente de $ 120 por asiento, pero tiene la mayoría de las capacidades de herramientas mucho más costosas y es mucho más fácil de aprender. Particularmente me gusta su capacidad para generar documentación HTML y RTF.
Es muy fácil sincronizar el código entre la herramienta y su código fuente. Incluso bidireccional si quieres.
A su PM también le puede gustar la actividad y los diagramas de secuencia que puede crear. También uso frecuentemente los diagramas de implementación. Es muy útil tener todo esto en una sola herramienta.
Usted puede ser capaz de revertir los diagramas de clases ingeniero con la herramienta de código abierto modelleing ArgoUML http://argouml.tigris.org/
ObjectAid es bastante agradable. Puede arrastrar las clases a un diagrama y organizarlas de la manera que desee.
- 1. Android API clase diagrama
- 2. ¿Cuál debería crearse primero ER Diagrama O Diagrama de clase?
- 3. Diagrama de clase de excepción Java?
- 4. Diagrama de clase de Visual Studio 2010
- 5. Creación de un diagrama de clase C++
- 6. Código de C++ al diagrama de clase
- 7. Generando clase C# .net del archivo WSDL
- 8. UML: Clase interna en un diagrama de clase
- 9. Diagrama de clase UML para inicio de sesión de usuario
- 10. generar Diagrama de clase para la aplicación de iphone
- 11. Diagrama de clase de Visual Studio que no muestra relaciones
- 12. ¿Es correcto el diagrama de clase UML de Zend_Log?
- 13. Plugin de Eclipse para generar un diagrama de clase
- 14. Código de JavaScript para el Diagrama de clase
- 15. Generando un '¡Hola, mundo!' clase con la biblioteca Java ASM
- 16. Composición y agregación en un diagrama de clase
- 17. UML composición diagrama de clases con la clase jerarquías
- 18. Diagrama de clase UML Asociación vs (Agregación | Composición) -Diamantes
- 19. Generar diagrama de clase Eclipse con Android SDK
- 20. ¿Puedo escribir comentarios en el diagrama de la clase UML?
- 21. ¿Qué es "Atributos derivados" en un Diagrama de clase?
- 22. XCode 4 Generando clases de entidades en CoreData
- 23. generando licenses.licx
- 24. Generando singletons
- 25. Generando documentación de Javascript
- 26. Generando tuplas de tuplas
- 27. Representando una Genérico Método C# en una clase UML Diagrama
- 28. Diagrama de flujo/diagrama de flujo de JavaScript lib
- 29. Generando RSS con ASP.Net MVC?
- 30. diagrama de red/diagrama de flujo en JQuery
Es agradable y realmente fácil de usar. Sin embargo, los diagramas son un poco feos. –
En segundo lugar la recomendación BOUML. Está escrito en Qt, por lo que se ejecuta en cualquier lugar donde Qt se ejecute, y lo he usado en Mac OS X y Windows, y funciona muy bien. Es lo más parecido a mi favorito probado, Rational Rose, ¡pero funciona mucho mejor! Rose solía bloquearse todo el tiempo, aunque ahora que se ha convertido en RAD/Eclipse parece mejor. No estoy seguro del comentario de que los diagramas son "feos", son más o menos sus modelos UML estándar y son muy similares a "Rose". – michaelok