El modelado de software es una rama del estudio de las tecnologias de la información muy establecidad y respetada. Tiene sus propios programas de doctorado (al que personamente dediqué 4 años), sus propios congresos, sus autores especializados. Entonces, ¿Por qué el modelado web es tan poco habitual en la mayoría de proyectos web? La propia naturaleza de los desarrollos web nos dan la respuesta, la rapidez. La etapa de modelado es con asuidad la ignorada o minimizada en el camino del objetivo de conseguir reducir el plazo de entrega. En empresas pequeñas, en equipos de trabajo que se conocen desde hace tiempo, y/o soluciones repetitivas una simple reunión y acta de la misma puede dar la misma comprensión del proyecto a todas las partes implicadas. Sin embargo cuando empieza a crecer el número de participantes, cuando los mismos pueden haber variado de proyectos anteriores, cuando las soluciones son nuevas, cuando la complejidad o criticidad de la misma no se comunica con un simple acta de reunión no debemos olvidarnos del modelado.
El modelado web es un espacio de 3 dimensiones que son: niveles, aspectos y fases. Expliquemos uno por uno.
Para entender el concepto de niveles en el modelado web tenemos que darnos cuenta que las aplicaciones web son soluciones que presentan documentos sencillamente y que estos documentos está formados por hypertexto no lineal. Para modelar este contexto o dimensión distinguiremos 3 submodelos: contenido, entendido como la información y la lógica de la aplicación; hypertexto, que es la estructura de contenidos dentro del arbol de nodos y enlaces de la aplicacion; y la presentación, que es la interfaz de usuario.
Una clara seperación de estos 3 niveles permite la reusabiliad y ayuda a reducir la complejidad. Por ejemplo, para diseñar una navegación eficiente, el contenido debería ser ofrecido de forma redundante en varios nodos dentro del nivel de hypertexto. Gracias a la separación que hacemos de submodelos el contenido simplemente de modela en el contenido.
Los aspectos como dimensión de modelado describen la estructura y comportamiento de la técnica que implementa la aplicación. Se puede entender facilmente al comparar una solución web que simplemente presenta contenido estático de otra que implementa una web e-commerce, en la que se dispone de herramientas de busqueda, opciones y funciones de guardado de selecciones y más. En esta dimensión la estructura presenta el modelo de datos y el comportamiento en algunos casos puede ser un modelo de entidad-relación de clases.
La dimensión de las fases es la más abierta a decisión por el modelador. Clasicamente se puede entender en 3 submodelos: análisis, diseño e implementación. Pero en desarrollo agiles estos 3 se funden.
A continuación adjunto ejemplos de diseño de modelado para cada una las dimensiones comentadas, en un caso de gestor de contenidos. Estos ejemplos, como la conceptualización del modelado web descrito en este articulo ha sido extraido del libro Web Engineering, The Discipline of Systematic Development of We Applications. Nos dejamos sin describir en profundidad otros muchos aspectos abordados por Wieland Schwinger y Nara Koch como son la interdependencia entre submodelos de niveles o la personalización dentro de este esquema general, lenguajes de modelado web como WebML o herramientas comerciales y no comerciales en esta disciplina.






