Cómo generar automáticamente un diagrama UML a partir del código Python

Hay muchos tipos de diagramas UML que pueden extraerse del código fuente.
Aquí están los detalles del diagrama de referencia de clase de dibujo (clases + sus referencias a otras clases), los atributos y detalles siempre se pueden agregar más adelante.

1. Usando el analizador Python,
a) cree un documento XML de las clases de lista declaradas en su aplicación.
b) para cada elemento de clase, cree una lista de elementos secundarios para las referencias a otras clases que esta clase ha declarado o agregado implícitamente en el código.
c) para cada elemento de clase, cree una lista de elementos secundarios para las clases base de esta clase.

2. Usando el archivo XML, cree una estructura de datos de diagrama de flujo :
a) para cada clase crear un nodo.
b) para cada referencia de referencia, cree un borde dirigido de referencia a esto y agregue esto como hijo de referencia.
c) para mostrar las jerarquías de clases por separado, cree otra estructura de datos de diagrama de flujo. cree un nodo para cada clase involucrada en una jerarquía. Cree una arista dirigida desde cada clase base a la clase derivada, es decir, la clase derivada se mostrará como secundaria. Si la clase tiene referencias a otras clases, marque esta clase como ‘DASHED’ ya que aparecerá dos veces en el diagrama. eliminar todas las clases no ‘DASHED’ de la primera lista de nodos.

3. Para cada clase, marque un borde de referencia como padre (esto le permitirá organizar el diagrama).

4. Utilice cualquier diseño gráfico y método de conectividad de borde para dibujar los diagramas.

Aquí hay un artículo sobre cómo puede generar automáticamente un diagrama UML a partir del código Python:

  • Cómo generar UML desde Python – Visual Paradigm

Descargar versión de prueba

Muchas herramientas UML tienen cierta capacidad para realizar ingeniería inversa de un paquete de software en diagramas UML, generalmente limitados a diagramas de clase (tal vez incluso de objetos). Derivar cosas como diagramas de secuencia y diagramas de actividad realmente necesita mucha inspección motriz y comprensión del diseño, lo que hace que RE de esos diagramas sea mucho más difícil.

Realmente es solo una cuestión de si su herramienta particular ‘entiende’ Python (o cualquier idioma que elija para realizar ingeniería inversa)

Puede encontrar una lista de herramientas de Python a UML aquí: python: lenguajes de modelado La mayoría de ellos son bastante limitados, pero si lo que desea es obtener un diagrama de clase de su código de Python, deberían ser lo suficientemente buenos.

Una de las opciones más fáciles es utilizar la funcionalidad integrada de PyCharm pro: haga clic derecho en un archivo y seleccione Mostrar diagrama.

Diagrama de visualización – Ayuda | PyCharm