¿Por qué UML sirve?

UML.jpgHoy he querid escribir dado un artículo que me envió una ex-alumna respecto a la utilidad que tiene UML en el desarrollo de software.

El artículo en cuestión se encuentra en el siguiente enlace:

http://blog.smaldone.com.ar/2006/11/17/por-que-uml-no-sirve/

Fue escrito hace 2 años ya y es de Javier Smaldone, quien no conozco, no tengo relación alguna y me es indiferente también. Sin embargo, cuando leí su artículo sentí algo de decepción frente a lo que él llama un lenguaje totalmente inútil.

Tal como dice Javier en su blog, este lenguaje (creado por el grupo The Three Amigos) no es más que un intento, que desde mi punto de vista fue bastante exitoso, para unificar los más de 20 métodos y lenguajes que se utilizaban el siglo pasado para el modelamiento de software.

Ahora bien, yo quiero dar también mi opinión respecto a esto. He tenido experiencia con RUP, soy ingeniero de software, pero más importante aún es que soy cliente de proveedores de software en donde carecen de un lenguaje o una metodología clara.

Así que esta es mi opinión.

El Problema Principal: Las personas hablan en "chileno"

Una de las máximas que tiene la vida es que cada uno habla como su entorno lo requiere. Desde el punto de vista del lenguaje podemos encontrar graves problemas respecto a entendimiento mutuo entre personas.

Por ejemplo, una "caja" para un matemático será una figura geométrica en 3D, para un bodeguero será un contenedor y para un arquitecto de software será la representación de un componente físico. ¿Dónde está el truco?, pues que el significado de la palabra "caja" es diferente dependiendo del contexto.

Esta situación es un problema claramente del lenguaje, en donde nos juega una mala pasada nuestra mento más que un acuerdo entre las partes. Más aún, cuando hablamos del desarrollo de software, nos enfrentamos a un problema serio, ya que los equipos de desarrollo se entrometen en dominios que no son parte de su quehacer (por ejemplo, medicina, finanzas, minería, etc). De hecho muchos software que parecen robustos carecen de un sentido cuando se trata de la convergencia en los problemas a resolver.

Es ahí donde un buen modelo es lo importante.

El Modelo en UML: Simplificar o Complicar el Problema

Los autores del UML, y que luego fueron los creadores de la herramienta que ahora es de IBM, Rational Software, diseñaron un lenguaje visual en donde el centro era el comprender el lenguaje entre el originador y el destinatario de cada modelo.

De esta forma, el nivel de detalle y abstracción del problema dependía en gran medida de que si el "lector" iba a ser alguien más cercano al dominio del problema o de la implementación de su solución.

Así, UML presenta una serie de artefactos que modelan, desde diferentes puntos de vista y de detalle, el mismo software, solución a un problema particular de la "vida real".

Juicio: Un Error de Conceptos

Lo que yo pienso que lleva a la gente a pensar que UML, especialmente dirigido al Proceso Unificado de desarrollo de software (UP), complica más de lo que ayuda, es que piensan que los modelos son pasos que uno debe cumplir en forma obligatoria para llegar al diseño. Si bien es cierto, la lógica entregada por UP nos enseña y demuestra que para un artefacto requiero otro, no hay que olvidar que no es más que un punto de vista del problema, por lo tanto la información de cada modelo es complemento de los otros.

Así, por ejemplo, los diagramas de secuencia se pueden utilizar como una representación de los mismo CU del problema. Por lo tanto, cuando la documentación es más bien "funcional", solo se requieren los últimos, y si la información es más bien "técnica" que va apuntada hacia las operaciones básicas del sistema, podemos utilizar siempre los digramas.

Conclusión

Sin querer extender mucho el artículo, la moraleja que yo saco es que, a pesar de lo que piense mucha gente, UML vino a hacer para lo que fue diseñado: para "unificar los lenguajes" en una sola notación y sintaxis en el modelamiento de software.

Personalmete siento que cada vez que dibujo un modelo, o que necesito enteder un software, la forma gráfica/visual es mucho más clarificadora, pero debo reconocer que se requiere cierto nivel de expertise su lo que queremos es "leer" un diagrama en UML. Pero, tal como dije antes, depe

|

Comentarios

Estoy de acuerdo contigo, el motivo principal de UML fue unificar los lenguajes de modelado (de donde viene su nombre) y pienso que si cumplio con su objetivo, por que ahora cualquiera que quiera ser programador, ingeniero en software o computacion, tiene que conocer el lenguaje, eso refleja el exito que ha tenido UML

Saludos.

Responder
hola l neta qu7e el uml es un metodo para diseñar programas la verdad es la mas utilizada en al actualidad si queremos ser actuale shay que leer mucho bye
Responder

Andrés,

Creo que quedó trunca la nota, aunque me resultó interesante.
Coincido más con el artículo de referencia, ya que tu explicación creo que quedó trunca.

Yo entiendo que el UML está pensado para organizaciones grandes con presupuestos interesantes, que para pequeñas o medianas con presupuestos mas apretados en donde la documentación muchas veces termina siendo un problema. 

Saludos desde Argentina!

Responder

He leído ambos artículos, no estoy de acuerdo contigo.

Responder
Durandarte:Me precae acertadisima tu exposicion y discernimiento. Y concuerdo esencialmente con el criterio de suficiencia del poema por el poema en si.Y yo tambien disfruto cuando descubro un poemazo en las afueras de mi gusto o camino. Son las mejores frutas, aquellas que cojermos en huerto ajeno.Un abrazoteViktor
Responder

Escribe un comentario

¿Quieres usar tu foto? - Inicia tu sesión o Regístrate gratis »
Comentarios de este artículo en RSS

Comentarios recientes

Cerrar