Herramientas para crear diagramas: Piensa tu código antes de programar

Una buena práctica es hacer diagramas antes de empezar a programar. Estas son algunas herramientas que te pueden ayudar.

En diferentes libros y sitios web, las personas citan una frase atribuida al presidente Abraham Lincoln: «si dispusiera de seis horas para cortar un árbol, gastaría cuatro horas afilando el hacha y dos cortándolo». Al programar, hacer diagramas es parte del trabajo de afilar el hacha.

Los diagramas son herramientas útiles para imaginarnos cómo será el código que vamos a desarrollar, la jerarquía de una página web o las relaciones de una base de datos. Para desarrollarlos, una hoja de papel y un lápiz pueden ser suficientes para elaborarlos, o bien, un pizarrón blanco. 

Sin embargo, si trabajas en proyectos colaborativos, quizá quieras buscar herramientas más profesionales para esta tarea en extremo importante.

Los diagramas permitirán que el equipo de desarrolladores tengan una mejor comprensión de las tareas que deben desempeñar y cómo su trabajo se conecta con el trabajo del resto del equipo.

Al buscar herramientas para hacer diagramas por Internet, probablemente te sientas inseguro sobre qué herramienta elegir y si la herramienta que estás eligiendo soluciona verdaderamente todas tus necesidades.

Aquí te presento las características de algunas herramientas populares para hacer diagramas, para que escojas la que más le convenga a tu proyecto.

Diagrams as Code: diseña la arquitectura de un sistema en la nube con código de Python

Diagrams as Code es una librería de Python que te permite diseñar la arquitectura de un sistema en la nube. Esta herramienta nació como un sistema de arquitectura que no requiere habilidades en herramientas de diseño.

Con Diagrams, también puedes describir o visualizar la arquitectura de un sistema ya existente. 

Entre las funcionalidades que ofrece, están:

  • La posibilidad de rastrear los cambios de los diagramas de la arquitectura en cualquier versión del sistema de control.
  • Soporte para seis de los principales proveedores de servicios en la nube: AWS, Azure, GCP, Kubernetes, Alibaba Cloud y Oracle Cloud. También ofrece apoyo en nodos locales, así como en lenguajes de programación y frameworks.

Por qué Diagrams as Code es una buena opción: Es gratuito y tiene soporte para varios proveedores. También es la opción ideal si tus habilidades de programación son mejores que tus habilidades de diseño.

Por qué Diagrams as Code es una mala opción: Si todavía estás aprendiendo a programar y tus habilidades de diseño son mejores, quizá querrás probar alternativas con una mejor interfaz de usuario. Ha sido diseñado para tareas específicas y quizá no sea la mejor opción como herramienta de propósito general.

Aprende a usar Diagrams as Code con esta guía (en inglés)

Structurizr: escoge cómo prefieres trabajar en la nube

Structurizr es un servicio que te permite hacer diagramas de la manera que más te convenga: a través de código o con una aplicación web con una interfaz de usuario.

Para hacer diagramas a través de código Structurizr utiliza Diagrams as Code, mientras que la opción de interfaz de usuario está basado en una aplicación web que funciona desde el navegador.

Por qué Structurizr es una buena opción: Ofrece versatilidad y te permite escoger la opción más cómoda para ti para hacer diagramas. Ofrece soporte para el modelo C4 para visualizar la arquitectura del software.

Por qué Structurizr es una mala opción: Cobra por utilizar una herramienta de software libre (Diagram as Code).

Aprende a utilizar Structurizr (en inglés)

SmartDraw: una solución para diagramas UML

SmartDraw es una herramienta para hacer diagramas de flujo, utilizando como base diagramas UML. 

Esta herramienta para crear diagramas se presenta como la mejor alternativa para Visio, al correr tanto en Mac, como en el explorador y en equipos Windows. También es una herramienta que resuelve las necesidades en una mejor manera que la paquetería Officce de Microsoft o de Google Suite. Además, ofrece más de 70 plantillas de diagramas para que pueda ser utilizado de manera rápida.

Por qué SmartDraw es una buena opción: Ofrece una solución sencilla de implementar y basado en diagramas UML. También permite a los desarrolladores crear fácilmente diagramas con datos.

Por qué SmartDraw es mala opción: Es software propietario y no tiene soporte para Linux.

Aprende a utilizar SmartDraw: http://sd2a.vzpla.net/apuntes/MANUAL_SmartDraw8.PDF

Microsoft Visio: la versión de lujo para los diagramas

Visio empezó como un software enfocado para que los ingenieros y los arquitectos realizaran planos, pero todo cambió cuando Microsoft compró Visio de Shapeware Corporation en el año 2000. 

Desde entonces, esta herramienta comenzó a enfocarse más en el diseño de vectores gráficos para la creación de diagramas enfocados en negocios, quitando funcionalidades que eran útiles para la agrimensura o la arquitectura.

En la versión profesional de Visio, los desarrolladores tiene la opción de conectar los diagramas con hojas de cálcula para representar datos de manera gráfica.

Por qué Visio es una buena opción: Al ser desarrollado por Microsoft, ofrece un soporte contínuo. Internet Explorer tiene integrado la representación de gráficos a través de Visio.

Por qué Visio es una mala opción: Es un software demasiado costoso.

Aprende a utilizar Visio

Draw.io: la opción buena, bonita y barata para el diseño de diagramas

Draw.io es una herramienta para hacer diagramas que mantiene un balance entre lo bueno, bonito y barato. Este software funciona a través del explorador web y desde Drive permite trabajar de manera colaborativa con otras personas. 

Esta herramienta ofrece soluciones para la creación de diagramas de flujo, arquitectura de software, modelado de base de datos, entre otras opciones.

Por qué Draw.io es una buena opción: es un software gratuito ejecutado desde explorador que permite el trabajo colaborativo.

Por qué Draw.io es una mala opción: La herramienta depende mucho de la conexión de Internet para funcionar adecuadamente. En ocasiones, tarda demasiado en reaccionar haciendo que la diagramación sea una tarea frustrante.

Aprende a utilizar Draw.io

¿Conoces otras herramientas para hacer diagramas profesionales? ¡Compártelas!