Logo Studenta

Desarrollo_de_la_navegacion_en_entornos

¡Estudia con miles de materiales!

Vista previa del material en texto

Desarrollo de la navegación en entornos web 
M.J. Escalona, M. Mejías, J.Torres, A. Reina 
Departamento de Lenguajes y Sistemas Informáticos 
Universidad de Sevilla 
Avda. Reina Mercedes S/N 
41012 Sevilla 
Fax: 95 455 71 39. Tlf: 95 455 71 39 
{escalona, risoto, jtorres, reinaqu}@lsi.us.es 
Abstract. Uno de los aspectos más importantes que aparecen en el entorno de la Web es la 
navegación. La navegación lleva asociada la idea de moverse por un espacio de información, 
donde es crucial el concepto de posición actual o contexto, ya que muchas veces, el siguiente 
paso a dar mientras se navega dependerá de qué pasos se hayan dado antes. Esta importancia de 
la navegación se constata en el tratamiento que se le da en las metodologías de diseño web 
(OOHDM, RMM, etc.). Sin embargo, si analizamos cómo se plantea el estudio de la navegación 
en estas metodologías veremos que en la mayoría de los casos estas propuestas tratan el aspecto 
de la navegación sólo en la fase de diseño, sin entrar a analizar como se especifica o analiza la 
navegación. El objetivo de este trabajo es presentar NDT (Navigational Development 
Tecnique), una técnica que permite realizar la especificación, el análisis y el diseño de la 
navegación de un sistema. 
1. Introducción 
En los últimos años, ha aparecido un interés creciente en el desarrollo de los sistemas de 
información en la web. La práctica ha demostrado que los sistemas de información en la web 
requieren un tratamiento especial durante el proceso de desarrollo, siendo necesario proponer 
nuevos modelos y técnicas que den soporte al equipo de trabajo asegurando la calidad del 
producto resultante [12]. Con esta idea, han diferentes metodologías que ofrecen modelos y 
técnicas específicas para tratar los sistemas web: OOHDM[11], UWE[8], WSDM[3], etc. 
Uno de los aspectos más importantes en los sistemas de información en la web es el de la 
navegación. La gran mayoría de las propuestas metodológicas para sistemas web resaltan 
este aspecto ofreciendo modelos que permitan diseñarlo e implementarlo asegurando la 
calidad del resultado. Sin embargo, analizando dichos modelos y técnicas y viendo los 
resultados de diferentes estudios comparativos [8][4], se puede observar que este aspecto, en 
la mayoría de las propuestas, se trata solamente en las últimas fases del ciclo de vida, 
principalmente en diseño e implementación. 
La idea principal que plantea este trabajo es la de debatir la necesidad de elevar el estudio 
de este aspecto a las primeras etapas del ciclo de vida. Basado en esta idea se presenta NDT 
(Navigational Development Technique) [6]. Esta propuesta se mueve en las primeras fases 
del ciclo de vida y define un proceso estructurado para especificar, analizar y diseñar el 
aspecto de la navegación en sistemas de información web. Este trabajo presenta una visión 
general de NDT así como la conexión entre esta propuestas y otras metodologías para la 
web. 
2. NDT (Navigational Development Technique) 
Como se ha comentado, el aspecto de la navegación ha sido tratado en las propuestas 
metodológicas que se mueven en el entorno de la web normalmente en la fase de diseño e 
 
implementación. Algunas propuestas metodológicas como OOHDM[13] o SOHDM[8] 
plantean la necesidad de capturar los requisitos de navegación. Para ello, proponen técnicas 
como los casos de uso o los escenarios para definir las necesidades del sistema. Sin embargo, 
tanto desde el ámbito de estas propuestas como del ámbito de la programación orientada a 
aspectos[10], se han observado ya las ventajas que ofrece el hecho de tratar la navegación 
como un aspecto independiente en el proceso de desarrollo. El problema es que estas 
propuestas separan dicho concepto solo a partir del diseño. NDT plantea separar el aspecto 
de la navegación desde la propia captura de requisitos. Para eso, propone un proceso de 
desarrollo dividido en tres flujos de trabajo: captura y definición de requisitos, análisis de la 
navegación y diseño de la navegación. 
NDT se puede describir como una técnica orientada al proceso puesto que describe qué 
debe hacer el usuario en cada momento del desarrollo. Para ello, divide cada flujo en 
actividades que a su vez se dividen en tareas. Además, NDT está orientada a la técnica 
puesto que describe y ofrece las técnicas a usar en cada paso del ciclo de desarrollo. Y por 
último, también se puede añadir que es una propuesta orientada al producto, puesto que en 
cada momento del ciclo de vida define la estructura de los resultados que deben obtenerse. 
En la tabla número 1 se presenta una visión general del proceso de NDT, las técnicas que 
propone y el resultado a obtener en cada flujo de trabajo. 
 
Proceso de desarrollo Técnicas Productos 
1. Captura de requisitos 
1.1. Definir entorno de trabajo y objetivos 
1.2. Definir e identificar requisitos de almacenamiento 
1.3. Clasificar y definir los actores del sistema 
1.4. Definir e identificar requisitos funcionales 
1.5. Definir e identificar requisitos de interacción 
1.6. Definir e identificar requisitos no funcionales 
 
- Patrones 
- Casos de uso [7] 
- BNL [2] 
 
 
Documento de requisitos 
del sistema 
2. Análisis de la navegación 
2.1. Definir los actores en estudio 
2.2. Definir los nodos 
2.3. Definir los enlaces básicos 
2.4. Definir los índices menú 
2.5. Definir los índices de consulta 
2.6. Definir los índices de selección 
2.7. Obtener el grafo navegacional para cada actor 
 
- Patrones 
- Teoría de grafos 
- Algoritmos de 
análisis 
 
 
Documento de análisis de 
la navegación 
3. Diseño de la navegación 
3.1 Definir el modelo de clases navegacionales 
3.2 Definir los contextos navegacionales 
- Diag. de clases[1] 
- Contextos 
navegacionales [11] 
Documento de diseño de 
la navegación 
Tabla 1: Resumen de NDT 
2.1- Captura de requisitos 
El primer flujo de trabajo es el de la captura de requisitos. En este flujo hay que indicar qué 
requerimientos tiene el sistema. Para ello, se comienza estudiando el entorno de trabajo y 
definiendo los objetivo. Una vez definidos, se pasa a estudiar las necesidades de 
almacenamiento de información. En esta segunda actividad hay que describir qué debe 
guardar el sistema y la estructura que debe tener la información que se guarda. 
Teniendo en cuenta que un sistema de información en la web puede ser muy diferente 
dependiendo de la persona que en cada momento interactúe con el sistema, en la tercera 
actividad se propone hacer un estudio de los posibles usuarios del mismo, clasificando y 
definiendo los roles posibles, sus incompatibilidades y relaciones de herencia. 
La cuarta actividad propone estudiar las necesidades funcionales del sistema, indicando 
qué debe ofrecer el sistema a cada uno de los diferentes roles definidos en la etapa anterior. 
La quinta actividad es sin duda la más relevante para el resto del proceso de desarrollo. En 
ella se deben definir los requisitos de interacción, o lo que es lo mismo, cómo el usuario va a 
 
interactuar con el sistema. Para ello, en una primera tarea hay que definir las frases . Las 
frases describen qué campos son relevantes para cada actor a la hora de recuperar la 
información almacenada y qué criterios de recuperación va a seguir. La segunda tarea 
consiste en definir los prototipos de visualización. Éstos recogen quién va a poder interactuar 
con el sistema, qué información se ve y qué casos de usos se pueden ejecutar en cada 
momento, además de cómo se va a poder navegar en el sistema. Estos prototipos serán la 
base fundamental para el resto del proceso propuesto por NDT. 
La última actividad de este primer flujo consiste en identificar los llamados requisitos no 
funcionales que recogen aspectos como las necesidades de seguridad, eficiencia, etc. 
Para terminar con este breve resumen, indicar que la propuesta de captura de requisitos de 
NDT está orientada en dos caminos diferentes. Por un lado, trata de ser lo suficientemente 
clara para que sea fácilmente entendible porel cliente. Pero por otro lado, debe ofrecer 
resultados concretos y estructurados que sean útiles para el equipo de desarrollo. Por estas 
dos razones, para la definición de los objetivos y requisitos se propone el uso de patrones. Un 
patrón es una tabla con campos definidos que el equipo de desarrollo irá completando junto 
con el cliente. La práctica nos ha demostrado que los patrones son fácilmente entendibles por 
los clientes pero que a la vez ofrecen una descripción estructurada, concisa y detallada para 
el equipo de desarrollo[5]. 
2.2- Análisis de la navegación 
Este segundo flujo de trabajo tiene por objetivo final el definir, a partir de las 
especificaciones realizadas, un modelo de navegación coherente y sin errores. Para ello, parte 
de la definición de los actores y de los prototipos de visualización. La primera actividad del 
análisis consiste en estudiar esos prototipos y los actores definidos para observar qué roles 
tienen un sistema de navegación similar. Los actores con un sistema de navegación similar 
forman parte de un mismo grupo. El resto de actividades de análisis se aplican para cada 
grupo de actores. 
La segunda actividad propone identificar los nodos del sistema. Un nodo es un punto de la 
navegación en el que se ofrece información al usuario. NDT propone una técnica para 
conseguir estos nodos de forma automática a partir de los prototipos. 
En la tercera actividad se identifican lo enlaces, o lo que es lo mismo, las posibilidades de 
navegar de un nodo a otro. 
Siguiendo también un proceso automático, en las tres siguientes actividades se identifican 
los índices. Existen tres tipos de índices: índices menú, se identificarán con menús, 
diccionarios, etc. en el diseño; índices consulta, son puntos en los que el usuario puede 
realizar consultas o debe rellenar una serie de campos para seguir navegando; y por último 
los índices de selección, que son puntos de la navegación en los que el usuario debe 
seleccionar la ruta de navegación de una lista de posibilidades[8]. 
Para realizar todas estas actividades, NDT propone algoritmos y técnicas que permiten 
conseguirla de una manera automática. Al final del flujo, se obtiene una estructura en forma 
de grafo que debe cumplir una serie de métricas marcadas por NDT para asegurar la 
coherencia y corrección del resultado. 
 
2.3- Diseño de la navegación 
En el último flujo, se parte del resultado del análisis para obtener lo que se conoce como 
modelo de navegación. Este modelo se divide a su vez en dos: modelo de clases 
navegacionales y contextos navegacionales. El primero utilizando los conocidos diagramas 
de clases de UML[1], representa los aspectos de la navegación. El segundo, expresa las 
visiones que de este modelo se ofrece dependiendo del punto de la navegación en el que se 
 
encuentre el usuario. También ofrece NDT técnicas propias y sistemáticas para conseguir 
estos modelos a partir de los resultados del análisis. 
El resultado de este flujo, conseguido de forma sistemática en NDT se corresponde con 
modelos similares a los propuestos en algunas metodologías para el desarrollo de sistemas en 
la web como OOHDM o UWE. La idea es que a mediante NDT se consigan es tos modelos 
que servirán como base para continuar el ciclo de vida propuesto en ellas. 
 
3. Conclusiones y trabajos futuros 
Este trabajo plantea la necesidad de ofrecer un proceso que permita tratar el aspecto de la 
navegación de forma independiente desde los primeros momentos del proceso de desarrollo. 
Para ello, ha presentado NDT que se plantea como una técnica que permite conseguir de 
forma sistemática los modelos navegacionales que sirven como base para aplicar otras 
propuestas metodológicas ampliamente aceptadas. 
Para concluir, indicar que NDT es aún un proyecto en desarrollo. Actualmente se está 
desarrollando una herramienta case, NDT-Tool, que dé soporte al proceso de desarrollo. 
Hasta ahora, solo los dos primeros flujos de trabajo se han aplicado a proyectos reales y han 
dado bastantes buenos resultados. 
4. Referencias 
1. G. Booch, J. Rumbaugh, I. Jacobson. Unified Modeling Language User Guide. Ed. Addison-
Wesley, 1999. 
2. N. Brisaboa. M.J. Durán, C. Lalín, J.R. López, J.R. Paramá, .R. Penabad, A.S. Places. 
Arquitectura para Bibliotecas Virtuales , 1999. 
3. O.M.F. De Troyer, C.J. Leune. WSDM: A User Centered Design Method for Web Sites . Tilburg 
University, Infolab. 1997 
4. A. Durán. Un Entorno Metodológico de Ingeniería de Requisitos para Sistemas de Información. 
Departamento de Lenguajes y Sistemas Informáticos. Universidad de Sevilla. Septiembre 2000. 
5. M.J. Escalona. Metodología para el desarrollo de sistemas de información global: análisis 
comparativo y propuesta. Departamento de Lenguajes y Sistemas Informáticos. Universidad de 
Sevilla, Enero 2002. http://www.lsi.us.es/~informes 
6. M.J. Escalona, M. Mejías, J.Torres, A. Reina. NDT: una técnica para el desarrollo de la 
navegación. Congreso Ideas 2002. La Habana, Cuba. Abril de 2002 
7. I. Jacobson. Modeling with use cases-Formalizing use-case modelling. Journal of Object-Oriented 
Programming, June 1995 
8. N. Koch. Software Engineering for Adaptative Hypermedia Applications. Ph. Thesis, Reihe 
Softwaretechnik 12, Uni-Druck Publishing Company, Munich 2001. 
9. H. Lee, C. Lee & C. Yoo. A Scenario-based object-oriented methodology for developing 
hypermedia information systems. Processing of 31st Annual Conference on Systems Science. Eds. 
Sprague R. 
10. A. Reina, J. Torres. Analysing the navigational aspect Second Workshop on Aspect-Oriented 
Software Development. Febrero 2002. Bonn, Alemania. 
11. G. Rossi. An Object Oriented Method for Designing Hipermedia Applications. PHD Thesis, 
Departamento de Informática, PUC-Rio, Brazil, 1996. 
12. Schwabe, D. Rossi, G. A Conference Review System with OOHDM. 1st International Workshop on 
Web-Oriented Software Technology. Valencia, Junio 2001 
13. P. Vilain, D.Schwabe, C. Sieckenius. A diagrammatic Tool for Representing User Interaction in 
UML. Lecture Notes in Computer Science. Forthcoming. Proc. UML’2000. York, 2000.

Continuar navegando