Unified Modeling Language (UML), afianza las claves y conceptos más usados en la programación orientados a objetos. Para eso vamos a ver qué es y un ejemplo de uso para poder sacarle partido al UML.

Qué es UML y sus características

UML es un lenguaje de modelado, un lenguaje visual en el que se trabaja con cajas, flechas y diagramas. Esto nos permite poder representar las ideas de cómo queremos estructurar nuestros programas de una forma mucho más visual.

Este sistema nos ayuda por muchos motivos, siendo los principales:

  • En muchas ocasiones las ideas que tenemos en nuestra mente son difíciles de explicar a los demás.
  • Nos permite plasmar nuestra idea de forma que no tengamos que desarrollarla completamente.
  • Una vez desarrollada nuestra idea, podemos trabajar sobre la misma.

Además de todo lo anterior, destacar que una vez llegamos al punto en el que estamos decididos sobre cómo queremos desarrollar la idea, existen herramientas que nos permiten pasar estos diagramas a un esqueleto del código, que después simplemente tendremos que implementar.

Ejemplo de uso de UML

Vamos a ver un ejemplo del uso de UML, en el que vamos a mostrar una interfaz sencilla en la que plasmaremos el desarrollo de un servidor de aplicaciones, cuya función será ejecutar aplicaciones.

ejemplo de diagrama UML

Para desarrollar esta aplicación, que hemos llamado App, hemos decidido que la misma tenga cuatro funciones, que son start, launch, run y stop.

El objetivo es que nuestro servidor, sea capaz de ejecutar cualquier aplicación que cumpla con los requisitos anteriores.

Además hemos definido otra aplicación derivada de la aplicación base, en la cual indicamos que estamos heredando, y que hemos llamado StatefulApp.

Para esta aplicación derivada hemos decidido que es una aplicación que tiene un estado (State), que cumple con unos requisitos como son:

  • Se ha creado
  • Se ha iniciado
  • Se ha lanzado
  • Está siendo ejecutada
  • Ha finalizado
  • Se ha detenido

Además, hemos decidido que nuestra aplicación va a tener un número limitado de veces en la que se puede estar ejecutando, por lo que hemos añadido dos atributos:

  • Uno para saber cuál es el límite m_run_liit: uint
  • Otro para saber cuál es la cantidad de veces que se ha ejecutado m_runned_times: uint

De la misma forma podríamos seguir creando otras aplicaciones en el mismo esquema, y una vez que las tuviéramos definidas podríamos mostrarlas a nuestros compañeros, alumnos o clientes, y darles una idea aproximada de lo que queremos hacer antes de empezar a hacerlo.

Este proceso nos ahorra muchísimo tiempo, no solo a la hora de tener que codificar la aplicación final, sino también porque todo va a estar definido de antemano, es decir, tanto los desarrolladores como el resto del equipo de desarrollo o los alumnos o clientes, tengan las ideas claras desde el principio.