• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
 
De Modelos de Proceso a ModelosNavegacionales
Carlos Solís, José H. Canós, Manuel Llavador, Mª Carmen Penadés
 Resume:
-- Muchos métodos de desarrollo de hipermediabasan la construcción del modelo navegacional en elementos demodelos estructurales, sin tener en cuenta aspectos dinámicos,que igualmente influyen en la navegación. Aproximacionesrecientes incorporan aspectos dinámicos tras la generación de unmodelo navegacional basado en la estructura. En este trabajomostramos cómo obtener modelos navegacionales a partir demodelos de proceso lleva a modelos navegacionales más realistas.Siguiendo una aproximación dirigida por modelos y orientada aobjetos, definimos las transformaciones de elementos de losmodelos de proceso y de clases en elementos del modelonavegacional. Finalmente, ilustramos su aplicación con unejemplo.
  Palabras clave
:
 
--
 
Ingeniería Web, navegación, procesos denegocio.
I. I
NTRODUCCIÓN
 os métodos de desarrollo de hipermedia aparecidos en lapasada década se han basado en la extensión, más omenos conservativa, de los métodos de desarrollo de softwaretradicionales. La conjunción de hipertexto y multimedia, porun lado, y la popularización de la Web, por otro, generarondesafíos que los métodos tradicionales no eran capaces,aparentemente, de resolver. Entre ellos destaca el diseño ycontrol de la navegación por espacios complejos deinformación, que ha llevado a los métodos de la llamadaIngeniería Web a presentar el modelo navegacional como lagran diferencia frente a los métodos tradicionales.Si bien es discutible que la navegación sea exclusiva de lahipermedia o la Web (en cualquier aplicación existenavegación, tal vez no basada en enlaces, pero sí apoyada enotro tipo de elementos de interfaz de usuario), un méritoindiscutible de los métodos de Ingeniería Web ha sidoexplicitar la necesidad de un diseño cuidadoso de la misma.Sin embargo, la mayor parte de los métodos ha seguido unaaproximación basada en la estructura que muchas veces nocaptura toda la semántica de un problema determinado, ya quese limitan a construir caminos navegacionales derivados de lasrelaciones estructurales captadas en modelos como el Entidad- 
Este trabajo fue financiado por CICYT España a través de la becaDYNAMICA (TIC 2003-07804-C05-01) y CONACYT México con la beca178867/193415.Carlos Solís, José Hilario Canós, Manuel Llavador y María del CarmenPenadés son integrantes del Departamento de Sistemas Informáticos yComputación de la Universidad Politécnica de Valencia, Camino de Vera s/n,46021, Valencia, España. (e-mail: {csolis, jhcanos, mllavador,mpenades}@dsic.upv.es).
Relación, o el Diagrama de clases de UML. Es un hechoreconocido que la naturaleza dinámica de la realidad no quedaplasmada en modelos estructurales, sino que son los modelosde proceso los que realmente la capturan. Dicha dimensión hasido ignorada repetidamente por los métodos de IngenieríaWeb, y solo recientemente algunos de ellos han prestadoatención a los procesos, aunque de una forma poco natural ysiempre como añadido a la generación basada en la estructuradel modelo navegacional.En este trabajo mostramos cómo partir de un modelo deproceso es una manera más natural de obtener un modelonavegacional. Tal propuesta se ha plasmado en MDHDM(
 Model Driven Hypermedia Development Method 
), un métodopara el desarrollo de hipermedia que se fundamenta en: por unlado, considerar el proceso como el componente central deuna aplicación; por otro lado, utilizar una aproximacióndirigida por modelos para establecer un catálogo detransformaciones que permite obtener de forma sistemática losdiferentes modelos generados a lo largo del ciclo de vida deuna aplicación hipermedia. La principal contribución deMDHDM es, además de la definición de dichastransformaciones, la introducción (a nivel de modelonavegacional) de dos tipos distintos de enlaces: los enlaces deestructura y los de proceso. Tal distinción permite una guíametodológica clara para el desarrollo de aplicacioneshipermedia en las que tanto los procesos como la estructura dela información aportan información para la generación decódigo final en base a transformaciones de modelos.El resto del documento está estructurado como sigue: En lasección 2 justificamos la necesidad del modelo navegacionalen el diseño de aplicaciones hipermedia, se explican suscomponentes estructurales y de proceso, y cómo se han usadoen otros métodos. En la sección 3 se describe cómo se derivaen MDHDM el modelo navegacional del modelo de proceso ydel estructural. Para ilustrarlo en la sección 4 se muestra unejemplo de un proceso de comercio electrónico. La sección 5concluye el trabajo.II. L
A IMPORTANCIA DEL MODELO NAVEGACIONAL
 Los métodos de desarrollo de hipermedia proponenestructurar el proceso de desarrollo en una serie de fases.Diferentes métodos incluyen distintas etapas, pero un análisisde todos ellos muestra que siempre están presentes, con uno uotro nombre y en este orden, las siguientes: modeladoconceptual, diseño navegacional, diseño de la presentación eimplementación.
L
238IEEE LATIN AMERICA TRANSACTIONS, VOL. 5, NO. 4, JULY 2007
 
 
El modelado conceptual tiene como objetivo obtener unmodelo del dominio del problema; en algunos métodos (comoOOHDM [1] y UWE [2]) el modelo es orientado a objetos, yen otros (HDM [3], RMM [4] y WebML [5]) el modelo esrelacional. En el diseño navegacional se obtiene un modelonavegacional a partir del modelo conceptual usandoheurísticas. El modelo navegacional es comúnmente definidocomo una vista del modelo conceptual que refleja lainformación accesible a un usuario, y los caminos yestructuras de acceso para llegar a ella [1]. El diseño de lapresentación trata de la construcción de la interfaz quemuestran los elementos navegacionales al usuario, y se efectúamediante interfaces abstractas de usuario. Finalmente, laimplementación es el proceso de codificación del modelonavegacional y la interfaz, y es dependiente de la tecnología.El modelo navegacional es el que marca la diferencia másimportante entre los métodos clásicos de desarrollo desoftware y los de hipermedia. Los elementos del modelonavegacional (ver figura 1) son las clases navegacionales, lasasociaciones navegables, y diversas estructuras de acceso,tales como índices y visitas guiadas o tours. Una clasenavegacional es una vista de una o más clases del modeloconceptual. Una asociación navegable es un vínculo entreclases navegacionales, y corresponde a lo que en hipermediase conoce como un hiperenlace. Las estructuras de acceso sonelementos que permiten la visualización y acceso acolecciones de clases navegacionales. Una visita guiadapermite acceder a la colección de forma secuencial y avanzarhacia delante y atrás entre nodos vecinos. Un índice muestratodos los nodos de su colección y permite el acceso directo acualquiera de ellos. Un formulario permite el ingreso de datosde entrada que sirven para seleccionar las colecciones deíndices y visitas guiadas condicionales. Un menú es unacolección de enlaces que, a diferencia de los índices, esestática.En la mayoría de los métodos de diseño de hipermedia elmodelo navegacional se deriva del modelo conceptualaplicando unas heurísticas que describimos, sucintamente, acontinuación. Las clases navegacionales son consideradasvistas de las conceptuales. Las asociaciones 1-1 setransforman en asociaciones navegables con cardinalidad 1-1.Las asociaciones 1-N se transforman en una estructura deacceso entre dos clases navegacionales; cuando lacardinalidad es pequeña se prefieren visitas guiadas, y en casocontrario son preferibles los índices [4]. Por último, lasasociaciones M-N se tratan como dos relaciones 1-N.Si bien esta estrategia puede ser útil en algunos casos,partir sólo del modelo conceptual lleva a un modelonavegacional muy limitado, que no responde a la complejidadde los modelos navegacionales de aplicaciones reales.Considérese, por ejemplo, el portal de una librería electrónicatal como Amazon (http://www.amazon.com). La figura 2muestra una captura de pantalla correspondiente a una faseintermedia del proceso de compra de un libro. Si bien algunosenlaces corresponden, claramente, a navegación derivada delmodelo conceptual (por ejemplo, los enlaces que conducen aldetalle de un libro, el menú principal y el botón de envío delformulario de búsqueda), hay otros que de ningún modotienen ese origen, sino que aparecen en esa pantalla por elhecho de que el usuario, en ese momento del proceso decompra, debe realizar una serie de acciones (indicados por lasflechas). En el ejemplo, el usuario está en la actividad deselección: puede añadir un nuevo producto o, como ya haseleccionado algunos productos, puede editar el carro decompras, o cerrar la compra. En otras palabras: en generalexiste un proceso de negocio subyacente, cuyo conjunto detareas y el orden entre las mismas dan lugar a una parte muyimportante de la navegación de la aplicación Web. Pese a ello,solo recientemente algunos de los métodos mencionados hatenido en consideración la perspectiva de proceso en laobtención del modelo navegacional.WebML [5] y OOHDM [1] han sido extendidos paraincorporar elementos de proceso en sus primitivas de diseñonavegacional. Las primitivas de WebML para modelar flujosde trabajo incluyen bifurcaciones, inicio y fin de actividades, einicio y fin de procesos. En OOHDM el modelado de procesosse efectúa mediante enlaces etiquetados. Los nodos dehipermedia se separan en nodos de proceso y nodosnavegacionales, de modo que si hay un enlace entre un nodonavegacional y un nodo de proceso, entonces éste puede seretiquetado como inicio o continuación de una instancia delproceso; por su parte, un enlace desde un nodo de proceso aun nodo navegacional puede ser etiquetado como decancelación, suspensión, o de finalización normal del proceso;finalmente, el estado del proceso está controlado por uncontexto, que además indica cuándo los enlaces etiquetadosdeben ser mostrados.Ambos métodos distinguen entre la navegación sobre elmodelo conceptual y la navegación basada en el proceso quese ven como excluyentes. Esta visión, sin embargo, es pocorealista: en general, en toda aplicación hipermedia lanavegación se efectúa durante la ejecución de alguna tarea, esdecir, inclusive la navegación sobre el modelo conceptualdebe ser vista como parte de un proceso.En UWE [2] se sigue una aproximación algo distinta,aunque el proceso tampoco es visto como la columna vertebraldel sistema. Se parte del análisis de Casos de Uso, los cualesson divididos en navegacionales y de proceso, de aquellos seobtienen clases navegacionales y de éstos clases de proceso,responsables de mantener el estado del proceso. El flujo decontrol se modela con diagramas de actividad de UML. En
<TV>
Navigable ClassTask ViewMenuIndexTour
1
NavigableAssociations(Structural links)RedirectGroupProcess Link?Query Form
 Fig. 1. Elementos del modelo navegacional.
SOLÍS et al.: FROM PROCESS MODELS TO NAVIGATIONAL239
 
 
UWE un enlace entre un nodo navegacional y una clase deproceso es llamado enlace de proceso.En las metodologías existentes el modelo de proceso esintroducido durante el diseño navegacional, por lo cual, elmodelo resultante no refleja el proceso que ejecuta el usuario.Es necesario partir del modelo de proceso para explicitar lastareas que ejecutará el usuario mientras usa el sistema, ydistinguir, claramente, la existencia de dos tipos de enlaces:los estructurales y los de proceso.III. DERIVACIÓN
 
DEL
 
MODELO
 
NAVEGACIONAL
 
A continuación mostramos cómo es posible derivar unmodelo navegacional completo en el cual la dimensión deproceso se combine de forma natural con la estructura de lainformación. Para ello, partimos de dos asuncionesfundamentales:Una aplicación puede verse como la implementación de unproceso, consistente en la realización de una serie de tareaspara las cuales un usuario debe manejar una determinadainformación. La sucesión de tareas dará lugar a una sucesiónde nodos navegacionales de modo que cada nodo incluirá todala información que un usuario necesite para realizar la tarea encurso.En cualquier nodo navegacional puede haber dos tiposdiferentes de enlace: enlaces de proceso y enlacesestructurales. Un enlace de proceso es aquél que al serrecorrido provoca un cambio en el estado del proceso, esdecir, el paso de una actividad a la siguiente. Por su parte, unenlace estructural es el que no provoca avance en el proceso, ysuele corresponder a la navegación que un usuario realiza poruna estructura de información. En la figura 2, el enlace“Proceed to checkout” (esquina inferior derecha) es un enlacede proceso, pues hace pasar al proceso de la actividad deselección a la de finalización de compra, mientras quecualquiera de los enlaces correspondientes a los títulos delibros llevan a obtener más información sobre los mismos,pero el proceso no cambia de actividad.
Figura 2. Librería electrónica.
Antes de entrar en detalle, presentamos las notaciones queutiliza MDHDM para describir modelos navegacionales yprocesos de negocio.
 A. Modelo navegacional
El modelo navegacional usado en MDHDM es similar al deUWE [2], e incluye algunas extensiones a los elementospresentados en la sección 2 (ver figura 1): grupos, querepresentan colecciones de elementos de hipermedia quecomparten caminos navegacionales; redirecciones, quepermiten una navegación condicional; vistas de tarea o
task views
, que representan vistas hipermedia de actividades delproceso, y que son una especialización de las clasesnavegacionales; y enlaces de proceso, que hacen avanzar elestado del proceso.
 B. Modelo de proceso de negocio
Un modelo de proceso de negocio representa una vistaabstracta del trabajo efectuado en una organización paraalcanzar un objetivo dado; la llamada Business ProcessModeling Notation (BPMN) [6] es el estándar del ObjectManagement Group para la especificación de procesos denegocio, y es la que utiliza MDHDM para representar losmodelos de proceso (ver figura 3).
Fig. 3. Elementos del proceso de negocio.
240IEEE LATIN AMERICA TRANSACTIONS, VOL. 5, NO. 4, JULY 2007
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...