PlantUML

0
(0)

¿Qué es PlantUML?

PlantUML es una herramienta de código abierto que permite a los usuarios escribir especificaciones de diagramas en un lenguaje de descripción simple y generar visualmente diagramas UML.

¿Para que sirve?

Sirve para documentar estructuras de software y procesos de negocios, permitiendo a los usuarios generar automáticamente diagramas claros y precisos ya que su integración con herramientas de desarrollo y sistemas de control de versiones la hace especialmente valiosa en entornos de desarrollo colaborativo

Historia

Año de lanzamiento: 2009

Desarrollado por: Arnaud Roques

Fue creado en Francia con el objetivo de facilitar la generación de diagramas UML a través de texto plano, simplificando la integración con documentación y entornos de desarrollo. A lo largo de los años, PlantUML ha evolucionado para incluir soporte para una amplia variedad de tipos de diagramas, no solo UML sino también diagramas de red, mapas mentales y diagramas de Gantt, entre otros. La comunidad ha contribuido significativamente al proyecto, expandiendo sus capacidades y adaptándolo para su uso en una variedad de aplicaciones y entornos de desarrollo. Su naturaleza de código abierto ha facilitado que muchos desarrolladores aporten mejoras y nuevas funcionalidades, asegurando que PlantUML permanezca relevante y útil en un paisaje tecnológico en constante cambio.

Características

  • Lenguaje basado en texto: Utiliza descripciones textuales para generar diagramas, lo que permite la automatización y fácil integración con sistemas de documentación y desarrollo.
  • Amplia compatibilidad de diagrmas: Soporta varios tipos de diagramas UML como diagramas de secuencia, de clases, de casos de uso, de actividad, además de diagramas de Gantt, mapas mentales, y más.
  • Integración con IDEs: Se integra fácilmente con muchos IDEs y editores de texto, así como sistemas de control de versiones.
  • Texto enriquecido: PlantUML ofrece soporte para texto enriquecido dentro de los diagramas. Esto incluye la capacidad de aplicar negritas, cursivas, subrayado y otros estilos de texto básicos mediante una sintaxis especial en el texto del diagrama.
  • Uso de Notacion asccimath: PlantUML permite incorporar notación matemática en los diagramas utilizando AsciiMath, que es una manera sencilla y legible de escribir expresiones matemáticas utilizando caracteres ASCII estándar.
  • Generación automática de diagramas: Puede actualizar los diagramas automáticamente a medida que el código fuente cambia, facilitando la mantenimiento de la documentación actualizada.
  • Colaboración: PlantUML permite la colaboración entre el equipo ya que los diagramas al ser parte de los archivos del código se puede colaborar en su generación de la misma manera que con el código fuente de la aplicación a través de sistemas de control de versiones como git.

Ventajas y Desventajas

Ventajas

  1. Automatización de Diagramas: Una de las principales ventajas de PlantUML es su capacidad para automatizar la generación de diagramas a partir de descripciones de texto plano. Esto facilita la integración con sistemas de control de versiones y flujos de trabajo de desarrollo, algo que no es tan directo en herramientas como draw.io y Lucidchart.
  2. Integración con IDEs de PlantUML: La integración de PlantUML con IDEs transforma la manera en que los desarrolladores interactúan con la documentación de UML, alineando estrechamente la documentación con el desarrollo y mantenimiento del código, además de fortalecer la precisión de la documentación y facilitar una mejor colaboración dentro de los equipos de desarrollo.
  3. Manejo de Grandes Cantidades de Datos: Al ser basado en texto, PlantUML puede manejar la generación de grandes diagramas a partir de archivos de texto, lo cual es menos práctico en interfaces gráficas como las de draw.io y Lucidchart.
  4. Portabilidad y Accesibilidad: Al ser una herramienta de código abierto y ligera, es accesible para cualquier persona y puede ejecutarse en múltiples plataformas.

Desventajas

  1. Interfaz Gráfica de Usuario: A diferencia de draw.io, Lucidchart y StarUML, PlantUML carece de una interfaz gráfica de usuario interactiva. Esto puede hacer que sea menos atractivo para usuarios que prefieren trabajar visualmente y manipular elementos del diagrama de forma interactiva.
  2. Curva de Aprendizaje: El enfoque basado en texto de PlantUML puede representar una curva de aprendizaje más empinada para aquellos que no están familiarizados con su sintaxis, en comparación con la simplicidad de arrastrar y soltar de draw.io y Lucidchart.
  3. Colaboración en Tiempo Real: Lucidchart y draw.io ofrecen capacidades robustas para la colaboración en tiempo real, permitiendo a múltiples usuarios trabajar simultáneamente en el mismo diagrama. Esta funcionalidad es limitada o inexistente en PlantUML.
  4. Dependencia de Java: Requiere Java para funcionar, lo que puede ser una barrera para aquellos que no desean instalar o mantener Java en sus sistemas.

Descarga y Generación de diagramas

Descarga

  1. Verificar que JAVA este instalado mediante el comando java -version
  2. Visitar la página web de PlantUML en el apartado de descargas https://plantuml.com/es/download
  3. Contaremos con varias opciones de descarga pero en este caso descargaremos el archivo JAR de Apache Software License

Generación del Diagrama

  1. Crear una carpeta y mover el archivo .jar
  2. Crear un archivo de texto con la estructura del diagrama en la misma carpeta del archivo jar
  3. Ejecutar el arvhivo .jar
  4. Dar click en el archivo para visualizar el diagrama

Extensión en VSCode

Instalación: Buscar e instalar la extensión de PlantUML

Configurar la extensión: Nos dirigimos a Preferences -> Settings -> Users -> Extensions -> PlantUML configuration y definimos la configuración del render con PlantUMLServer http://www.plantuml.com/plantuml/

Creación del archivo: Creamos un archivo .puml y definimos las clases del diagrama

Creación del diagrama: Presionamos en “Preview Current Diagram” y nos generar el diagrama de clases que definimos

Conclusiones

  • PlantUML se destaca sobre otras herramientas por su capacidad para integrarse de manera fluida con diversos entornos de desarrollo, esto es valioso en el mundo del desarrollo de software, donde la documentación y los diagramas deben mantenerse al día con los cambios rápidos y frecuentes en el código base al mismo tiempo que se tiene un control de versiones y al ser una herramienta basada en texto, permite la generación y actualización automática de diagramas, lo que facilita mantener la documentación sincronizada con el código.

 

  • PlantUML ayuda a la mejora continua y la agilidad dentro de los procesos de desarrollo de software al permitir la rápida iteración y modificación de diagramas a través de su sintaxis de texto plano, esta capacidad para adaptarse rápidamente a nuevas ideas y requisitos sin la necesidad de herramientas gráficas permite a los equipos mantener un ritmo de desarrollo dinámico y responder efectivamente a las necesidades cambiantes del proyecto, lo que en última instancia conduce a productos de software más robustos y adaptativos.

Video Tutorial

<div class=”fluid-width-video-wrapper” style=”padding-top: 56.2963%;”>
<iframe
title=”Video Tutorial PlantUML”
src=”https://www.youtube.com/embed/OypKoBgPEK8?feature=oembed”
allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share”
referrerpolicy=”strict-origin-when-cross-origin”
allowfullscreen=””
name=”fitvid0″>
</iframe>
</div>

https://youtu.be/OypKoBgPEK8

Presentacion 

https://www.canva.com/design/DAGEnZyqSok/WH9Jg0UDAjPESil3q7Q7Xg/view

Preguntas 

https://quizizz.com/admin/quiz/6642e41f96daf801890eea76/plantuml?source=quiz_share

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Seguir leyendo….

Javadoc

Javadoc

Introducción a JavadocJavadoc es una herramienta esencial para los desarrolladores de Java que...

CONFLUENCE

CONFLUENCE

Confluence: Confluence es una plataforma de colaboración y gestión de conocimientos desarrollada...

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *