SciELO - Scientific Electronic Library Online

 
vol.23 número1Control robusto de un sistema lineal de parámetros variantes (LPV): Un enfoque de las desigualdades matriciales lineales (LMI)Adiós techos rojos, hola bulldozers: ingeniería y cambio modernizador en Venezuela de 1923 a enero de 1958 índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista de la Facultad de Ingeniería Universidad Central de Venezuela

versión impresa ISSN 0798-4065

Rev. Fac. Ing. UCV v.23 n.1 Caracas mar. 2008

 

Prototipaje de la interfaz de usuario: una experiencia en el dominio de la geologia

Alecia Eleonora Acosta 1, Aldo Reyes 2, Nancy Zambrano 1

1 Universidad Central de Venezuela. Facultad de Ciencias. Escuela de Computacion.Centro de Ingenieria de Software y Sistemas (ISYS) Caracas, Venezuela. e-mails: eacosta@ciens.ucv.ve nzambran@ciens.ucv.ve

2 Universidad de Carabobo. Facultad Experimental de Ciencias y Tecnologia. Dpto. de Ciencias de la Computacion,Valencia, Venezuela. e-mail: reyes@uc.edu.ve

RESUMEN

En este trabajo se describe la utilizacion de los patrones de interaccion, incorporados a un metodo de desarrollo de software orientado a objetos, para la construccion de un prototipo de la interfaz de usuario perteneciente a una aplicacion de Modelacion de Medios Geologicos, lo cual significo una experiencia de desarrollo de una herramienta inscrita en el dominio de la geologia. Los patrones de interaccion, en conjuncion con el modelo objeto de interfaz, facilitan la construccion de este prototipo de interfaz desde las primeras etapas del ciclo de vida de la aplicacion. Un patron de interaccion captura un problema de interaccion, una solucion exitosa y su contexto. El patron se escribe para comunicar una experiencia y permitir su reutilizacion. En este trabajo se muestra la factibilidad y efectividad de aplicar un metodo para la construccion de un prototipo de interfaz de usuario, incorporado al Proceso Unificado de Desarrollo de Software y utilizando el Lenguaje de Modelacion Unificado (UML) para expresar los modelos que describen la aplicacion.

Palabras clave: Interfaz de usuario, Patrones de interaccion, Metodo de desarrollo de software orientado a objetos, Modelacion de medios geologicos.

User interface prototyping: an application in geology

ABSTRACT

In this work we describe interaction patterns and their incorporation into an object-oriented software development method in order to construct a user interface prototype. In this case, this prototype belongs to a geologic media modeling application. Interaction patterns, in conjunction with an interface object model, facilitate the construction of a user interface prototype, starting from the first stages of the software life cycle. An interaction pattern describes an interaction problem, a solution and its context. A pattern is written in order to communicate experience and knowledge, and reuse it. In this work, we show feasibility and effectiveness to apply a user interface construction method, incorporated to the Software Development Unified Process and using the Unified Modeling Language to express application models.

Keywords: User interface, Interaction patterns, Object-oriented software development method, Geologic media modeling.

Recibido: enero de 2007 Revisado: febrero de 2008

INTRODUCCION

En este articulo se describe la aplicacion de un metodo para la construccion de la interfaz de usuario, el cual se integra al proceso de desarrollo de software. Se elige como caso de estudio un sistema de modelacion de Medios Geologicos. Este metodo se basa en la construccion de un prototipo de interfaz de usuario una vez identificados los requerimientos del sistema y, para ello se elaboran dos modelos o visiones diferentes del mismo sistema: un Lenguaje de Patrones de Interaccion y el Modelo Objeto de Interfaz, los cuales van a facilitar la construccion de este prototipo. El metodo parte del Modelo de Casos de Uso y del Modelo Objeto del Dominio resultados del analisis de la aplicacion (previsto en cualquier metodo de desarrollo de software orientado a objeto). Luego, el proceso de prototipaje de la interfaz se integra como una etapa en el desarrollo de software orientado a objetos. Este metodo es definido en Acosta 20 (2004) y el caso de estudio es descrito en Reyes (1999).

MODELACION DE MEDIOS GEOLOGICOS

Un problema fundamental en la Geofisica lo constituye la determinacion de las caracteristicas de una region especifica del subsuelo. Tal determinacion es muy importante en exploracion petrolera, ya que conocer la forma de las superficies interfases que separan regiones con diferentes tipos de roca y determinar la densidad de estas regiones, proporciona informacion valiosa para identificar zonas del subsuelo donde pueden haberse acumulado hidrocarburos. Se desea, entonces, desarrollar un sistema que permita la construccion de modelos de medios geologicos y que sea interoperable con aplicaciones de trazado de rayos sismicos. En lo sucesivo, este sistema sera referido como SistGeo.

SistGeo debe permitir al usuario modelar diversas particularidades que pueden presentarse en medios reales y disponer de una interfaz grafica de usuario que permita, en todo momento, la visualizacion y manipulacion directa, en lo posible, del modelo tridimensional del medio en construccion (en lo sucesivo se utilizara el termino <<medio>> para designar al modelo tridimensional del medio). Esta interfaz debe facilitar la interaccion del usuario, quien podra rotar, acercar o alejar el medio, modificando la visualizacion. Tambien debe facilitar las restantes funcionalidades que debe proporcionar el sistema, identificadas durante el levantamiento de los requerimientos del mismo. Para satisfacer estos requerimientos, la interfaz debe acercarse lo mas posible al modelo mental del usuario -sea el geofisico, el geologo o el ingeniero que va a utilizar el sistema-, proporcionando e integrando al sistema los elementos de ayuda (por ejemplo, uso de tooltip, informacion contextual y ayuda general), evitando la memorizacion de comandos, simplificando las operaciones. En definitiva, se busca desarrollar un producto confiable, robusto y con un alto grado de usabilidad.

Los indicadores de usabilidad, tal como lo propone Nielsen (1993), se centran en que los sistemas sean faciles de aprender, faciles de memorizar, permitan al usuario ser productivo lo antes posible (esto es, eficiente en cuanto al uso), eviten que el usuario cometa errores y, en caso de ocurrir, indiquen las vias de recuperacion de situaciones erroneas o de excepcion; y que el usuario se sienta satisfecho cuando utilice la aplicacion. Para ello, el diseno de la interfaz de usuario debe, necesariamente, estar centrado en el usuario a fin de garantizar que el sistema interactivo cumpla esta cualidad de usabilidad.

El analisis de requerimientos se realizo a traves de entrevistas y discusiones con usuario potenciales de la aplicacion, caracteristica fundamental del diseno centrado en el usuario.

A continuacion se muestra el resultado de este analisis de requerimientos mediante un listado de las funcionalidades de SistGeo; indicandose la funcionalidad y su descripcion:

- Creacion de Medio: crea el modelo de un medio formado por un numero especificado de regiones uniformes, separadas entre si mediante superficies interfases planas, dentro de un paralelepipedo rectangular de dimensiones dadas.

- Traslacion de Superficie: traslada verticalmente una superficie interfase, modificando su profundidad.

- Inclinacion de Superficie: inclina una superficie interfase, modificando la profundidad de uno de sus bordes. - Traslacion de Nodo: traslada un nodo, modificando sus coordenadas (x, y, z).

- Traslacion de Linea de Nodos: traslada en forma paralela una linea de nodos, modificando en forma simultanea las coordenadas de todos los nodos de esa linea.

- Insercion de Linea de Nodos: inserta una linea de nodos en el poligono de control de una superficie, en una posicion especificada.

- Duplicacion de Superficie: construye una copia de una superficie y la coloca a una distancia especifica de la superficie original.

- Fusion de Superficie: traslada una region de una superficie origen y la hace coincidir con otra region de una superficie destino, construyendo para esto, parches en la superficie origen que permitan hacer la conexion.

- Eliminacion de Superficie: elimina una superficie o una region de una superficie, eliminado asi la frontera entre dos o mas regiones.

- Creacion de Fractura: crea una fractura en una superficie, desplazando verticalmente parte de la misma.

CONSTRUCCION DE LA INTERFAZ DE USUARIO

La idea central es la integracion del proceso de construccion de la interfaz de usuario en un metodo de desarrollo de software orientado a objeto existente (basado en las funcionalidades del sistema, fundamentado por diferentes arquitecturas, iterativo e incremental). Esto se traduce en la incorporacion de una fase de prototipaje de la interfaz de usuario en cualquier metodo orientado en objeto; en particular, en el Proceso Unificado de Desarrollo de Software 21 propuesto en Larman (2002). Adicionalmente se utiliza UML (Lenguaje de Modificacion Unificado) como notacion para la modelacion del sistema (Rumbaugh et al., 2005).

En el metodo propuesto, los modelos basicos que sirven de punto de partida para la construccion del prototipo son el Modelo de Casos de Uso y el Modelo Objeto del Dominio. Cada uno presenta una vision del sistema desde una perspectiva diferente y se expresa, para su visualizacion, mediante los diagramas correspondientes definidos en UML

 - El Modelo de Casos de Uso permite identificar los puntos de interaccion entre el usuario y el sistema, con base en sus funcionalidades. Un Caso de Uso es una secuencia de transacciones iniciada por el usuario y expresa un comportamiento del sistema. El modelo completo define todos los escenarios posibles, a partir de las interacciones del usuario y muestra el comportamiento del sistema.

- El Modelo Objeto del Dominio permite identificar los objetos que se encuentran en el dominio del problema y las relaciones entre ellos. La elaboracion de este modelo se realiza a partir del Modelo de Casos de Uso, lo cual permite integrar estas dos visiones del sistema.

Estos modelos son la base para elaborar, posteriormente, el Modelo de la Interfaz de Usuario (conformado por una coleccion de Patrones de Interaccion y un Modelo Objeto de Interfaz) y este es el punto de partida para la construccion del prototipo de interfaz. No se trata, pues, de proponer un metodo nuevo, ni se parte de cero; el proceso de construccion de la interfaz se integra a un metodo de desarrollo de software orientado a objetos.

Construccion del prototipo de la interfaz de usuario

El punto clave es incorporar la construccion de la interfaz de usuario al proceso de desarrollo del software, para ello se introduce el concepto de patron de interaccion que va a facilitar, conjuntamente con los objetos de la interfaz, el desarrollo del prototipo de la interfaz.

En general, un patron de interaccion captura la informacion esencial relativa a un problema de interaccion frecuentemente encontrado, muestra una solucion exitosa y describe el contexto de esta solucion; este se escribe para comunicar esa experiencia y permitir su reutilizacion. En particular, un patron de interaccion modela un aspecto referente a la interfaz de usuario. Los patrones sirven para generalizar una solucion, para registrar el conocimiento y la experiencia y reusarlo, siendo util para facilitar la comunicacion entre las personas involucradas en el desarrollo de un sistema, generalmente pertenecientes a diferentes disciplinas (el ingeniero de software, el especialista en interaccion humanocomputador, el experto en el dominio del problema, -geologos en el ejemplo-, etc.).En la figura 1 se muestran los diferentes modelos que intervienen para la construccion del prototipo.

Figura 1. Modelos que intervienen en la construccion del prototipo de interfaz.

El primer modelo -Casos de Uso- permite detectar los puntos de interaccion entre el usuario y la aplicacion; cada uno de estos puntos (o varios) se traduce en un patron que le asocia el mecanismo de interaccion correspondiente, cuyo centro es el problema de interaccion a resolver, desde el punto de vista del usuario. Estos patrones pueden completarse referenciando a otros patrones de interaccion mas simples. Al final, se tendra un conjunto de patrones que definen un lenguaje en un cierto dominio, cuyas relaciones establecen una estructura enlazada.

El segundo modelo -Objeto del Dominio- es la base para la reificacion o proceso de conversion de los conceptos presentes en este modelo, a sus representaciones concretas en la interfaz de usuario, generandose el Modelo Objeto de Interfaz. Tal como se define en Beaudouin-Lafon y Mackay (2000) la reificacion consiste en el proceso de conversion de los conceptos en un determinado modelo a sus representaciones concretas en otro modelo de mas bajo nivel de abstraccion; tal reificacion permite crear las representaciones a ser manipuladas por el usuario en la interfaz. Los objetos que pertenecen al Modelo Objeto de Interfaz provienen, entonces, de la reificacion de objetos del Modelo del Dominio o de la reificacion de operaciones de estos objetos, para las cuales se define un instrumento de interaccion o mediador entre el usuario y un objeto de la interfaz. Como analogia considerese una operacion comun, por ejemplo la escritura, ello requiere de un instrumento para realizarla, por ejemplo, un lapiz seria el instrumento de interaccion para realizar la escritura.

Las soluciones descritas en la Coleccion de Patrones y el Modelo Objeto de Interfaz, se implementan para obtener el prototipo de la interfaz de usuario.

APLICACION DEL METODO

En esta seccion se presenta el proceso de analisis para la construccion de SistGeo. Este proceso parte de la especificacion de requerimientos presentada en la seccion 2. A partir del cual se construyen el Modelo de Casos de Uso, el Modelo Objeto del Dominio y el Modelo de Interfaz; en la seccion 5 se mostrara en detalle el proceso de prototipaje de la interfaz, haciendo enfasis en la utilizacion de los patrones de interaccion.

Modelo de Casos de Uso

El Modelo de Casos de Uso permite identificar las funcionalidades del sistema a partir de las interacciones entre el usuario y el sistema. Describe la secuencia de acciones que produce un resultado observable al usuario. En la figura 2 se presenta el diagrama de Casos de Uso de la aplicacion, el cual muestra todos los escenarios posibles iniciados por un actor. Note que una secuencia de transacciones iniciadas por el usuario constituye un escenario de utilizacion del modelo. El conjunto de todos los escenarios muestra el comportamiento del Sistema.

Figura 2. Modelo de Casos de Uso del sistema.

Algunas relaciones entre los casos de uso de la figura 2 estan dadas por la asociacion <<extend>> que describe un curso alterno opcional (la extension) de otro caso de uso (base). Se usa cuando hay partes opcionales de un caso de uso, cuando hay cursos separados que son ejecutados en ciertas condiciones o cuando hay situaciones donde se puede seleccionar una, entre diferentes alternativas. Otras relaciones entre casos de uso estan dadas por la relacion <<include>>, esta se usa para particionar un caso de uso complejo en casos de usos constitutivos que son parte obligatoria del primero, permite separar una funcionalidad de un caso de uso, sea porque se repite en otros casos de uso o porque se quiere encapsular esa tarea.

A continuacion se describen algunos casos de uso. El caso de uso principal -Crear Medio-, consiste en la creacion de un medio geologico y, opcionalmente, en su recuperacion si ya esta creado -Cargar Medio-, asi como seleccionar una de las diferentes posibilidades de tratamiento del medio - para modificarlo, para visualizarlo y para almacenarlo-. El punto de inclusion significa que debe existir un medio para manipularlo. El Caso de Uso Modificar medio abre las posibilidad de modificar una superficie o una linea de nodos, y una vez seleccionada la superficie, se selecciona la operacion requerida. El Caso de Uso Visualizar medio reune las facilidades de rotacion, traslacion, acercamiento, alejamiento y corte de un medio, para efectos de visualizacion. Finalmente, el Caso de Uso Manipular Medio agrupa las facilidades de manipulacion de objetos tipicas que permiten guardar, guardar como e imprimir.

Modelo Objeto del Dominio

El Modelo Objeto del Dominio muestra el conjunto de objetos que caracterizan el dominio del problema y las relaciones entre ellos.

Los objetos identificados en el dominio del problema se presentan en la figura 3, se muestran las clases conceptuales, agregando algunas de las operaciones asociadas a cada clase (los puntos suspensivos indican que existen otras operaciones, otras clases).

Figura 3. Clases conceptuales del modelo objeto del dominio.

Las clases identificadas son:

Medio: es la representacion de una zona del subsuelo.

Region: es cada una de las partes en que se divide el medio.

Un medio esta formado por una o mas regiones. La union de todas las regiones forma el medio. Las caracteristicas de una region pueden ser establecidas de manera independiente de las otras regiones.

Superficie: es la frontera entre dos regiones del medio. Cada region esta limitada por dos o mas superficies.

Parche: es una superficie especial B-Spline rectangular parametrica bivariable. Un parche queda completamente definido mediante su poligono de control. Cada parche posee caracteristicas de continuidad C2 en toda su superficie.

Cuando una superficie se forma por la union de dos o mas parches, estos se conectan conservando en su frontera de union continuidad geometrica G1. Asi, una superficie posee continuidad geometrica G1 en los puntos de union de dos parches y continuidad geometrica C2 en cualquier otro punto. Dos superficies pueden compartir uno o mas parches.

Nodo: es cada uno de los puntos que forman el poligono de control de un parche.

Linea de Nodos: es cada una de las lineas de nodos que forman el poligono de control de un parche.

En la figura 4 se muestra el Modelo Objeto del Dominio, posteriormente se describen las relaciones entre las clases de objetos.

Figura 4. Diagrama del Modelo Objeto del Dominio.

Las relaciones entre estas clases son:

Relacion <<esta formado por>>, existente entre las clases Medio y Region, indica que una instancia de medio esta formada por una o mas regiones, esto es, el medio se representa como un conjunto de regiones que constituyen una particion de una zona del subsuelo. Se utiliza el termino Region, por ser mas amplio que el concepto de capa. Si bien en el momento en que se crea el medio, todas las regiones tienen forma de capa, el sistema SistGeo provee operaciones que permiten modificar esta configuracion inicial, de modo que puedan definirse regiones con formas arbitrarias.

- Relacion <<esta limitada por>>, existente entre las clases Region y Superficie, indica que una region esta conformada, inicialmente, por dos mas superficies o 24 interfases, una que la separa de la region inmediata superior y otra que la separa de la region que se encuentra por debajo; sin embargo, una region puede quedar limitada por mas de dos superficies (o interfases), una vez aplicadas ciertas operaciones.

- Relacion <<esta formada por>>, existente entre las clases Superficie y Parche, indica que cada superficie esta formada por uno o mas parches. Cuando se crea el medio cada superficie queda definida exactamente por un solo parche. Sin embargo, el sistema SistGeo proporciona algunas funcionalidades que permiten realizar operaciones sobre una superficie que implican un aumento del numero de parches que la forman.

- Relacion <<forma parte de>>, existente entre las clases Parche y Superficie, indica que cada parche forma parte de, al menos, una superficie. Sin embargo, cuando una superficie esta formada por mas de un parche, es posible que ese parche sea compartido con una o mas superficies, de modo que las superficies tengan este parche como sector comun; en ese caso, el parche forma parte de todas las superficies que lo comparten.

- Relacion <<es una asociacion de>>, existente entre las clases Parche y Linea de Nodos, indica que un parche puede entenderse como una malla compuesta de dos o mas lineas de nodos (el poligono de control del parche) Para definir una malla se necesitan, al menos, dos lineas de nodos. La idea de agrupar los nodos en lineas de nodos permite definir operaciones mas poderosas que aquellas que pueden definirse utilizando unicamente nodos individuales, aumentando asi la capacidad de interaccion del usuario.

- Relacion <<es un conjunto de>>, existente entre las clases Linea de Nodos y Nodo, indica que cada linea de nodos esta formada por, al menos, dos nodos.

APLICACION DE LOS RESULTADOS

Construccion del Modelo de Interfaz de Usuario

Construir el Modelo de Interfaz de Usuario significa establecer una coleccion de patrones (sea por reuso de patrones existentes o creacion de nuevos patrones) y construir el Modelo Objeto de Interfaz, los cuales sirven de entrada para la construccion del prototipo de interfaz.

- Los Patrones de Interaccion

Se utiliza el patron de interaccion para encapsular la informacion relativa a cada problema de interaccion, identificando el problema, mostrando la solucion y describiendo el contexto de esta solucion; de esta forma se modela cada aspecto referente a la interfaz de usuario.

La coleccion de patrones de modelacion de medios geologicos establece la base de un lenguaje de patrones en este dominio. Esta coleccion esta conformada por diversos tipos de patrones. Estos patrones facilitan el desarrollo del Modelo Objeto de Interfaz y, en consecuencia, el prototipaje de la misma.

En esta seccion se establece la coleccion de patrones de interaccion aplicables al sistema. Se presenta, en la tabla 1, un meta-patron para indicar el significado de cada componente del patron. Algunos de estos componentes pueden obviarse, si no son requeridos en un determinado patron, salvo los componentes: Nombre, Problema, Contexto y Solucion, que son obligatorios.

Tabla 1. Meta-patron y Componentes Componente

Los patrones de interaccion pueden encontrarse en los repositorios publicos de patrones, accesibles en el Web, como ejemplo se presentan las direcciones URL de Erickson y de Van Welie (consultadas en junio 2005).

A continuacion se describen los tipos de patrones considerados en este trabajo, ello define una taxonomia de patrones:

- Patrones de Dominio: captura aspectos de interfaz correspondientes a sistemas del mismo tipo.

- Patrones del Sistema: estan asociados al proposito del sistema, describen las metas de usabilidad que se desean alcanzar en el diseno de la interfaz de la aplicacion.

- Patrones de Tareas: asociados a la representacion de las funcionalidades en la interfaz. Por ejemplo, son los patrones asociados a las tareas de modelado de medios geologicos (crear un medio, traslacion de superficie).

- Patrones de Elementos Compuestos: son patrones que describen estilos de interaccion, tales como menus, formas, barras de herramientas, manipulacion directa.

- Patrones de Elementos Simples: describen los componentes de mas bajo nivel (botones, iconos, etc.).

Un lenguaje de patrones es una coleccion estructurada de patrones que guia al disenador desde el problema a un alto nivel de abstraccion a los problemas concretos.

A continuacion se presenta la definicion de un lenguaje de patrones (Acosta 2004), considerando la estructura del metapatron mostrado en la tabla 1:

1) Un lenguaje de patrones es un grafo aciclico dirigido PL=(., ) con los nodos.

2) Ã= {P1,..,Pn} y los arcos Â. = {R1,..,Rm}.

3) Cada nodo P Πø. representa un patron.

4) Para dos patrones P y QÎ Ã, se dice que P referencia Q si y solo si existe un arco directo RÎ Â que va de P a Q.

5) El conjunto de arcos que salen de un patron PÎ Ães denominado sus referencias y el conjunto de arcos que apuntan a este patron es denominado su ambiente.

6) Cada patron PÎ Ães, a su vez, una n-upla P=(n, c, co, a, p, s, ctx, f1,..,fi, u, con, e1,..,ej, ce1,..,cem, p1,..,pn) donde:

- n es el nombre                       - c es la clasificacion

- co es la confianza                  - a es el autor

- p es el problema                     - s es la solucion

- ctx es el contexto                   - f1,..,fi son las fuerzas

- u es la usabilidad                     - con es la consecuencia

- e1,..,ej son los ejemplos           

- ce1,..,cem son los contraejemplos

- p1,..,pn son los patrones relacionados

Los patrones se identifican a diferentes niveles. Un patron a un nivel puede implicar un numero de patrones a un nivel mas bajo para completarlo (ejemplo, un patron de seleccion de operacion puede implicar patrones para menus), esos patrones enlazados proveen una gramatica informal para el diseno: el lenguaje de patrones de un cierto dominio (Van Welie y Van der Veer, 2003). Un tratamiento exhaustivo de este lenguaje podria culminar en la definicion formal del mismo.

A efectos de mostrar el metodo para la construccion del prototipo de la interfaz de usuario, se describen algunos de los patrones pertenecientes a la coleccion del sistema SistGeo (figuras 5, 6, 7 y 8). En cada patron se presenta el diseno del primer borrador de cada pantalla. Asi mismo, para cada patron se indica su relacion con el caso de uso correspondiente en la figura 2.

Figura 5. Ventana inicial del sistema de modelado de medios geologicos.

Figura 6. Creacion de medio (Caso de Uso Crear Medio).

Figura 7. Cargar un medio (Caso de Uso Cargar Medio).

Figura 8. Traslacion de Superficie (Caso de Uso Trasladar Superficie).

Es de hacer notar que para la construccion completa del prototipo de interfaz se definen y/o reusan otros patrones que, por razones de espacio, se omiten. Los patrones de elementos, generales a cualquier interfaz, tales como: caja de botones de opciones, botones simples, caja de giro, barra de herramientas -fijas y flotantes-, menus, ventana secundaria, entre otros; se encuentran en repositorios de patrones en la Web y pueden ser reusados.

La figura 9 muestra el diagrama que representa el lenguaje de patrones de SistGeo citado anteriormente, las flechas indican que el patron origen referencia el (o los) patron (es) destino; esto significa que el patron origen requiere de las descripciones de los patrones destino para completar su descripcion; por ejemplo para cargar un medio se requiere el patron que describe la carga de archivo, utilizada usualmente.

Figura 9. Parte de la Coleccion de Patrones de SistGeo.

- El Modelo Objeto de lnterfaz

Para cada objeto se disena su representacion en la interfaz (reificacion del objeto) y para cada operacion activada por el usuario, el instrumento de interaccion apropiado.

El Modelo Objeto de Interfaz incluye las representaciones de los objetos en la interfaz, producto de la reificacion realizada a los objetos del Modelo del Dominio.

Es de hacer notar que para la construccion completa del prototipo de interfaz se definen y/o reusan otros patrones que, por razones de espacio, se omiten. Los patrones de elementos, generales a cualquier interfaz, tales como: caja de botones de opciones, botones simples, caja de giro, barra de herramientas -fijas y flotantes-, menus, ventana secundaria, entre otros; se encuentran en repositorios de patrones en la Web y pueden ser reusados.

La figura 9 muestra el diagrama que representa el lenguaje de patrones de SistGeo citado anteriormente, las flechas indican que el patron origen referencia el (o los) patron (es) destino; esto significa que el patron origen requiere de las descripciones de los patrones destino para completar su descripcion; por ejemplo para cargar un medio se requiere el patron que describe la carga de archivo, utilizada usualmente.

- El Modelo Objeto de lnterfaz

Para cada objeto se disena su representacion en la interfaz (reificacion del objeto) y para cada operacion activada por el usuario, el instrumento de interaccion apropiado.

El Modelo Objeto de Interfaz incluye las representaciones de los objetos en la interfaz, producto de la reificacion realizada a los objetos del Modelo del Dominio.

Es de hacer notar que, debido a que la conformacion de la Coleccion de Patrones (a traves de la definicion y/o reuso de estos) y la construccion del Modelo Objeto de Interfaz se realizan en forma paralela, es posible que puedan existir elementos que se describen en ambos modelos.

La figura 10 muestra un ejemplo de la aplicacion del proceso de reificacion a dos objetos del Modelo del Dominio, a saber el Medio y a la operacion de carga de un medio ya almacenado.

Figura 10. Ejemplo de reificacion de objetos y operaciones.

- La construccion del prototipo de la interfaz de usuario

Con todos los artefactos de software obtenidos hasta el momento, se procede a la construccion del prototipo ejecutable, para lo cual se selecciona una plataforma que facilite el proceso. Se implementan las soluciones descritas en los patrones, los objetos que conforman el Modelo Objeto de la Interfaz y la navegacion entre las diferentes interfaces.

Una vez construido el prototipo, se continua el desarrollo de la aplicacion siguiendo cualquier metodologia orientada a objeto, que incluya elementos actuales, tales como la utilizacion de componentes reusables, sea a nivel de diseno o de construccion.

CONCLUSIONES

El lenguaje de patrones de interaccion conjuntamente con el modelo objeto de interfaz conforman el denominado Modelo de Interfaz de Usuario, el cual facilita la construccion del prototipo de interfaz de usuario desde las primeras etapas del desarrollo de software, especificamente, desde la etapa del analisis. Este trabajo ha permitido experimentar la factibilidad y efectividad de aplicar un metodo para la construccion de un prototipo de interfaz de usuario. Este metodo se ha definido de tal forma que puede ser incorporado a cualquier metodo de desarrollo de software orientado a objetos que permita la definicion de, al menos, el Modelo de Casos de Uso y el Modelo Objeto del Dominio. En este caso de estudio, el metodo se incorporo sin problemas al Proceso Unificado descrito en Larman (2002), comprobando esa premisa. El dominio de este caso de estudio es bastante especializado al campo de la geologia; ahora bien, las ideas planteadas pueden ser trasladadas a otros dominios con un rango un poco mas amplio de aplicacion y demanda actual como por ejemplo el Comercio Electronico; generando asi un lenguaje de patrones que quedaria disponible para su utilizacion en el desarrollo de cualquier aplicacion de ecommerce. Esto se puede afirmar debido a que el metodo descrito es de propositos generales y para abordar otro dominio solo seria necesario cambiar el analisis de requerimientos de la nueva aplicacion e incorporar especialistas del area respectiva.

Es de hacer notar que aunque en el equipo de diseno de la interfaz de usuario se incorporaron especialistas en el area del dominio, quienes aportaron sus ideas, observaciones y comentarios a fin de producir el prototipo presentado en este trabajo, este prototipo debe ser sometido a nuevas evaluaciones por parte de los usuarios finales del sistema, de tal manera que pueden surgir cambios en las interfaces descritas, producto de estas evaluaciones.

El hecho de haber incorporado especialistas del dominio de la aplicacion, sin conocimientos profundos en el desarrollo de software, desde las primeras etapas del ciclo de vida de la aplicacion permitio verificar el potencial de los patrones de interaccion como una herramienta que presenta una notacion sencilla y facil de aprender, siendo comprensible por todo el equipo multidisciplinario de desarrollo.

AGRADECIMIENTOS

Los autores de este trabajo hacen publico su agradecimiento al Consejo de Desarrollo Cientifico y Humanistico (CDCH) de la Universidad Central de Venezuela y a la Universidad de Carabobo, por el financiamiento otorgado para la realizacion de este trabajo de investigacion.

REFERENCIAS

1. ACOSTA, A.E. (2004). Metodos y Herramientas para la construccion de la Interfaz de Usuario utilizando Patrones de Interaccion (Tesis de Doctorado). Universidad Central de Venezuela, Facultad de Ciencias.        [ Links ]

2. BEAUDOUIN-LAFON, M. & MACKAY, W. (2000). Reification, polymorphism and reuse: three principles for designing visual interfaces. Proc. Advanced Visual Interfaces, AVI- 2000, Palermo, Italy.        [ Links ]

3. ERICKSON, T. (2005). Patterns Home Page. URL: http:// www.visi.com/~snowfall (Consultada Junio 2005).        [ Links ]

4. LARMAN, C. (2002). Applying UML and patterns: An introduction to object-oriented analysis and design and the unified process. Second Edition. Prentice Hall PTR. USA.        [ Links ]

5. NIELSEN, J. (1993). Usability engineering. Prentice-Hall. USA.        [ Links ]

6. REYES, A. (1999). Algoritmo trazador de rayos sismicos en medios heterogeneos debilmente anisotropicos usando tecnicas de optimizacion no lineal. (Tesis de Maestria). Postgrado en Ciencias de la Computacion. Universidad Central de Venezuela. Caracas.        [ Links ]

7. RUMBAUGH, J., BOOCH, G. & JACOBSON, I. (2005). Unified Modeling Language User Guide. Addison-Wesley Professional, 2nd edition.        [ Links ]

8. VAN WELIE, M. (2005). Patterns Collection. URL: http:// www.welie.com (Consultado Junio 2005).        [ Links ]

9. VAN WELIE, M. & VAN DER VEER, G. (2003). Pattern Languages in Interaction Design: Structure and Organization. Interact 03. Zurich. Eds. Rauterberg, Menozzi, Wesson p.527-534 IOS Press, Amsterdam. URL: http:// www.welie.com/ (Consultado junio 2005).        [ Links ]