La discusión acerca de si modelar el software es bueno o malo no es realmente la que toca. Más que nada, porque siempre modelamos el software que vamos a desarrollar. Como dice Olivé [1], el modelo siempre existe, la única opción es decidir su forma: puede ser mental (existir sólo en la mente de los diseñadores) o explícita.

Por lo tanto, la discusión real es consiste en decidir si invertir nuestro esfuerzo en dibujar de forma explícita los modelos vale la pena o no. A continuación intento justificar el porqué creo que esta diferencia semántica es importante.

Una vez que nos centramos en el problema de modelos explícitos si o no, creo que es fácil convenceros de qué todas las críticas al uso de las técnicas de modelado no son realmente críticas al modelado per se, sino críticas al hecho de modelar en las condiciones actualels, es decir utilizando las herramientas y los lenguajes de modelado actuales. Para mi, el problema no está en el modelado sino en ¡lo malas que son aún las herramientas CASE que tenemos que utilizar cuando modelamos!.

De hecho, creo que una nueva generación de herramientas CASE que:

  • Faciliten el dibujo de los modelos (e.j. permitiendo el uso de dispositivos como TabletPC para dibujarlos a mano directamente, habilitando versiones simplificadas de los lenguajes de modelado o permitiendo hacer drag-and-drop y combinar elementos de distintos diagramas en la definición de un modelo)
  • Ofrezcan servicios útiles basados en los modelos definidos (e.g. controles de calidad con feedback inmediato, control de versiones a nivel de modelo para permitir el modelado conjunto de equipos distribuidos, generación de código,…)

podría acabar con la actual “Modeling War” ya que se vería claramente que el tiempo invertido en dibujar los modelos (que sería menor con estas nuevas herramientas) valdría la pena gracias a los beneficios derivados del uso de los servicios ofrecidos.

No creo que disponer de una herramienta de este tipo sea ciencia ficción. Muchos de los aspectos que menciono ya estan disponibles en forma de prototipos o artículos de investigación. “Sólo” tenemos que empezar a combinarlos en una misma herramienta. A lo mejor soy sólo yo, pero pensar en la posibilidad de tener una herramienta que me permita dibujar un diagrama de clases a mano en mi tabletPC tener un feedback inmediato de qué el modelo es correcto (por ej. comprobando que las multiplicidades indicadas no hacen el modelo insatisfactible) y poder generar el script DDL para implementar el diagrama en mi gestor de bases de datos preferido, me parece apasionante.

[1] Antoni Olivé: On the Role of Conceptual Schemas in Information Systems Development. Ada-Europe 2004: 16-34

Y si realmente te ha gustado ayúdame a hacerlo llegar a otros utilizando los bookmarks que tienes a continuación:

Pin It on Pinterest

Share This