6 herramientas de modelado de software: visualiza antes, desarrolla después

Muchos pueden pensar que la etapa más importante en el desarrollo de software es la implementación. Y aunque es el momento en el cual se construye el producto final, es imprescindible que se realice un minucioso modelado de software previamente.

El modelado de software es una técnica de ingeniería donde se visualiza el software antes de ser desarrollado.

El nivel de detalle a aplicar depende de la experiencia del analista funcional que realice el modelado y la metodología que utilice.

Mediante el modelado se puede especificar la arquitectura de software, los componentes y sus relaciones, el modelo de base de datos, las actividades y el flujo que deben seguir, procesos… en fin, una gran variedad de artefactos y diagramas que organizan incluso el código fuente, los nombres de las funcionalidades y los patrones de diseño que se incorporan.

Un modelado de software correcto y específico deja listo el terreno para que el desarrollador pueda programar el sistema desde una base sólida, asegurando tener en cuenta la seguridad del producto, la reutilización de código y especialmente, la organización de cada clase y método.

Lenguaje de modelado de software

Lenguajes de modelado existen varios, pero en su mayoría el objetivo es representar procesos dentro del negocio, que, si bien son útiles para representar partes del comportamiento de un sistema, no deben confundirse con el Lenguaje de modelado de software.

Este lenguaje recibe el nombre de Lenguaje Unificado de Modelado, UML (Unified Modeling Language) y está indicado especialmente para visualizar, describir y documentar el desarrollo de software.

Permite especificar procesos, funciones y otros aspectos como los esquemas de base de datos.

 Cuenta con más de 15 tipos de diagramas predefinidos, listados a continuación:

  • Diagramas de clase
  • Diagrama de components
  • Diagrama de despliegue
  • Diagramas de objetos
  • Diagrama de perfil
  • Diagramas de estructura compuesta
  • Diagramas de actividad
  • Diagramas de casos de uso
  • Diagramas de máquina de estado 
  • Diagramas de interacción
  • Diagramas de secuencia 
  • Diagrama de comunicación
  • Diagramas de sincronización
  • Diagramas generales o globales de interacción

👉 También te puede interesar leer: WebPack: una mirada al empaquetado de aplicaciones en la web

Herramientas de modelado

Existen diferentes herramientas que soportan este lenguaje y pueden ser utilizadas para el modelado. La diferencia entre ellas se encuentra en si son de pago o libres, y sobre todo los diagramas que soportan y las opciones que poseen.

A continuación, te comento algunas.

Rational Rose Enterprise Edition

rationalrose 6 herramientas de modelado de software: visualiza antes, desarrolla después

Es una herramienta de modelado UML que se clasifica como una CASE (Ingeniería Asistida por Computadora).

Permite crear algunos de los diagramas que documentan el desarrollo de software, incluso cuando ya se encuentra en ejecución la etapa de implementación.

Está compuesta por una gran variedad de prototipos que facilitan la descripción del sistema, su comportamiento y apoya la presentación de las soluciones a los clientes y al resto del equipo de desarrollo.

Además del lenguaje UML soporta otras notaciones como OMT y Boosh, menos conocidas.

Una característica relevante es que puede instalarse en varias plataformas, ya sean UNIX o no. Con su evolución se ha convertido en una familia de productos, indicados para objetivos específicos:

  • Rational Application Developer
  • Rational Software Architect
  • Rational Portafolio Manager
  • Rational Requisite Pro
  • Rational Rose

Una desventaja de esta herramienta es que esta desarrollada basándose especialmente en la metodología RUP, por lo que los diagramas que facilita son solo los representados en esta metodología. En cuanto a las formas de distribución es una herramienta de pago, bajo licencia comercial.

👉 También te puede interesar leer: ¿GIT o SVN? Mantén el último cambio

Visual Paradigm

visualparadingm 6 herramientas de modelado de software: visualiza antes, desarrolla después

Visual Paradigm se clasifica también dentro de las herramientas CASE, siglas que corresponden al nombre de Ingeniería de Software Asistida por Computadora en inglés y se conoce como una herramienta de modelado, concebida especialmente para el desarrollo de software.

Por este motivo contiene un amplio grupo de diagramas, estereotipos y otros componentes que abarcan cada etapa del ciclo de desarrollo de un software.

Sin embargo, mediante esta herramienta también es posible lograr la descripción de procesos complejos, incluyendo sus subprocesos. De ahí que se haya convertido en una plataforma, o suite como también se le conoce, del modelado.

A continuación, te muestro algunas de sus características:

  • Una vez hecho, no hay que escribirlo: permite generar código fuente, una imagen, incluso los datos en un Excel a partir de los diagramas modelados.
  • Ingeniería en cualquier dirección: soporta ingeniería inversa.
  • Ágil o robusto: incluye artefactos para metodologías tradicionales, metodologías agiles y para la Gestión de Servicios de Tecnologías de la Información (ITSM).

Además, permite el modelado en tiempo real, la documentación de proyectos de desarrollo entre otras ventajas.

Como aspecto negativo puede señalarse que al ser una plataforma con tantas opciones es compleja de entender en su totalidad.

Es una herramienta que posee distribución de pago y una opción libre.

La diferencia radica en que la de pago permite generar código fuente a partir de los diagramas y la gratis no. Además, al exportar los diagramas como imagen bajo la distribución libre, se añade una marca de agua.

👉 Te puede interesar: Los mejores clientes gráficos para gestionar bases de datos

Microsoft Visio

Visio 6 herramientas de modelado de software: visualiza antes, desarrolla después

Esta herramienta no nació para el modelado de software, sino con un propósito más cercano al dibujo técnico. Luego fue evolucionando y se le incluyeron otras funciones, entre ellas el soporte al lenguaje UML.

Permite la generación de diagramas de flujo y otros, que son fácilmente construidos a partir de plantillas predefinidas.

Similar a Visual Paradigm aplica el modelado en tiempo real y su principal ventaja es la compatibilidad con herramientas de Microsoft.

Su distribución, sin embargo, es propietaria. La versión libre a esta herramienta se llama DIA y fue desarrollada por GNOME para ser distribuida bajo licencia GNU.

👉 También te puede interesar leer: Tipos de mantenimiento de software: alternativas después del despliegue

StarUML

staruml 6 herramientas de modelado de software: visualiza antes, desarrolla después

Similar a las herramientas anteriores, StarUML está basado en el lenguaje UML para el modelado de software en varias de sus etapas de desarrollo.

Además de este lenguaje, permite realizar diagramas MDA (Arquitectura basada en modelos). De manera general los diagramas que soporta son:

  • Diagrama de casos de uso
  • Diagrama de clase
  • Diagrama de secuencia
  • Diagrama de colaboración.
  • Diagrama de estados
  • Diagrama de actividad.
  • Diagrama de componentes
  • Diagrama de despliegue.
  • Diagrama de composición estructural (UML 2.0

La herramienta para modelado StarUML se distribuye bajo licencia GNU/GPL lo que proporciona como ventaja que pueden desarrollarse módulos que enriquezcan las capacidades del producto. Otras ventajas que posee son:

  • Definir elementos propios para los diagramas.
  • Capacidad de generar código a partir de los diagramas y viceversa, para los lenguajes c++, c# y java.
  • Generar documentación en formatos Word, Excel y PowerPoint.
  • Incorporar los Patrones GoF (Gang of Four), entre otros elementos de desarrollo.
  • Generar plantillas de los proyectos.

👉 Te puede interesar: Conociendo los lenguajes de programación declarativos

Enterprise Architect

Enterprise 6 herramientas de modelado de software: visualiza antes, desarrolla después

Esta herramienta cuenta con un amplio alcance, pues se puede utilizar tanto para el modelado de software como para procesos.

Posee varias características que favorecen su uso en el desarrollo de sistemas complejos y robustos. Algunas de ellas son:

  • Manejo multi-usuario.
  • Generación de documentos asociados al modelado.
  • Colaboración desde la nube para fomentar el trabajo en equipos distribuidos.
  • Soporta diagramas de gran tamaño.
  • Simulación del comportamiento de los diagramas y modelos.
  • Gestión de cambios y versiones en el modelado.
  • Ingeniería inversa.
  • Modelado de bases de datos.
  • Soporte para la versión 2.5 de UML.

Esta herramienta es completamente de pago y propietaria, con dos tipos de licencias que pueden adquirirse dependiendo del entorno donde se utilice.

MagicDraw

magicdraw 6 herramientas de modelado de software: visualiza antes, desarrolla después

Igualmente se clasifica como una herramienta CASE que soporta el lenguaje UML y tiene como objetivo facilitar el análisis y diseño de un software, mediante varias opciones de modelado, entre las que se incluyen:

  • Diseño de sistemas orientados a objetos
  • Modelado de bases de datos
  • Ingeniería y re-ingeniería en varios lenguajes de programación, como J2EE, C#, C++, .NET, entre otros.

Posee diferentes ediciones que incorporan diseño de aplicaciones en tiempo real, cliente/servidor y distribuidas de n-capas y compatibles con diferentes sistemas operativos. Estas ediciones son:

  • MagicDraw Reader: permite leer y previsualizar los modelos UML creados con MagicDraw, y compartirlos en forma de imagen sin necesidad de tener la herramienta instalada. Esta edición se distribuye de manera gratuita.
  • MagicDraw Community edition: Como la edición anterior es gratuita y está indicada para desarrolladores que no trabajan en proyectos de corte comercial. Posee solo algunos de los diagramas de MagicDraw, pero no la totalidad de estos.
  • MagicDraw Personal Edition: Es una de las ediciones más potentes pues posee acceso a todos los elementos del modelo mediante servicios consumidos directamente de MagicDraw. Soporta de manera completa la versión 2 de UML.

Espero que mediante esta propuesta de herramientas de modelado de software puedas obtener la información que necesita para elegir la indicada para su proyecto o simplemente conocer un poco más sobre este tema.

Un comentario

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.