Modelando con sentido
¿Quieren monólegueeeeeee? Bien, me descubriste. Sí, me quedé sin ideas para iniciar una entrada y tuve que recurrir a una frase de un programa mexicano de los 2000's, lo acepto, pero ese no es el punto de esta entrada. Hoy vamos a hablar de unos de esos temas que con tan sólo leer el título sabemos que no será algo fácil de digerir pero me sorprendió lo sencillo que fue asimilar este concepto y si estás pensando que vas a tener que aprender otro lenguaje de programación para aprender un lenguaje de modelado, déjame decirte que no tienes ni idea. Venga, ya capté tu atención, sigue leyendo.
Utiliza el diseño por contrato, es decir, diseña componentes que aceptan ciertas condiciones de entrada y garantizan ciertas condiciones de salida. Velo como que estás describiendo una máquina y tienes que indicar qué es lo que entrará y qué es lo que saldrá. ¿Lo más? Bueno, si utilizas este lenguaje de modelado al mismo tiempo también estarás documentando tu código de una manera superflua.
La mejor herramienta para este lenguaje es OpenJML ya que tiene más de 20 años en este negocio de las especificaciones y es sencillamente impresionante. Tiene algunas características muy interesantes como un indicador de problemas, un resaltado de sintaxis que es muy útil y una inspección en tiempo de ejecución, ¿algo más? Bueno, es totalmente compatible con Eclipse.
Se tratan de diagramas que describen un proceso, un sistema o un algoritmo. Con ellos puedes documentar, estudiar, planificar y mejorar procesos de una manera muy visual, vamos, el ser humano dibuja desde la prehistoria así que contar con flowchart nos viene bastante bien. Como todo buen lenguaje de modelación, las formas en flowchart están estandarizadas y cada una representa un concepto por ejemplo, un rectángulo es usado para representar un proceso, un rombo para representar una decisión y un romboide para representar un dato, todo fácil, ¿a que sí? Bueno, no te explicaré todo aquí porque aquí encontrarás una muy buena información acerca de toda la simbología de flowchart.
Al ser un lenguaje de modelación gráfico no necesitas nada más que pluma y papel, pero hay una herramienta muy cool de la cual me gustaría comentarte: se trata de Lucidchart. Esta aplicación en línea te permitirá elaborar muchos diagramas de manera muy fácil e intuitiva, además, cuando te creas una cuenta te asignan un espacio para tus propios diagramas así los puedes trabajar aún y cuando cambies de equipo. Las herramientas están en la barra lateral izquierda y tendrás un lienzo en el que podrás plasmar lo que se te ocurra.
Conclusiones
Los lenguajes de modelado son algo que deberías de comenzar a usar desde ya si es que aún no lo haces, un programador que escribe ciertos hints para ayudarse antes de comenzar a escribir código quizá se puede ver un poco impráctico pero nada que ver, tú escribiendo a lo loco sin pies ni cabeza te ves mucho peor. Adelante, la mayoría de estos lenguajes de modelado no son tan dramáticos como quizá lo parezcan al principio, la industria los usa y creéme, tu yo del futuro que esté en la industria te lo agradecerá.
¿Por qué la entrada está muy corta si es un Mastery Topic? Bueno, son exámenes, Ken lo entenderá por lo pronto... ¡Nos vemos a la vuelta!
Lenguaception
Un lenguaje que no es un lenguaje, a que suena a una frase de la película El Origen, ¿verdad? Un lenguaje de modelado no es uno a los que estamos acostumbrados, no, no es de esos fuertemente tipificados que odias cuando nada de compila a las 3:00 A.M., sino que más bien es una serie de normas y estándares acerca de cómo se debería debería hacer una buena representación del software. Si todavía no lo captas te lo contaré con un ejemplo.
Imagina que un buen día alguien por la calle te pide que si por favor podrías hacerle un mini mapa para llegar a un lugar y tú como buen samaritano aceptas, dibujas aquí un poco por aquí, un poco por allá y cuando por fin presentas tu obra maestra ocurre algo inesperado: la persona no entiende nada de tu dibujo. ¡Pero cómo! Si te has dejado la vida haciendo ese mapa y ahí está, ¡es totalmente claro! Bueno, con tus habilidades para el dibujo no me meteré pero si te diré que lo que tiene sentido para tí no necesariamente tiene que tener sentido para las demás personas. Por esta y por más razones se crearon los lenguajes de modelado, para expresar información de una manera clara, estructurada y consistente, ¿ya lo tienes? Venga, eso me pensaba.
¿Y si la persona que te pidió ayuda sobre cómo llegar a un lugar te pide una lista de pasos? ¿Y si te pide un diagrama por si no encuentra algo de lo que tu le dices? Bueno, cuando surgió esta necesidad entonces también se crearon muchos tipos de lenguajes de modelado y a continuación te los presentaré:
- Gráficos: Se basan en diagramas y símbolos para representar conceptos y líneas para representar relaciones entre ellos. Qué va, parecen los mapas conceptuales de toda la vida.
- Textuales: Se basan en palabras claves acompañados de parámetros y frases estandarizadas para expresar alguna instrucción.
¿Lo ves? No es un tema aburrido ni pesado, pero... ¿Cuántas herramientas hay? Muchas, más de las que debería, pero esto no tiene que se tan dramático, a continuación de presentaré mis favoritas al menos en teoría.
Mis favs
Java Modeling Language
![]() |
By OpenJML |
La mejor herramienta para este lenguaje es OpenJML ya que tiene más de 20 años en este negocio de las especificaciones y es sencillamente impresionante. Tiene algunas características muy interesantes como un indicador de problemas, un resaltado de sintaxis que es muy útil y una inspección en tiempo de ejecución, ¿algo más? Bueno, es totalmente compatible con Eclipse.
Flowchart
By svg by Booyabazooka
original png by Wapcaplet - vector version of Image:LampFlowchart.png, CC BY-SA 3.0, Link
Al ser un lenguaje de modelación gráfico no necesitas nada más que pluma y papel, pero hay una herramienta muy cool de la cual me gustaría comentarte: se trata de Lucidchart. Esta aplicación en línea te permitirá elaborar muchos diagramas de manera muy fácil e intuitiva, además, cuando te creas una cuenta te asignan un espacio para tus propios diagramas así los puedes trabajar aún y cuando cambies de equipo. Las herramientas están en la barra lateral izquierda y tendrás un lienzo en el que podrás plasmar lo que se te ocurra.
Conclusiones
Los lenguajes de modelado son algo que deberías de comenzar a usar desde ya si es que aún no lo haces, un programador que escribe ciertos hints para ayudarse antes de comenzar a escribir código quizá se puede ver un poco impráctico pero nada que ver, tú escribiendo a lo loco sin pies ni cabeza te ves mucho peor. Adelante, la mayoría de estos lenguajes de modelado no son tan dramáticos como quizá lo parezcan al principio, la industria los usa y creéme, tu yo del futuro que esté en la industria te lo agradecerá.
¿Por qué la entrada está muy corta si es un Mastery Topic? Bueno, son exámenes, Ken lo entenderá por lo pronto... ¡Nos vemos a la vuelta!
Comentarios
Publicar un comentario